@ceraph/react-native-mcp 0.4.5 → 0.4.6

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.

Potentially problematic release.


This version of @ceraph/react-native-mcp might be problematic. Click here for more details.

package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const _0xf8ecb6=_0xc050;(function(_0xc87e70,_0x39c5dc){const _0x233903=_0xc050,_0x4105bc=_0xc87e70();while(!![]){try{const _0x22039d=-parseInt(_0x233903(0x650))/0x1*(parseInt(_0x233903(0x424))/0x2)+parseInt(_0x233903(0x728))/0x3*(-parseInt(_0x233903(0x935))/0x4)+-parseInt(_0x233903(0x664))/0x5*(parseInt(_0x233903(0xb0e))/0x6)+-parseInt(_0x233903(0x798))/0x7*(-parseInt(_0x233903(0x6ba))/0x8)+-parseInt(_0x233903(0x304))/0x9+parseInt(_0x233903(0x923))/0xa*(-parseInt(_0x233903(0x7e2))/0xb)+parseInt(_0x233903(0x675))/0xc;if(_0x22039d===_0x39c5dc)break;else _0x4105bc['push'](_0x4105bc['shift']());}catch(_0xa6d2b6){_0x4105bc['push'](_0x4105bc['shift']());}}}(_0x3e88,0x26ba7));import{createRequire as _0x57c4ae}from'module';import{join as _0x232ea9}from'path';import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{z as _0x344f4d}from'zod';import{spawn}from'child_process';import{writeFile,access}from'fs/promises';import{join}from'path';var _0x5ec8f6=/^(.+?):(\d+):(\d+):\s*(error|warning|note):\s*(.+)$/,_0x6dae94=[_0xf8ecb6(0x69d),'**\x20BUILD\x20FAILED\x20**','xcodebuild:\x20error:','❌'],_0x55f049=/^(ld|clang):\s*(error|warning):\s*(.+)$/,_0x5ccdde=/^Undefined symbols? for architecture .+:\s*"(.+)"/,_0x5b335e=/^\[!\]\s*(.+)$/,_0x2094e8=/^(Error|TypeError|ReferenceError|SyntaxError|RangeError):\s*(.+)$/,_0x132cc2=/Unable to resolve module ['"](.+?)['"]/,_0x11406f=/Metro has encountered an error/,_0x24d68b=/^(ERROR|console\.error)\s*(.+)$/i,_0x21b248=/Invariant Violation:\s*(.+)/,_0x2d1d38=/Unhandled JS Exception:\s*(.+)/,_0x129dbd=/ExceptionsManager\.js/;function _0x3d0135(_0x5cdd35){const _0x6c956c=_0xf8ecb6,_0x244f83=_0x5cdd35[_0x6c956c(0x2f3)](_0x5ec8f6);if(_0x244f83)return _0x6c956c(0x5c7)===_0x6c956c(0x54d)?null:{'file':_0x244f83[0x1],'line':parseInt(_0x244f83[0x2],0xa),'column':parseInt(_0x244f83[0x3],0xa),'message':_0x244f83[0x5],'severity':_0x244f83[0x4],'type':_0x6c956c(0xb1a)};return null;}function _0xebb564(_0x3c16b3){const _0x3fd6e3=_0xf8ecb6,_0x1cf666=_0x3c16b3[_0x3fd6e3(0x2f3)](_0x55f049);if(_0x1cf666)return{'file':'','line':0x0,'column':0x0,'message':_0x1cf666[0x3],'severity':_0x1cf666[0x2],'type':'link'};const _0x19795d=_0x3c16b3['match'](_0x5ccdde);if(_0x19795d)return{'file':'','line':0x0,'column':0x0,'message':_0x3fd6e3(0x830)+_0x19795d[0x1],'severity':_0x3fd6e3(0x3dd),'type':'link'};return null;}var _0x49cafc=/\b(cdn|trunk|repo update|overrides the|setting defined in|deprecated|recommends|should)\b/i;function _0x5c38b7(_0x1cd2ed){const _0x4211e9=_0xf8ecb6,_0x2166bb=_0x1cd2ed['match'](_0x5b335e);if(!_0x2166bb)return null;const _0xc83c66=_0x2166bb[0x1],_0x590d6d=_0x49cafc[_0x4211e9(0x8aa)](_0xc83c66);return{'file':_0x4211e9(0xb09),'line':0x0,'column':0x0,'message':_0xc83c66,'severity':_0x590d6d?_0x4211e9(0x696):_0x4211e9(0x3dd),'type':'pod'};}function _0x330670(_0x54eaf6){const _0x43073b=_0xf8ecb6,_0x101de1=[],_0x1cccd9=[];let _0x52d04f=![],_0x398a75=null,_0x446070=0x0;const _0x5ba565=0x3;for(const _0x5462b9 of _0x54eaf6){const _0x403638=_0x5462b9['trim']();if(!_0x403638){_0x398a75=null,_0x446070=0x0;continue;}_0x6dae94[_0x43073b(0x275)](_0x324d04=>_0x403638[_0x43073b(0x27e)](_0x324d04))&&(_0x52d04f=!![]);const _0x2cb0aa=_0x3d0135(_0x403638);if(_0x2cb0aa){_0x2cb0aa['severity']===_0x43073b(0x3dd)?(_0x101de1[_0x43073b(0x4d1)](_0x2cb0aa),_0x398a75=_0x2cb0aa,_0x446070=0x0):_0x1cccd9[_0x43073b(0x4d1)]({'message':_0x2cb0aa['message'],'source':_0x2cb0aa[_0x43073b(0x448)]+':'+_0x2cb0aa[_0x43073b(0x397)]+':'+_0x2cb0aa['column']});continue;}const _0x21bc46=_0xebb564(_0x403638);if(_0x21bc46){_0x21bc46[_0x43073b(0x762)]===_0x43073b(0x696)?_0x1cccd9['push']({'message':_0x21bc46[_0x43073b(0x531)],'source':'linker'}):_0x101de1[_0x43073b(0x4d1)](_0x21bc46);_0x398a75=_0x21bc46,_0x446070=0x0;continue;}const _0x1841a6=_0x5c38b7(_0x403638);if(_0x1841a6){if('PDagQ'!==_0x43073b(0x43a))this['asyncStorageReadBuffer']['shift']();else{_0x1841a6[_0x43073b(0x762)]===_0x43073b(0x696)?_0x1cccd9['push']({'message':_0x1841a6[_0x43073b(0x531)],'source':'CocoaPods'}):(_0x101de1['push'](_0x1841a6),_0x398a75=_0x1841a6,_0x446070=0x0);continue;}}_0x398a75&&_0x446070<_0x5ba565&&(_0x398a75['message']+='\x0a'+_0x403638,_0x446070++);}return{'errors':_0x101de1,'warnings':_0x1cccd9,'buildFailed':_0x52d04f};}var _0xbd54e0=class{['currentStack']=[];['currentErrorMessage']='';['inStackTrace']=![];['currentKind']='metro-error';[_0xf8ecb6(0x981)](_0xbcacda){const _0x384b77=_0xf8ecb6,_0xcbf6b1=[],_0x5cb34e=[],_0x425ac0=_0x1ed32e=>{const _0x1af862=_0xc050;this['currentErrorMessage']&&(_0x1ed32e[_0x1af862(0x4d1)]({'message':this[_0x1af862(0x709)],'stack':this[_0x1af862(0x4f2)][_0x1af862(0x4ec)]('\x0a'),'timestamp':new Date()['toISOString'](),'kind':this['currentKind']}),this[_0x1af862(0x709)]='',this[_0x1af862(0x4f2)]=[],this['inStackTrace']=![],this['currentKind']=_0x1af862(0x87f));};for(const _0x32af46 of _0xbcacda){const _0x2ad5a5=_0x32af46[_0x384b77(0x668)](),_0x2e1253=_0x2ad5a5[_0x384b77(0x2f3)](_0x132cc2);if(_0x2e1253){_0x425ac0(_0xcbf6b1),_0xcbf6b1['push']({'message':'Unable\x20to\x20resolve\x20module\x20\x27'+_0x2e1253[0x1]+'\x27','stack':_0x2ad5a5,'timestamp':new Date()['toISOString'](),'kind':'metro-error'});continue;}if(_0x11406f['test'](_0x2ad5a5)){_0x425ac0(_0xcbf6b1),this['currentErrorMessage']='Metro\x20has\x20encountered\x20an\x20error',this['inStackTrace']=!![];continue;}const _0x4a355a=_0x2ad5a5[_0x384b77(0x2f3)](_0x21b248);if(_0x4a355a){_0x425ac0(_0xcbf6b1),this[_0x384b77(0x709)]=_0x384b77(0x619)+_0x4a355a[0x1],this[_0x384b77(0xabc)]=!![];continue;}const _0x4e993e=_0x2ad5a5[_0x384b77(0x2f3)](_0x2d1d38);if(_0x4e993e){_0x425ac0(_0xcbf6b1),this['currentErrorMessage']='Unhandled\x20JS\x20Exception:\x20'+_0x4e993e[0x1],this[_0x384b77(0xabc)]=!![];continue;}const _0x3c9a2e=_0x2ad5a5['match'](_0x2094e8);if(_0x3c9a2e){_0x425ac0(_0xcbf6b1),this['currentErrorMessage']=_0x3c9a2e[0x1]+':\x20'+_0x3c9a2e[0x2],this[_0x384b77(0xabc)]=!![];continue;}const _0x3c0832=_0x2ad5a5[_0x384b77(0x2f3)](_0x24d68b);if(_0x3c0832){_0x425ac0(_0xcbf6b1),this['currentErrorMessage']=_0x3c0832[0x2],this[_0x384b77(0x75f)]=_0x384b77(0x858),this[_0x384b77(0xabc)]=!![];continue;}_0x129dbd[_0x384b77(0x8aa)](_0x2ad5a5)&&(!this[_0x384b77(0x709)]&&(this[_0x384b77(0x709)]=_0x384b77(0x25f)),this['inStackTrace']=!![]);if(this['inStackTrace']){if(_0x2ad5a5[_0x384b77(0x746)]('at\x20')||_0x2ad5a5[_0x384b77(0x746)]('in\x20')||/^\s+at\s/[_0x384b77(0x8aa)](_0x32af46)||/^\d+\s*\|/[_0x384b77(0x8aa)](_0x2ad5a5)){this[_0x384b77(0x4f2)]['push'](_0x2ad5a5);continue;}else{if(_0x2ad5a5===''){_0x425ac0(_0xcbf6b1);continue;}else{this[_0x384b77(0x4f2)][_0x384b77(0x4d1)](_0x2ad5a5);continue;}}}(/^warn\s/i[_0x384b77(0x8aa)](_0x2ad5a5)||/\(WARN\)/['test'](_0x2ad5a5))&&_0x5cb34e['push']({'message':_0x2ad5a5[_0x384b77(0x42e)](/^warn\s*/i,'')['replace'](/\(WARN\)\s*/,''),'source':_0x384b77(0x6f4)});}return{'runtimeErrors':_0xcbf6b1,'warnings':_0x5cb34e};}[_0xf8ecb6(0x45d)](){const _0x1f734b=_0xf8ecb6,_0x5e8ece=[];return this[_0x1f734b(0x709)]&&(_0x5e8ece[_0x1f734b(0x4d1)]({'message':this[_0x1f734b(0x709)],'stack':this['currentStack']['join']('\x0a'),'timestamp':new Date()['toISOString'](),'kind':this['currentKind']}),this['currentErrorMessage']='',this['currentStack']=[],this[_0x1f734b(0xabc)]=![],this[_0x1f734b(0x75f)]=_0x1f734b(0x87f)),{'runtimeErrors':_0x5e8ece,'warnings':[]};}};function _0x58bf9c(_0x2c0808){const _0x23b365=_0xf8ecb6,_0x32c7f6=new _0xbd54e0(),_0x298aaf=_0x32c7f6[_0x23b365(0x981)](_0x2c0808),_0x52008f=_0x32c7f6[_0x23b365(0x45d)]();return{'runtimeErrors':[..._0x298aaf[_0x23b365(0x349)],..._0x52008f['runtimeErrors']],'warnings':[..._0x298aaf[_0x23b365(0x7a8)],..._0x52008f[_0x23b365(0x7a8)]]};}function _0xb4a0ad(_0x4b5f11){const _0x4ff7db=_0xf8ecb6,_0x3f3209=_0x4b5f11['trim']()[_0x4ff7db(0x5b5)]();if(_0x3f3209['startsWith']('error')||_0x3f3209['includes']('console.error')||_0x3f3209[_0x4ff7db(0x746)]('❌')||/^\s*error\s*:/i['test'](_0x4b5f11))return _0x4ff7db(0x3dd);if(_0x3f3209[_0x4ff7db(0x746)](_0x4ff7db(0xb20))||_0x3f3209['includes'](_0x4ff7db(0x9d6))||_0x3f3209['includes'](_0x4ff7db(0x5ce))||/^\s*warning\s*:/i['test'](_0x4b5f11))return _0x4ff7db(0xb20);return'log';}var _0x989afa=class{['buildProcess']=null;[_0xf8ecb6(0x659)]=null;[_0xf8ecb6(0x956)]=![];['metroKilled']=![];[_0xf8ecb6(0x81a)]=[];['metroOutput']=[];[_0xf8ecb6(0xa08)]=[];[_0xf8ecb6(0x349)]=[];['buildWarnings']=[];['metroWarnings']=[];[_0xf8ecb6(0x2db)]=new _0xbd54e0();['MAX_BUILD_LINES']=0x3e8;['MAX_METRO_LINES']=0x1f4;[_0xf8ecb6(0x903)]=0x64;[_0xf8ecb6(0x7f5)];[_0xf8ecb6(0x7c6)];constructor(_0x59a13a){const _0x1e25e6=_0xf8ecb6;this['cwd']=_0x59a13a,this[_0x1e25e6(0x7c6)]=join(_0x59a13a,_0x1e25e6(0x383));}async['detectProjectType'](){const _0x12d9c9=_0xf8ecb6;try{const _0x4e7749=join(this['cwd'],_0x12d9c9(0x8fb));await access(_0x4e7749);const _0x599f18=JSON['parse'](await(await import('fs/promises'))['readFile'](_0x4e7749,_0x12d9c9(0x827)));if(_0x599f18['expo'])return _0x12d9c9(0xadf)!==_0x12d9c9(0x7bc)?!![]:{'ok':![],'error':'VideoRecorder\x20already\x20stopped;\x20construct\x20a\x20fresh\x20recorder.'};}catch{}try{const _0x188875=join(this[_0x12d9c9(0x7f5)],'package.json'),_0x5dfa47=JSON[_0x12d9c9(0x981)](await(await import(_0x12d9c9(0x330)))[_0x12d9c9(0x4e4)](_0x188875,'utf-8'));if(_0x5dfa47['dependencies']?.[_0x12d9c9(0x982)])return!![];}catch{}return![];}async[_0xf8ecb6(0x5e3)](_0x4fac10){const _0x3a100e=_0xf8ecb6;try{await writeFile(this['errorFilePath'],JSON['stringify']({'timestamp':new Date()['toISOString'](),'errors':_0x4fac10[_0x3a100e(0x86b)](_0x14b562=>({'message':_0x14b562['message'],'stack':_0x14b562['stack'],'timestamp':_0x14b562[_0x3a100e(0x684)],'kind':_0x14b562[_0x3a100e(0xb14)]??_0x3a100e(0x87f),..._0x14b562[_0x3a100e(0x269)]!==void 0x0?{'url':_0x14b562['url']}:{},..._0x14b562[_0x3a100e(0x428)]!==void 0x0?{'status':_0x14b562['status']}:{},..._0x14b562['method']!==void 0x0?{'method':_0x14b562[_0x3a100e(0x33a)]}:{},..._0x14b562[_0x3a100e(0x270)]!==void 0x0?{'durationMs':_0x14b562['durationMs']}:{},..._0x14b562[_0x3a100e(0xa9a)]!==void 0x0?{'elementKey':_0x14b562['elementKey']}:{},..._0x14b562['prevText']!==void 0x0?{'prevText':_0x14b562[_0x3a100e(0x9a5)]}:{},..._0x14b562['nextText']!==void 0x0?{'nextText':_0x14b562[_0x3a100e(0x92a)]}:{}}))},null,0x2),_0x3a100e(0x827));}catch{}}async[_0xf8ecb6(0x564)](_0x48774d){const _0x3db681=_0xf8ecb6;this['runtimeErrors'][_0x3db681(0x4d1)](_0x48774d),this['capErrors'](this['runtimeErrors']),await this['writeErrorFile'](this[_0x3db681(0x349)]);}async[_0xf8ecb6(0x3a9)](){const _0x166bd5=_0xf8ecb6;try{await writeFile(this['errorFilePath'],JSON['stringify']({'timestamp':new Date()['toISOString'](),'errors':[]}),_0x166bd5(0x827));}catch{}}[_0xf8ecb6(0x2e0)](_0x3ecb6e,_0x1a4acc,_0x5cacd1){const _0x178a10=_0xf8ecb6;_0x3ecb6e['push'](_0x1a4acc),_0x3ecb6e[_0x178a10(0x3b7)]>_0x5cacd1&&_0x3ecb6e['splice'](0x0,_0x3ecb6e[_0x178a10(0x3b7)]-_0x5cacd1);}['capErrors'](_0x58853f){const _0x23ecdb=_0xf8ecb6;_0x58853f[_0x23ecdb(0x3b7)]>this[_0x23ecdb(0x903)]&&_0x58853f['splice'](0x0,_0x58853f['length']-this[_0x23ecdb(0x903)]);}async['killProcess'](_0x586fac){return new Promise(_0x619d58=>{const _0x58f1e8=_0xc050;if(!_0x586fac['pid']||_0x586fac['exitCode']!==null){_0x619d58();return;}let _0x58c999=null;const _0x2fa18c=setTimeout(()=>{const _0xf8b922=_0xc050;try{_0x586fac[_0xf8b922(0x6ee)](_0xf8b922(0x58f));}catch{}_0x58c999=setTimeout(()=>{_0x586fac['off']('exit',_0x18b6b9),_0x619d58();},0x7d0);},0x1388),_0x18b6b9=()=>{clearTimeout(_0x2fa18c);if(_0x58c999)clearTimeout(_0x58c999);_0x619d58();};_0x586fac[_0x58f1e8(0x6b8)]('exit',_0x18b6b9);try{_0x586fac[_0x58f1e8(0x6ee)]('SIGTERM');}catch{_0x586fac[_0x58f1e8(0x411)]('exit',_0x18b6b9),clearTimeout(_0x2fa18c),_0x619d58();return;}_0x586fac['exitCode']!==null&&(_0x586fac[_0x58f1e8(0x411)](_0x58f1e8(0x68c),_0x18b6b9),clearTimeout(_0x2fa18c),_0x619d58());});}[_0xf8ecb6(0x6c4)](){return new Promise(_0x11c1f6=>{const _0x531e16=_0xc050,_0x3a4f9f=[],_0xbf31a7=spawn(_0x531e16(0x484),[_0x531e16(0x982),_0x531e16(0x45a),'--clean'],{'cwd':this[_0x531e16(0x7f5)],'stdio':[_0x531e16(0x9fa),'pipe',_0x531e16(0x9e1)]}),_0x47d580=_0x39735c=>{const _0x5ea323=_0x531e16,_0x5a559f=_0x39735c['toString']();for(const _0x45d788 of _0x5a559f['split']('\x0a')){if(_0x45d788[_0x5ea323(0x668)]())_0x3a4f9f[_0x5ea323(0x4d1)](_0x45d788);}};_0xbf31a7[_0x531e16(0x790)]?.['on'](_0x531e16(0x78f),_0x47d580),_0xbf31a7[_0x531e16(0x910)]?.['on'](_0x531e16(0x78f),_0x47d580);let _0xdd418=![];_0xbf31a7['on']('error',_0x40c8ed=>{const _0x5291df=_0x531e16;if(_0xdd418)return;_0xdd418=!![],_0x11c1f6({'success':![],'output':_0x5291df(0xa76)+_0x40c8ed['message']});}),_0xbf31a7['on']('exit',_0x11eb78=>{const _0x28e5a9=_0x531e16;if(_0xdd418)return;_0xdd418=!![],_0x11c1f6({'success':_0x11eb78===0x0,'output':_0x3a4f9f[_0x28e5a9(0x4ec)]('\x0a')});});});}async['runBuild'](_0x1b8d12={}){const _0x5e9cba=_0xf8ecb6,_0x1254f0=await this[_0x5e9cba(0x72f)]();this[_0x5e9cba(0x402)]&&(this[_0x5e9cba(0x956)]=!![],await this[_0x5e9cba(0x2e1)](this[_0x5e9cba(0x402)]),this[_0x5e9cba(0x402)]=null);this[_0x5e9cba(0x956)]=![],this[_0x5e9cba(0x81a)]=[],this[_0x5e9cba(0xa08)]=[],this['buildWarnings']=[];if(_0x1b8d12[_0x5e9cba(0xa2d)]){if(!_0x1254f0)return{'success':![],'errors':[{'file':'','line':0x0,'message':'prebuild\x20--clean\x20is\x20only\x20available\x20for\x20Expo\x20projects.','type':'build'}],'warnings':[],'output':''};const _0x597589=await this[_0x5e9cba(0x6c4)]();if(!_0x597589['success']){if('qMevG'!=='SeLqA')return{'success':![],'errors':[{'file':'','line':0x0,'message':_0x5e9cba(0x949)+_0x597589['output'],'type':'build'}],'warnings':[],'output':_0x597589['output']};else{_0x395a67=_0x618365;const _0x4fc221=_0x5b70b4(_0x326c5b);if(_0x5eb255(_0x5dbd7a,_0x4fc221,_0x5268d4[_0x5e9cba(0x360)]))return null;}}for(const _0x4c9f56 of _0x597589[_0x5e9cba(0x9e9)][_0x5e9cba(0x51a)]('\x0a')){this['pushLine'](this[_0x5e9cba(0x81a)],_0x4c9f56,this['MAX_BUILD_LINES']);}}const _0x12bd0f=_0x1254f0?[_0x5e9cba(0x982),_0x5e9cba(0xb23)]:[_0x5e9cba(0x9f5),_0x5e9cba(0xa94)];return _0x1b8d12['device']&&_0x12bd0f[_0x5e9cba(0x4d1)](_0x1254f0?_0x5e9cba(0x68f):_0x5e9cba(0x6d9),_0x1b8d12[_0x5e9cba(0xad2)]),new Promise(_0x5c3e40=>{const _0xe6fb22=_0x5e9cba,_0x3536f1=spawn('npx',_0x12bd0f,{'cwd':this[_0xe6fb22(0x7f5)],'stdio':['ignore','pipe',_0xe6fb22(0x9e1)]});this[_0xe6fb22(0x402)]=_0x3536f1;const _0x1a9443=_0x1434ba=>{const _0x3e1d18=_0xe6fb22,_0x1e94b7=_0x1434ba[_0x3e1d18(0xafa)]();for(const _0x127b4d of _0x1e94b7[_0x3e1d18(0x51a)]('\x0a')){_0x127b4d['trim']()&&this['pushLine'](this[_0x3e1d18(0x81a)],_0x127b4d,this['MAX_BUILD_LINES']);}};_0x3536f1['stdout']?.['on']('data',_0x1a9443),_0x3536f1['stderr']?.['on'](_0xe6fb22(0x78f),_0x1a9443);let _0x30a095=![];_0x3536f1['on'](_0xe6fb22(0x3dd),_0x121eab=>{const _0xdadd20=_0xe6fb22;if(_0x30a095)return;_0x30a095=!![],this[_0xdadd20(0x402)]=null,_0x5c3e40({'success':![],'errors':[{'file':'','line':0x0,'message':'Failed\x20to\x20spawn\x20'+(_0x1254f0?'expo\x20run:ios':'react-native\x20run-ios')+':\x20'+_0x121eab['message'],'type':_0xdadd20(0xb1a)}],'warnings':[],'output':this['buildOutput']['join']('\x0a')});}),_0x3536f1['on']('exit',_0x543041=>{const _0x4c7179=_0xe6fb22;if(_0x30a095)return;_0x30a095=!![],this[_0x4c7179(0x402)]=null;if(this['buildKilled']){if('XCFmz'!=='XCFmz')void this[_0x4c7179(0xad4)][_0x4c7179(0x95e)]()['catch'](()=>void 0x0);else{_0x5c3e40({'success':![],'errors':[],'warnings':[],'output':'Build\x20was\x20cancelled.'});return;}}const _0x52dc9b=_0x330670(this[_0x4c7179(0x81a)]);this[_0x4c7179(0xa08)]=_0x52dc9b['errors'],this['buildWarnings']=_0x52dc9b[_0x4c7179(0x7a8)],this[_0x4c7179(0x541)](this[_0x4c7179(0xa08)]);const _0xc2b7cc=_0x543041===0x0&&!_0x52dc9b['buildFailed'];_0x5c3e40({'success':_0xc2b7cc,'errors':_0x52dc9b['errors']['map'](_0x517cb2=>({'file':_0x517cb2['file'],'line':_0x517cb2['line'],'message':_0x517cb2['message'],'type':_0x517cb2[_0x4c7179(0x45e)]})),'warnings':_0x52dc9b['warnings'],'output':this[_0x4c7179(0x81a)]['slice'](-0x64)[_0x4c7179(0x4ec)]('\x0a')});});});}async[_0xf8ecb6(0x1fd)](_0x4f8c39={}){const _0x3d38dd=_0xf8ecb6,_0x1cad27=await this[_0x3d38dd(0x72f)]();this[_0x3d38dd(0x659)]&&(this['metroKilled']=!![],await this[_0x3d38dd(0x2e1)](this[_0x3d38dd(0x659)]),this['metroProcess']=null);this[_0x3d38dd(0x92e)]=![],this['metroOutput']=[],this['runtimeErrors']=[],this['metroWarnings']=[],this['metroParser']=new _0xbd54e0();const _0x249954=_0x1cad27?['expo',_0x3d38dd(0x5cf),_0x3d38dd(0xb11)]:[_0x3d38dd(0x9f5),'start'];if(_0x4f8c39[_0x3d38dd(0x21a)]){if(_0x3d38dd(0x543)!=='YqoID')_0x249954[_0x3d38dd(0x4d1)]('--port',String(_0x4f8c39['port']));else return{'ok':![],'reason':'wda-not-ready','error':_0x3d38dd(0x653)+_0x5ce60d['summary']+'.','remediation':_0x39e362[_0x3d38dd(0x638)]};}return _0x4f8c39['clear']&&_0x249954[_0x3d38dd(0x4d1)](_0x1cad27?'--clear':'--reset-cache'),await this['clearErrorFile'](),new Promise(_0xbcc853=>{const _0xbc45db=_0x3d38dd,_0x30ccf0=spawn(_0xbc45db(0x484),_0x249954,{'cwd':this[_0xbc45db(0x7f5)],'stdio':[_0xbc45db(0x9fa),'pipe','pipe']});this['metroProcess']=_0x30ccf0;let _0x26fa95=![];const _0x21fed6=_0x2f91ad=>{const _0x3e534b=_0xbc45db,_0x3b40eb=_0x2f91ad[_0x3e534b(0xafa)](),_0x7a4456=[];for(const _0x1aac6f of _0x3b40eb['split']('\x0a')){_0x1aac6f['trim']()&&(this['pushLine'](this[_0x3e534b(0x6a5)],_0x1aac6f,this[_0x3e534b(0xadb)]),_0x7a4456['push'](_0x1aac6f));}if(_0x7a4456[_0x3e534b(0x3b7)]>0x0){const _0x21b21b=this[_0x3e534b(0x2db)][_0x3e534b(0x981)](_0x7a4456);if(_0x21b21b[_0x3e534b(0x349)]['length']>0x0){if(_0x3e534b(0x81e)==='FrAZl')this['runtimeErrors']['push'](..._0x21b21b[_0x3e534b(0x349)]),this[_0x3e534b(0x541)](this[_0x3e534b(0x349)]),this['writeErrorFile'](this[_0x3e534b(0x349)]);else try{_0x1aab61=this['bootSource'][_0x3e534b(0x5c4)]();}catch{_0x38fb7d=void 0x0;}}_0x21b21b[_0x3e534b(0x7a8)]['length']>0x0&&this[_0x3e534b(0x3ec)]['push'](..._0x21b21b['warnings']);}!_0x26fa95&&_0x3b40eb['includes'](_0x3e534b(0x515))&&(_0x26fa95=!![],_0xbcc853({'success':!![],'message':'Metro\x20dev\x20server\x20started\x20successfully.'}));};_0x30ccf0['stdout']?.['on'](_0xbc45db(0x78f),_0x21fed6),_0x30ccf0['stderr']?.['on']('data',_0x21fed6),_0x30ccf0['on'](_0xbc45db(0x3dd),_0x7abec3=>{const _0x87da3c=_0xbc45db;this['metroProcess']=null,!_0x26fa95&&(_0x26fa95=!![],_0xbcc853({'success':![],'message':_0x87da3c(0x9f1)+_0x7abec3[_0x87da3c(0x531)]}));}),_0x30ccf0['on']('exit',_0xf8a31d=>{const _0x116b22=_0xbc45db;this[_0x116b22(0x659)]=null;const _0xa30349=this['metroParser']['flush']();_0xa30349[_0x116b22(0x349)][_0x116b22(0x3b7)]>0x0&&(this['runtimeErrors'][_0x116b22(0x4d1)](..._0xa30349['runtimeErrors']),this['capErrors'](this[_0x116b22(0x349)]),this[_0x116b22(0x5e3)](this[_0x116b22(0x349)]));if(this['metroKilled']){!_0x26fa95&&(_0x26fa95=!![],_0xbcc853({'success':![],'message':'Metro\x20was\x20cancelled.'}));return;}!_0x26fa95&&(_0x26fa95=!![],_0xbcc853({'success':![],'message':'Metro\x20exited\x20unexpectedly\x20with\x20code\x20'+_0xf8a31d+'.'}));}),setTimeout(()=>{!_0x26fa95&&(_0x26fa95=!![],_0xbcc853({'success':!![],'message':'Metro\x20process\x20started\x20but\x20has\x20not\x20confirmed\x20readiness\x20yet.\x20It\x20may\x20still\x20be\x20initializing.\x20Use\x20rn_get_console\x20to\x20check.'}));},0x7530);});}['getErrors'](){const _0x5b381a=_0xf8ecb6,_0x2d4b0d=this[_0x5b381a(0x659)]===null?_0x58bf9c(this[_0x5b381a(0x6a5)]):{'runtimeErrors':[],'warnings':[]};return{'buildErrors':this['buildErrors']['map'](_0x1468a1=>({'file':_0x1468a1['file'],'line':_0x1468a1[_0x5b381a(0x397)],'column':_0x1468a1[_0x5b381a(0x5ab)],'message':_0x1468a1[_0x5b381a(0x531)],'severity':_0x1468a1[_0x5b381a(0x762)],'type':_0x1468a1['type']})),'runtimeErrors':this['runtimeErrors'][_0x5b381a(0x3b7)]>0x0?this['runtimeErrors']:_0x2d4b0d[_0x5b381a(0x349)],'warnings':[...this['buildWarnings'],...this[_0x5b381a(0x3ec)]]};}[_0xf8ecb6(0x7c5)](_0x50d561={}){const _0x3f5a92=_0xf8ecb6,{lines:lines=0x32,level:level='all'}=_0x50d561;let _0x9a5466=this[_0x3f5a92(0x6a5)];return level!=='all'&&(_0x9a5466=_0x9a5466[_0x3f5a92(0x529)](_0x45faa7=>{const _0x2732f3=_0xb4a0ad(_0x45faa7);return _0x2732f3===level;})),_0x9a5466[_0x3f5a92(0x795)](-lines);}async[_0xf8ecb6(0x95f)](){const _0x5552bf=_0xf8ecb6,_0x3c6b76=[];return this[_0x5552bf(0x402)]&&(this['buildKilled']=!![],await this[_0x5552bf(0x2e1)](this['buildProcess']),this[_0x5552bf(0x402)]=null,_0x3c6b76[_0x5552bf(0x4d1)]('build')),this[_0x5552bf(0x659)]&&(this[_0x5552bf(0x92e)]=!![],await this['killProcess'](this[_0x5552bf(0x659)]),this[_0x5552bf(0x659)]=null,_0x3c6b76['push']('metro')),_0x3c6b76;}['getBuildOutput'](){return[...this['buildOutput']];}['getMetroOutput'](){const _0x4e3306=_0xf8ecb6;return[...this[_0x4e3306(0x6a5)]];}};import{spawn as _0x465825}from'child_process';import{access as _0x480e06,readdir,readFile}from'fs/promises';import{join as _0x20ed6e}from'path';async function _0x10f2b2(_0x2d7e16){try{return await readFile(_0x2d7e16,'utf-8');}catch{return null;}}async function _0x2f0e95(_0x16cd92){const _0x390d8a=_0xf8ecb6,_0x2ff41a=_0x20ed6e(_0x16cd92,_0x390d8a(0x714),_0x390d8a(0x94f),'expo');try{await _0x480e06(_0x2ff41a);}catch{return null;}return new Promise(_0x492f56=>{const _0x4e1f4c=_0x390d8a;let _0x49a276='',_0x1d47e8;try{if(_0x4e1f4c(0x841)!==_0x4e1f4c(0x550))_0x1d47e8=_0x465825(_0x2ff41a,[_0x4e1f4c(0x2f7),'--json'],{'cwd':_0x16cd92,'stdio':[_0x4e1f4c(0x9fa),_0x4e1f4c(0x9e1),'pipe']});else{if(!_0x55907c||_0x1f3cfb[_0x4e1f4c(0x3b7)]===0x0)return _0x542d92;const _0x3ec1f9=_0x11781b(_0x428b95)?_0x21a822:_0x1aa06d(_0x2d1373,_0x5b5e0f),_0x24903d=_0x2269b1(_0xa40ea4,_0x3ec1f9),_0x199fa5=_0x24903d===''||_0x24903d!=='..'&&!_0x24903d[_0x4e1f4c(0x746)]('..'+_0x10137e)&&!_0x23f8fd(_0x24903d);return _0x199fa5?_0x224b73:_0x3ec1f9;}}catch{_0x492f56(null);return;}let _0x4f33df=![];const _0x30f5bf=_0x262b8e=>{if(_0x4f33df)return;_0x4f33df=!![],clearTimeout(_0x39e131),_0x492f56(_0x262b8e);},_0x39e131=setTimeout(()=>{const _0x225753=_0x4e1f4c;try{_0x1d47e8[_0x225753(0x6ee)]('SIGKILL');}catch{}_0x30f5bf(null);},0x3a98);_0x1d47e8[_0x4e1f4c(0x790)]?.['on'](_0x4e1f4c(0x78f),_0x4a47ea=>{const _0x523306=_0x4e1f4c;if(_0x523306(0xa20)===_0x523306(0xa20))_0x49a276+=_0x4a47ea['toString']();else return!![];}),_0x1d47e8['on'](_0x4e1f4c(0x3dd),()=>_0x30f5bf(null)),_0x1d47e8['on']('exit',_0x11e07f=>_0x30f5bf(_0x11e07f===0x0?_0x49a276:null));});}async function _0x54a67b(_0x4b00be){const _0x23ef71=_0xf8ecb6;let _0x21066c=null;try{const _0x37de6d=_0x20ed6e(_0x4b00be,_0x23ef71(0x6c9)),_0x23e10c=await readdir(_0x37de6d),_0x305d5a=_0x23e10c['find'](_0x42ff0b=>_0x42ff0b[_0x23ef71(0xaa5)]('.xcodeproj'));if(_0x305d5a)_0x21066c=_0x20ed6e(_0x37de6d,_0x305d5a);}catch{return null;}if(!_0x21066c)return null;return new Promise(_0x5049e3=>{const _0x3c26e6=_0x23ef71;let _0x47abea='',_0x445a03;try{_0x445a03=_0x465825('xcodebuild',['-showBuildSettings',_0x3c26e6(0x9b2),_0x3c26e6(0x919),_0x21066c],{'cwd':_0x4b00be,'stdio':[_0x3c26e6(0x9fa),'pipe','ignore']});}catch{_0x5049e3(null);return;}let _0x3ea21a=![];const _0x1a2590=_0x403323=>{if(_0x3ea21a)return;_0x3ea21a=!![],clearTimeout(_0xab7d0c),_0x5049e3(_0x403323);},_0xab7d0c=setTimeout(()=>{try{_0x445a03['kill']('SIGKILL');}catch{}_0x1a2590(null);},0x7530);_0x445a03['stdout']?.['on']('data',_0x4dc930=>{_0x47abea+=_0x4dc930['toString']();}),_0x445a03['on'](_0x3c26e6(0x3dd),()=>_0x1a2590(null)),_0x445a03['on']('exit',()=>{const _0x37b066=_0x3c26e6;_0x37b066(0x7f9)==='uBnBG'?_0x1a2590(_0x47abea[_0x37b066(0x668)]()['length']>0x0?_0x47abea:null):_0x249d1d[_0x37b066(0x93e)](_0x172b04[_0x37b066(0x930)],_0xb0aab3(_0x59cdb7,_0x4cf3fb));});});}var _0x4d4d3d={'readFileUtf8':_0x10f2b2,'runExpoConfig':_0x2f0e95,'runXcodeBuildSettings':_0x54a67b};function _0x21cbc9(_0x4e6bdc){const _0x408dc6=_0xf8ecb6;if(typeof _0x4e6bdc!=='string')return null;const _0x5f3c70=_0x4e6bdc['trim']();return _0x5f3c70[_0x408dc6(0x3b7)]>0x0?_0x5f3c70:null;}function _0x448516(_0x1796b0){const _0x11006f=_0xf8ecb6;if(_0x1796b0===null||typeof _0x1796b0!==_0x11006f(0x9e3))return null;const _0x3483cc=_0x1796b0,_0x3bacb0=_0x3483cc[_0x11006f(0x982)]&&typeof _0x3483cc[_0x11006f(0x982)]===_0x11006f(0x9e3)?_0x3483cc['expo']:void 0x0,_0x3e3f5a=_0x3bacb0&&_0x3bacb0['ios']&&typeof _0x3bacb0['ios']===_0x11006f(0x9e3)?_0x3bacb0[_0x11006f(0x6c9)]:void 0x0,_0x384d28=_0x21cbc9(_0x3e3f5a?.[_0x11006f(0x476)]);if(_0x384d28)return _0x384d28;const _0x1b8e50=_0x3483cc[_0x11006f(0x6c9)]&&typeof _0x3483cc['ios']==='object'?_0x3483cc['ios']:void 0x0;return _0x21cbc9(_0x1b8e50?.[_0x11006f(0x476)]);}function _0x3854c3(_0x57249d){const _0x321599=_0xf8ecb6;if(!Array['isArray'](_0x57249d))return null;const _0x1816c9=_0x57249d['map'](_0x49141f=>_0x49141f&&typeof _0x49141f==='object'?_0x49141f[_0x321599(0x4d6)]:null)[_0x321599(0x529)](_0xd65bda=>!!_0xd65bda&&typeof _0xd65bda==='object'&&!Array['isArray'](_0xd65bda)),_0x19a970=_0x1816c9[_0x321599(0x415)](_0x43b462=>_0x43b462[_0x321599(0x5b8)]===_0x321599(0x7b4)||_0x43b462[_0x321599(0x945)]==='com.apple.product-type.application');if(_0x19a970){const _0x4b1853=_0x21cbc9(_0x19a970[_0x321599(0x7bb)]);if(_0x4b1853)return _0x4b1853;}for(const _0xde2c4c of _0x1816c9){if(_0xde2c4c[_0x321599(0x5b8)]==='appex'||String(_0xde2c4c[_0x321599(0x945)]??'')['includes']('app-extension'))continue;const _0x38cd85=_0x21cbc9(_0xde2c4c[_0x321599(0x7bb)]);if(_0x38cd85&&!/\.(tests?|uitests?)$/i[_0x321599(0x8aa)](_0x38cd85))return _0x38cd85;}return null;}function _0x37c376(_0x2f9922){if(_0x2f9922===null)return null;try{return JSON['parse'](_0x2f9922);}catch{return null;}}async function _0x1d9f13(_0x506bc6,_0x2d0721){const _0x2202d6=_0xf8ecb6,_0x531f6d=_0x2d0721?.['readFileUtf8']??_0x4d4d3d['readFileUtf8'],_0x4498f2=_0x2d0721?.['runExpoConfig']??_0x4d4d3d['runExpoConfig'],_0x47cf7b=_0x2d0721?.['runXcodeBuildSettings']??_0x4d4d3d['runXcodeBuildSettings'];for(const _0x59cc7b of[_0x2202d6(0x8fb),'app.config.json']){try{const _0xe5c254=await _0x531f6d(_0x20ed6e(_0x506bc6,_0x59cc7b)),_0x3b75a3=_0x448516(_0x37c376(_0xe5c254));if(_0x3b75a3)return _0x3b75a3;}catch{}}try{const _0x57c9f7=await _0x4498f2(_0x506bc6),_0x4f21d8=_0x448516(_0x37c376(_0x57c9f7));if(_0x4f21d8)return _0x4f21d8;}catch{}try{const _0xcf32bd=await _0x47cf7b(_0x506bc6),_0x56c3d5=_0x3854c3(_0x37c376(_0xcf32bd));if(_0x56c3d5)return _0x56c3d5;}catch{}return null;}import{spawn as _0x3d47ce}from'child_process';function _0x3dce08(_0xc600eb,_0x597439,_0x2e21c5={}){return new Promise(_0x32b984=>{const _0x23caac=_0xc050;let _0x411726='',_0xe2daa1='',_0x44a15c;try{_0x44a15c=_0x3d47ce(_0xc600eb,_0x597439,{'stdio':['ignore','pipe','pipe']});}catch(_0x27c290){_0x32b984({'code':0x7f,'stdout':'','stderr':_0x27c290 instanceof Error?_0x27c290['message']:String(_0x27c290)});return;}const _0x5793c7=setTimeout(()=>{const _0x438435=_0xc050;if(_0x438435(0x5e5)===_0x438435(0x5e5))try{_0x438435(0x8ce)==='dXFjK'?_0x44a15c['kill'](_0x438435(0x58f)):(_0x40f5c0=_0x1b430a>=0x0?_0x413630:_0xdf8234,_0x237096=!![]);}catch{}else{if(_0x45b080 instanceof _0x33854b)return _0x3ccc91[_0x438435(0x531)];return _0x133d00(_0x911395);}},_0x2e21c5[_0x23caac(0x2f9)]??0x1f40);_0x44a15c['stdout']?.['on']('data',_0x104b50=>{_0x411726+=_0x104b50['toString']();}),_0x44a15c['stderr']?.['on']('data',_0x1a3df9=>{_0xe2daa1+=_0x1a3df9['toString']();});let _0x23728b=![];_0x44a15c['on']('error',_0x386672=>{if(_0x23728b)return;_0x23728b=!![],clearTimeout(_0x5793c7),_0x32b984({'code':0x7f,'stdout':_0x411726,'stderr':_0xe2daa1+(_0x386672['message']??String(_0x386672))});}),_0x44a15c['on']('exit',_0x557e13=>{if(_0x23728b)return;_0x23728b=!![],clearTimeout(_0x5793c7),_0x32b984({'code':_0x557e13??0x1,'stdout':_0x411726,'stderr':_0xe2daa1});});});}function _0x36c9a6(_0x5f32f4){const _0x25a421=_0xf8ecb6,_0x3647a0=(_0x5f32f4??'')['trim']()['toLowerCase']();if(_0x3647a0==='device')return _0x25a421(0xad2);if(_0x3647a0===_0x25a421(0x25a)||_0x3647a0===_0x25a421(0x377))return'simulator';return _0x25a421(0x279);}async function _0x3eac78(){const _0x1a29d3=_0xf8ecb6,_0x4e0595=await _0x3dce08('xcrun',['simctl','list',_0x1a29d3(0x6e2),'booted','-j']);if(_0x4e0595['code']!==0x0)return[];try{const _0x4deec3=JSON[_0x1a29d3(0x981)](_0x4e0595[_0x1a29d3(0x790)]),_0x295f6e=[],_0x42301a=_0x4deec3[_0x1a29d3(0x6e2)]??{};for(const [_0x47b126,_0x1ee6ef]of Object[_0x1a29d3(0x42a)](_0x42301a)){const _0x2c3d41=_0x47b126['toLowerCase']()['includes'](_0x1a29d3(0x6c9))||_0x47b126[_0x1a29d3(0x5b5)]()['includes'](_0x1a29d3(0x8d2));if(!_0x2c3d41)continue;if(!Array['isArray'](_0x1ee6ef))continue;for(const _0x3f3ce1 of _0x1ee6ef){if(!_0x3f3ce1['udid'])continue;if((_0x3f3ce1[_0x1a29d3(0x4bb)]??'')[_0x1a29d3(0x5b5)]()!==_0x1a29d3(0x232))continue;_0x295f6e[_0x1a29d3(0x4d1)]({'udid':_0x3f3ce1['udid'],'name':_0x3f3ce1[_0x1a29d3(0x9e5)]??_0x3f3ce1[_0x1a29d3(0x5a2)],'runtime':_0x3f3ce1['runtime']??_0x47b126});}}return _0x295f6e;}catch{return[];}}function _0x2efbb5(_0x3df98e){const _0x593272=/ServerURLHere->https?:\/\/[^:/\s]+:(\d{2,5})<-ServerURLHere/,_0x5df921=_0x593272['exec'](_0x3df98e);if(!_0x5df921)return null;const _0x3bf049=Number(_0x5df921[0x1]);if(!Number['isFinite'](_0x3bf049)||_0x3bf049<0x1||_0x3bf049>0xffff)return null;return _0x3bf049;}var _0x149113='http://localhost:8100';function _0x96f49d(_0x19d78b){const _0x5ad484=_0xf8ecb6;return _0x5ad484(0x9f4)+_0x19d78b;}var _0x3cf6c9=class{['apps'];['readPreference'];[_0xf8ecb6(0x4bf)]=null;[_0xf8ecb6(0x793)]=0x0;[_0xf8ecb6(0x536)];[_0xf8ecb6(0x91f)]=null;[_0xf8ecb6(0x61f)]=0x0;['simulatorWdaPort']=null;[_0xf8ecb6(0x83f)]=null;[_0xf8ecb6(0x2ec)]=null;[_0xf8ecb6(0x3af)]=new Set();[_0xf8ecb6(0xa62)]=new Map();[_0xf8ecb6(0x606)];constructor(_0x100e16={}){const _0x44b11d=_0xf8ecb6;this[_0x44b11d(0x508)]=_0x100e16['apps']??null,this['readPreference']=_0x100e16[_0x44b11d(0x2fc)]??(()=>_0x36c9a6(process.env.CERAPH_TARGET)),this['cacheTtlMs']=_0x100e16[_0x44b11d(0x536)]??0x1388,this['listBooted']=_0x100e16[_0x44b11d(0x606)]??_0x3eac78;}['setAppLifecycle'](_0xad9d1b){const _0x675a89=_0xf8ecb6;this[_0x675a89(0x508)]=_0xad9d1b,this['cached']=null,this['stateVersion']++;}['setSimulatorWdaPort'](_0x3d0f7f,_0x2880bb){const _0x54dd93=_0xf8ecb6;this['simulatorWdaPort']=_0x3d0f7f,this['simulatorWdaUdid']=_0x2880bb,this[_0x54dd93(0x4bf)]=null,this['stateVersion']++;}['clearSimulatorWdaPort'](){const _0x517d96=_0xf8ecb6;this['simulatorWdaPort']=null,this['simulatorWdaUdid']=null,this[_0x517d96(0x4bf)]=null,this['stateVersion']++;}[_0xf8ecb6(0x6cd)](){const _0x2ecf69=_0xf8ecb6;return this[_0x2ecf69(0x452)];}['getSimulatorWdaUdid'](){return this['simulatorWdaUdid'];}[_0xf8ecb6(0x3e7)](){this['cached']=null,this['stateVersion']++;}[_0xf8ecb6(0x600)](_0x4218f3){this['realDeviceHook']=_0x4218f3;}async['getBaseUrl'](){const _0x493426=_0xf8ecb6,_0x4b73f0=await this[_0x493426(0x62d)]();return _0x4b73f0[_0x493426(0xa51)];}async['getTarget'](){const _0x1efebe=_0xf8ecb6,_0x4636d8=await this[_0x1efebe(0x62d)]();return _0x4636d8[_0x1efebe(0xb00)];}async['resolve'](){const _0x443812=_0xf8ecb6;if(this[_0x443812(0x4bf)]&&this[_0x443812(0x536)]>0x0&&Date['now']()-this[_0x443812(0x793)]<this[_0x443812(0x536)])return this[_0x443812(0x4bf)];if(this['inflight'])return this['inflight'];const _0x4fab08=this['stateVersion'],_0xc4aef3=((async()=>{const _0x144725=_0x443812,_0x73e634=this[_0x144725(0x2fc)]();if(_0x73e634==='device'){const _0x2335d1=await this['apps']?.['getUdid']()??null;return{'target':_0x144725(0xad2),'udid':_0x2335d1,'baseUrl':_0x149113,'wdaReady':!![],'reason':'env-override-device'};}if(_0x73e634===_0x144725(0x25a)){const _0x2dfb03=await this['listBooted'](),_0x5396f9=this['simulatorWdaUdid']?_0x2dfb03['find'](_0x34e296=>_0x34e296[_0x144725(0x5a2)]===this['simulatorWdaUdid'])??_0x2dfb03[0x0]:_0x2dfb03[0x0],_0x7dc68c=_0x5396f9?.[_0x144725(0x5a2)]??this[_0x144725(0x83f)]??null,_0x3ece64=this[_0x144725(0x83f)]!==null&&_0x2dfb03[_0x144725(0x275)](_0x52c366=>_0x52c366['udid']===this['simulatorWdaUdid']),_0x59fac8=this['simulatorWdaPort']!==null&&this['simulatorWdaUdid']!==null&&_0x3ece64&&_0x7dc68c===this['simulatorWdaUdid'];return{'target':'simulator','udid':_0x7dc68c,'baseUrl':_0x59fac8?_0x96f49d(this['simulatorWdaPort']):_0x149113,'wdaReady':_0x59fac8,'reason':_0x144725(0x6fb)};}const [_0x4eb16b,_0x1b476f]=await Promise[_0x144725(0x2d4)]([this[_0x144725(0x508)]?.['getUdid']()??Promise['resolve'](null),this[_0x144725(0x606)]()]);if(_0x4eb16b)return _0x144725(0x7e7)==='dVBRd'?_0xc6245f(_0x144725(0x6f0),_0x6df8ea):{'target':'device','udid':_0x4eb16b,'baseUrl':_0x149113,'wdaReady':!![],'reason':'auto-prefer-device'};if(_0x1b476f[_0x144725(0x3b7)]>0x0){if('AzygZ'===_0x144725(0x872))return{'path':_0x4ccc3a(_0x40143e,_0x144725(0x5dc)),'shell':'bash'};else{const _0x357e5a=this['simulatorWdaUdid']?_0x1b476f['find'](_0x2e9a8f=>_0x2e9a8f[_0x144725(0x5a2)]===this['simulatorWdaUdid'])??_0x1b476f[0x0]:_0x1b476f[0x0],_0x41c0d2=this['simulatorWdaUdid']!==null&&_0x1b476f['some'](_0x59fc05=>_0x59fc05['udid']===this[_0x144725(0x83f)]),_0x5cec39=this['simulatorWdaPort']!==null&&this['simulatorWdaUdid']!==null&&_0x41c0d2&&_0x357e5a['udid']===this['simulatorWdaUdid'];return{'target':_0x144725(0x25a),'udid':_0x357e5a['udid'],'baseUrl':_0x5cec39?_0x96f49d(this['simulatorWdaPort']):_0x149113,'wdaReady':_0x5cec39,'reason':'auto-only-simulator'};}}return{'target':'device','udid':null,'baseUrl':_0x149113,'wdaReady':!![],'reason':'auto-no-target-found'};})());this[_0x443812(0x91f)]=_0xc4aef3;try{const _0x54bc75=await _0xc4aef3;this[_0x443812(0x61f)]===_0x4fab08&&(this[_0x443812(0x4bf)]=_0x54bc75,this[_0x443812(0x793)]=Date[_0x443812(0x2f8)]());if(this['realDeviceHook']&&_0x54bc75[_0x443812(0xb00)]==='device'&&_0x54bc75['udid']&&!this[_0x443812(0x3af)][_0x443812(0x979)](_0x54bc75[_0x443812(0x5a2)])&&!this[_0x443812(0xa62)]['has'](_0x54bc75[_0x443812(0x5a2)])){const _0xf1eccc=_0x54bc75[_0x443812(0x5a2)];this[_0x443812(0x3af)]['add'](_0xf1eccc);const _0x33a979=Promise[_0x443812(0x62d)]()[_0x443812(0x9c5)](()=>this[_0x443812(0x2ec)]?.(_0x54bc75))['catch'](()=>{})[_0x443812(0x7e8)](()=>{const _0x225043=_0x443812;'dbgZm'!==_0x225043(0x72d)?this[_0x225043(0xa62)]['delete'](_0xf1eccc):_0x406eb4[_0x225043(0x4d1)](_0xdf7f4f);});this[_0x443812(0xa62)]['set'](_0xf1eccc,_0x33a979);}return _0x54bc75;}finally{this[_0x443812(0x91f)]=null;}}async[_0xf8ecb6(0x46a)](_0x2f131e){const _0x5523ff=_0xf8ecb6,_0x2131a6=this[_0x5523ff(0xa62)][_0x5523ff(0x3fd)](_0x2f131e);if(_0x2131a6)await _0x2131a6;}['reset'](){const _0x3b664d=_0xf8ecb6;this[_0x3b664d(0x4bf)]=null,this[_0x3b664d(0x91f)]=null,this[_0x3b664d(0x452)]=null,this['simulatorWdaUdid']=null,this['realDeviceHookFiredFor'][_0x3b664d(0xa3e)](),this['realDeviceHookInflight']['clear'](),this[_0x3b664d(0x61f)]++;}},_0x53f410=0x1388,_0x70c5ce=class{['sessionId']=null;['pixelRatio']=null;['targetResolver'];[_0xf8ecb6(0xa13)]=null;['tapTransport']=null;constructor(_0x1a897c={}){const _0x2dfc95=_0xf8ecb6;this[_0x2dfc95(0x5c1)]=_0x1a897c['targetResolver']??new _0x3cf6c9();}async[_0xf8ecb6(0x3f3)](_0x7ba16d,_0x4db90c,_0x40b9ac){const _0x239392=_0xf8ecb6;if(this['tapTransport']!==_0x239392(0x2fa)){const _0x206c37=await this[_0x239392(0x995)](_0x7ba16d,[{'type':'pointer','id':_0x239392(0x911),'parameters':{'pointerType':'touch'},'actions':this['buildTapPointerActions'](_0x4db90c,_0x40b9ac)}]);if(_0x206c37){if('zNlYs'!=='hcxPd')return this['tapTransport']='actions',{'ok':!![]};else _0x2cb517['addEventListener'](_0x239392(0x95c),_0x551d5a,{'once':!![]});}if(this['tapTransport']===_0x239392(0x37a))return{'ok':![],'error':'WDA\x20actions\x20tap\x20failed'};}const _0x54f1c3=await this[_0x239392(0x9b0)](_0x239392(0x2aa)+_0x7ba16d+_0x239392(0x663),{'method':'POST','body':JSON[_0x239392(0x312)]({'x':_0x4db90c,'y':_0x40b9ac})});if(_0x54f1c3['ok'])return this['tapTransport']='legacy',{'ok':!![]};const _0x346bd3=await _0x54f1c3['text']()['catch'](()=>'unknown');return{'ok':![],'error':'WDA\x20tap\x20failed:\x20/actions\x20rejected\x20the\x20tap\x20and\x20legacy\x20/wda/tap/0\x20returned\x20'+_0x54f1c3[_0x239392(0x428)]+'\x20'+_0x346bd3};}async['snapshotTarget'](){const _0x3dafc3=_0xf8ecb6;try{const _0x1a6787=await this[_0x3dafc3(0x5c1)][_0x3dafc3(0x62d)]();return{'baseUrl':_0x1a6787[_0x3dafc3(0xa51)],'ready':_0x1a6787['wdaReady']};}catch{return{'baseUrl':_0x149113,'ready':!![]};}}async['wdaFetchAt'](_0x5b24ff,_0x2039cf,_0x414e72={},_0x12346c=_0x53f410){const _0x4f1dba=_0xf8ecb6,_0x7663d2=''+_0x5b24ff+_0x2039cf,_0x207a8a=new AbortController(),_0x2b4f26=setTimeout(()=>_0x207a8a[_0x4f1dba(0x95c)](),_0x12346c);try{const _0x314f07=await fetch(_0x7663d2,{..._0x414e72,'signal':_0x207a8a['signal'],'headers':{'Content-Type':'application/json',..._0x414e72['headers']}});return _0x314f07;}finally{clearTimeout(_0x2b4f26);}}async[_0xf8ecb6(0x9b0)](_0x4ca8f5,_0x474d31={},_0x2b55f4=_0x53f410){const _0x2b3705=await this['snapshotTarget']();if(!_0x2b3705['ready'])throw new Error('WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.');const _0x53f2bd=this['sessionBaseUrl']??_0x2b3705['baseUrl'];return this['wdaFetchAt'](_0x53f2bd,_0x4ca8f5,_0x474d31,_0x2b55f4);}async['currentBaseUrl'](){const _0x570139=_0xf8ecb6;if(this['sessionBaseUrl'])return this[_0x570139(0xa13)];const _0x51ad78=await this['snapshotTarget']();return _0x51ad78[_0x570139(0xa51)];}async['isAvailable'](){const _0x206711=_0xf8ecb6,_0x5a3ac4=await this['snapshotTarget']();if(!_0x5a3ac4['ready'])return![];try{const _0x141003=await this['wdaFetchAt'](_0x5a3ac4[_0x206711(0xa51)],'/status');return _0x141003['ok'];}catch{return![];}}async['ensureSession'](){const _0x12588d=_0xf8ecb6,_0x122223=await this[_0x12588d(0x224)]();if(!_0x122223[_0x12588d(0x335)])throw new Error(_0x12588d(0x45f));const _0x31e03c=_0x122223['baseUrl'];this['sessionBaseUrl']&&this['sessionBaseUrl']!==_0x31e03c&&(this['sessionId']=null,this[_0x12588d(0x547)]=null);this[_0x12588d(0xa13)]=_0x31e03c;if(this['sessionId']){try{const _0x152a53=await this['wdaFetchAt'](_0x31e03c,'/session/'+this[_0x12588d(0x7dc)]);if(_0x152a53['ok'])return this['sessionId'];}catch{}this['sessionId']=null;}try{const _0x2a3a38=await this[_0x12588d(0x4c6)](_0x31e03c,'/status');if(_0x2a3a38['ok']){const _0x22bbd7=await _0x2a3a38['json'](),_0x3b80db=_0x22bbd7['sessionId']||_0x22bbd7[_0x12588d(0x39d)]?.[_0x12588d(0x7dc)];if(_0x3b80db)return'PuGyn'!==_0x12588d(0x60e)?(this[_0x12588d(0x7dc)]=_0x3b80db,_0x3b80db):_0x11901e(_0x12588d(0x7a1),_0x344ad3);}}catch{}const _0x1c7578=await this[_0x12588d(0x4c6)](_0x31e03c,_0x12588d(0xa64),{'method':'POST','body':JSON[_0x12588d(0x312)]({'capabilities':{'alwaysMatch':{}}})});if(!_0x1c7578['ok']){const _0x1fe312=await _0x1c7578['text']()['catch'](()=>_0x12588d(0x8b7));throw new Error(_0x12588d(0x3cb)+_0x1c7578['status']+'\x20'+_0x1fe312);}const _0x396b29=await _0x1c7578['json'](),_0x4a5f00=_0x396b29[_0x12588d(0x7dc)]||_0x396b29['value']?.['sessionId'];if(!_0x4a5f00)throw new Error(_0x12588d(0x2a6));return this['sessionId']=_0x4a5f00,_0x4a5f00;}async['getPixelRatio'](){const _0x222c1d=_0xf8ecb6;if(this['pixelRatio'])return this[_0x222c1d(0x547)];const _0x36d8f3=await this['ensureSession'](),_0x3faff6=await this[_0x222c1d(0x9b0)](_0x222c1d(0x2aa)+_0x36d8f3+'/window/size');if(!_0x3faff6['ok'])throw new Error(_0x222c1d(0x507)+_0x3faff6[_0x222c1d(0x428)]);const _0x33fe24=await _0x3faff6[_0x222c1d(0x2ea)](),_0x3e5285=_0x33fe24['value'][_0x222c1d(0xaa8)],_0x6b8a69=await this['wdaFetch'](_0x222c1d(0x2aa)+_0x36d8f3+_0x222c1d(0xad7));if(!_0x6b8a69['ok'])return this[_0x222c1d(0x547)]=0x3,this[_0x222c1d(0x547)];const _0x1e9c72=await _0x6b8a69['json'](),_0xb7841b=_0x1e9c72[_0x222c1d(0x39d)],_0x186664=Buffer['from'](_0xb7841b,_0x222c1d(0x343));if(_0x186664['length']<0x18)return this['pixelRatio']=0x3,this[_0x222c1d(0x547)];const _0x5228e4=_0x186664['readUInt32BE'](0x10);this['pixelRatio']=Math[_0x222c1d(0x281)](_0x5228e4/_0x3e5285);if(this[_0x222c1d(0x547)]<0x1||this['pixelRatio']>0x4){if(_0x222c1d(0x844)!==_0x222c1d(0x809))this['pixelRatio']=0x3;else{const _0x2fe2d5=_0x4ab1cd[_0x222c1d(0x212)];_0x2fe2d5&&(_0x218c47['videoRecorder']=null,void _0x2fe2d5['stop']()['catch'](_0x17a1bf=>{const _0x286d9c=_0x222c1d;_0x1274ab[_0x286d9c(0x910)]['write']('[ceraph]\x20video\x20recorder\x20eviction\x20stop\x20failed:\x20'+(_0x17a1bf instanceof _0x564f83?_0x17a1bf[_0x286d9c(0x531)]:_0xd7a551(_0x17a1bf))+'\x0a');})),this['runs'][_0x222c1d(0x265)](_0x15bec3);}}return this['pixelRatio'];}async[_0xf8ecb6(0x22d)](){const _0x2adf81=_0xf8ecb6,_0x2b2854=await this[_0x2adf81(0x8f0)](),_0x4bbf93=await this[_0x2adf81(0x9b0)]('/session/'+_0x2b2854+'/window/size');if(!_0x4bbf93['ok'])throw new Error(_0x2adf81(0x507)+_0x4bbf93[_0x2adf81(0x428)]);const _0x529320=await _0x4bbf93['json']();return _0x529320[_0x2adf81(0x39d)];}async[_0xf8ecb6(0x2cd)](_0x8936d,_0x4dc1a1,_0x234a50=!![]){const _0x5a2707=_0xf8ecb6;try{const _0x3641d0=await this[_0x5a2707(0x8f0)](),_0x22dd1c=await this['getPixelRatio'](),_0x1b56e1=_0x234a50?_0x8936d/_0x22dd1c:_0x8936d,_0x17e1c5=_0x234a50?_0x4dc1a1/_0x22dd1c:_0x4dc1a1,_0x4f1720=await this[_0x5a2707(0x3f3)](_0x3641d0,_0x1b56e1,_0x17e1c5);if(!_0x4f1720['ok'])return{'success':![],'tappedAt':{'x':_0x1b56e1,'y':_0x17e1c5},'pixelRatio':_0x22dd1c,'correction':_0x234a50?_0x5a2707(0x77f)+_0x22dd1c+'x:\x20('+_0x8936d+','+_0x4dc1a1+_0x5a2707(0x9f9)+_0x1b56e1[_0x5a2707(0x5c0)](0x1)+','+_0x17e1c5[_0x5a2707(0x5c0)](0x1)+')':_0x5a2707(0x75a),'error':_0x4f1720['error']??'WDA\x20tap\x20failed'};return{'success':!![],'tappedAt':{'x':_0x1b56e1,'y':_0x17e1c5},'pixelRatio':_0x22dd1c,'correction':_0x234a50?_0x5a2707(0x77f)+_0x22dd1c+'x:\x20('+_0x8936d+','+_0x4dc1a1+')\x20->\x20('+_0x1b56e1[_0x5a2707(0x5c0)](0x1)+','+_0x17e1c5['toFixed'](0x1)+')':'No\x20correction\x20(device\x20coordinates)'};}catch(_0x31e04a){return{'success':![],'tappedAt':{'x':_0x8936d,'y':_0x4dc1a1},'pixelRatio':this[_0x5a2707(0x547)]??0x0,'correction':'Failed\x20before\x20correction\x20could\x20be\x20applied','error':_0x31e04a instanceof Error?_0x31e04a['message']:_0x5a2707(0x64c)};}}async[_0xf8ecb6(0x31f)](_0x32ca31){const _0x37f631=_0xf8ecb6;try{const _0x459688=await this[_0x37f631(0x8f0)](),_0x4f7e48=await this[_0x37f631(0x9b0)](_0x37f631(0x2aa)+_0x459688+_0x37f631(0x959));if(!_0x4f7e48['ok'])return'YvgtB'!=='aBBwr'?{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree:\x20'+_0x4f7e48['status']}:(_0x45877f={'result':_0x800668,'at':_0x1aff8c['now']()},_0x2c198d=null,_0x4a1a5b);const _0x13d259=await _0x4f7e48[_0x37f631(0x2ea)](),_0x6be875=_0x13d259[_0x37f631(0x39d)],_0x5e4b5e=this['searchElements'](_0x6be875,_0x32ca31);if(_0x5e4b5e['length']===0x0){const _0xc8d0ca=this['collectVisibleElements'](_0x6be875,0x32);return{'success':![],'matchCount':0x0,'availableElements':_0xc8d0ca,'error':_0x37f631(0x993)+JSON[_0x37f631(0x312)](_0x32ca31)};}const _0x459a75=_0x32ca31['index']??0x0;if(_0x459a75>=_0x5e4b5e['length'])return{'success':![],'matchCount':_0x5e4b5e[_0x37f631(0x3b7)],'error':'Index\x20'+_0x459a75+'\x20out\x20of\x20range.\x20Found\x20'+_0x5e4b5e[_0x37f631(0x3b7)]+_0x37f631(0x875),'availableElements':_0x5e4b5e['map'](_0x4d1a35=>({'type':_0x4d1a35[_0x37f631(0x45e)]??_0x37f631(0x6b2),'label':_0x4d1a35['label']??'','text':String(_0x4d1a35['value']??_0x4d1a35[_0x37f631(0x960)]??'')}))};const _0x582e3e=_0x5e4b5e[_0x459a75],_0x3889fb=_0x582e3e['rect'];if(!_0x3889fb)return{'success':![],'matchCount':_0x5e4b5e[_0x37f631(0x3b7)],'error':_0x37f631(0x35e)};const _0xf8ada7=_0x3889fb['x']+_0x3889fb['width']/0x2,_0x486a71=_0x3889fb['y']+_0x3889fb['height']/0x2,_0x188687=await this['tapAtPoint'](_0x459688,_0xf8ada7,_0x486a71);if(!_0x188687['ok'])return{'success':![],'matchCount':_0x5e4b5e[_0x37f631(0x3b7)],'error':_0x188687['error']??'WDA\x20tap\x20failed','element':{'type':_0x582e3e['type']??'unknown','label':_0x582e3e['label']??_0x582e3e['name']??'','bounds':_0x3889fb},'tappedAt':{'x':_0xf8ada7,'y':_0x486a71}};return{'success':!![],'matchCount':_0x5e4b5e['length'],'element':{'type':_0x582e3e['type']??_0x37f631(0x6b2),'label':_0x582e3e['label']??_0x582e3e['name']??'','bounds':_0x3889fb},'tappedAt':{'x':_0xf8ada7,'y':_0x486a71}};}catch(_0x175968){return{'success':![],'error':_0x175968 instanceof Error?_0x175968['message']:_0x37f631(0x33f)};}}async[_0xf8ecb6(0xa68)](_0x263451){const _0x2f9985=_0xf8ecb6;try{const _0x400adc=await this[_0x2f9985(0x8f0)](),_0x1e3da5=await this['wdaFetch']('/session/'+_0x400adc+_0x2f9985(0x959));if(!_0x1e3da5['ok'])return{'success':![],'error':_0x2f9985(0x73d)+_0x1e3da5[_0x2f9985(0x428)]};const _0x2f59e8=await _0x1e3da5['json'](),_0x586f32=this[_0x2f9985(0x82e)](_0x2f59e8['value'],_0x263451);if(_0x586f32['length']===0x0)return{'success':![],'matchCount':0x0};const _0x313d2e=_0x263451[_0x2f9985(0x977)]??0x0;if(_0x313d2e>=_0x586f32['length'])return{'success':![],'matchCount':_0x586f32['length']};return{'success':!![],'element':_0x586f32[_0x313d2e],'matchCount':_0x586f32['length']};}catch(_0x57e486){return{'success':![],'error':_0x57e486 instanceof Error?_0x57e486['message']:_0x2f9985(0x48f)};}}async[_0xf8ecb6(0x8b2)](_0x2207ab){const _0xc5de9a=_0xf8ecb6;try{const _0x5aef97=await this[_0xc5de9a(0x8f0)](),_0x47cd7b=await this['getWindowSize'](),_0x8e5c99=await this[_0xc5de9a(0xa03)](),_0x4f19b0=(_0x2207ab[_0xc5de9a(0x8f1)]??_0xc5de9a(0xad2))===_0xc5de9a(0x439);let _0x4a3594=_0x2207ab['from']?.['x']??_0x47cd7b['width']/0x2,_0x15e169=_0x2207ab['from']?.['y']??_0x47cd7b['height']/0x2;_0x4f19b0&&(_0x4a3594=_0x4a3594/_0x8e5c99,_0x15e169=_0x15e169/_0x8e5c99);const _0x24f5c1=_0x2207ab['direction']==='up'||_0x2207ab[_0xc5de9a(0x204)]==='down'?_0x47cd7b[_0xc5de9a(0x31d)]:_0x47cd7b[_0xc5de9a(0xaa8)],_0x4caac1=_0x2207ab['distancePx']??Math[_0xc5de9a(0x60f)](_0x24f5c1*0.6);let _0xbbacce=_0x4a3594,_0x43558d=_0x15e169;switch(_0x2207ab['direction']){case'up':_0x43558d=_0x15e169-_0x4caac1;break;case _0xc5de9a(0x44f):_0x43558d=_0x15e169+_0x4caac1;break;case _0xc5de9a(0x4a4):_0xbbacce=_0x4a3594-_0x4caac1;break;case _0xc5de9a(0x8cd):_0xbbacce=_0x4a3594+_0x4caac1;break;}_0xbbacce=Math['max'](0x0,Math['min'](_0x47cd7b['width']-0x1,_0xbbacce)),_0x43558d=Math[_0xc5de9a(0x553)](0x0,Math['min'](_0x47cd7b[_0xc5de9a(0x31d)]-0x1,_0x43558d)),_0x4a3594=Math['max'](0x0,Math['min'](_0x47cd7b[_0xc5de9a(0xaa8)]-0x1,_0x4a3594)),_0x15e169=Math['max'](0x0,Math[_0xc5de9a(0x488)](_0x47cd7b[_0xc5de9a(0x31d)]-0x1,_0x15e169));const _0x44f49b=_0x2207ab['durationMs']??0x12c,_0x300846=await this[_0xc5de9a(0x9b0)]('/session/'+_0x5aef97+_0xc5de9a(0xaa0),{'method':'POST','body':JSON['stringify']({'fromX':_0x4a3594,'fromY':_0x15e169,'toX':_0xbbacce,'toY':_0x43558d,'duration':_0x44f49b/0x3e8})});if(!_0x300846['ok']){if('SRYlj'!==_0xc5de9a(0x90f))return{'ok':![],'detail':'No\x20booted\x20simulator.','remediation':'Boot\x20a\x20simulator\x20(open\x20-a\x20Simulator),\x20or\x20connect\x20an\x20iPhone\x20via\x20USB-C,\x20then\x20retry.'};else{const _0x4ddcb1=await _0x300846['text']()['catch'](()=>_0xc5de9a(0x6b2));return{'success':![],'from':{'x':_0x4a3594,'y':_0x15e169},'to':{'x':_0xbbacce,'y':_0x43558d},'durationMs':_0x44f49b,'error':'WDA\x20swipe\x20failed:\x20'+_0x300846['status']+'\x20'+_0x4ddcb1};}}return{'success':!![],'from':{'x':_0x4a3594,'y':_0x15e169},'to':{'x':_0xbbacce,'y':_0x43558d},'durationMs':_0x44f49b};}catch(_0x1c4a00){return{'success':![],'from':{'x':0x0,'y':0x0},'to':{'x':0x0,'y':0x0},'durationMs':_0x2207ab['durationMs']??0x12c,'error':_0x1c4a00 instanceof Error?_0x1c4a00[_0xc5de9a(0x531)]:_0xc5de9a(0x342)};}}async['scrollToElement'](_0xebca5e,_0x465ca6={}){const _0x10a526=_0xf8ecb6,_0x479831=_0x465ca6[_0x10a526(0x589)]??0xa,_0x2a8d09=_0x465ca6[_0x10a526(0x204)]??'up';let _0x5e0e48=void 0x0;for(let _0x58224f=0x0;_0x58224f<=_0x479831;_0x58224f++){const _0x23993b=await this[_0x10a526(0xa68)](_0xebca5e);if(_0x23993b[_0x10a526(0x6d0)]&&_0x23993b['element']?.['rect'])return{'success':!![],'swipes':_0x58224f,'element':{'type':_0x23993b[_0x10a526(0x820)][_0x10a526(0x45e)]??'unknown','label':_0x23993b['element'][_0x10a526(0x960)]??_0x23993b['element']['name']??'','bounds':_0x23993b['element'][_0x10a526(0x24c)]}};_0x23993b['matchCount']!==void 0x0&&(_0x5e0e48=_0x5e0e48===void 0x0?_0x23993b['matchCount']:Math[_0x10a526(0x553)](_0x5e0e48,_0x23993b[_0x10a526(0x78d)]));if(_0x58224f===_0x479831)break;const _0x1ccc30=await this['swipe']({'direction':_0x2a8d09,'distancePx':_0x465ca6[_0x10a526(0xa28)]});if(!_0x1ccc30[_0x10a526(0x6d0)])return{'success':![],'swipes':_0x58224f,'error':_0x1ccc30[_0x10a526(0x3dd)]??_0x10a526(0x573)};}return{'success':![],'swipes':_0x479831,'matchCount':_0x5e0e48,'error':'Element\x20not\x20found\x20after\x20'+_0x479831+'\x20swipes:\x20'+JSON[_0x10a526(0x312)](_0xebca5e)};}async[_0xf8ecb6(0x45c)](_0x13864b,_0x6f4c5c,_0x3790c0=0x3e8,_0x5df0f1=![]){const _0x318ee4=_0xf8ecb6;try{const _0x5ada85=await this[_0x318ee4(0x8f0)]();let _0x4ce9f9=_0x13864b,_0x39ab2b=_0x6f4c5c;if(_0x5df0f1){const _0x4f4def=await this[_0x318ee4(0xa03)]();_0x4ce9f9=_0x13864b/_0x4f4def,_0x39ab2b=_0x6f4c5c/_0x4f4def;}const _0x2b4a14=await this['wdaFetch'](_0x318ee4(0x2aa)+_0x5ada85+_0x318ee4(0x4f0),{'method':_0x318ee4(0x513),'body':JSON['stringify']({'x':_0x4ce9f9,'y':_0x39ab2b,'duration':_0x3790c0/0x3e8})});if(!_0x2b4a14['ok']){const _0x108195=await _0x2b4a14['text']()[_0x318ee4(0x48b)](()=>_0x318ee4(0x6b2));return{'success':![],'error':'WDA\x20touchAndHold\x20failed:\x20'+_0x2b4a14[_0x318ee4(0x428)]+'\x20'+_0x108195};}return{'success':!![],'details':{'x':_0x4ce9f9,'y':_0x39ab2b,'durationMs':_0x3790c0}};}catch(_0x2decb8){return{'success':![],'error':_0x2decb8 instanceof Error?_0x2decb8['message']:'Unknown\x20error\x20during\x20longPress'};}}async['longPressElement'](_0xdfbe0d,_0x47eab2=0x3e8){const _0xa15ee8=_0xf8ecb6,_0x350ea0=await this[_0xa15ee8(0xa68)](_0xdfbe0d);if(!_0x350ea0[_0xa15ee8(0x6d0)]||!_0x350ea0[_0xa15ee8(0x820)]?.['rect'])return{'success':![],'matchCount':_0x350ea0['matchCount'],'error':_0x350ea0[_0xa15ee8(0x3dd)]??_0xa15ee8(0x4af)+JSON['stringify'](_0xdfbe0d)};const _0x304d07=_0x350ea0['element']['rect'],_0x1ea2d7=_0x304d07['x']+_0x304d07[_0xa15ee8(0xaa8)]/0x2,_0x16a821=_0x304d07['y']+_0x304d07['height']/0x2,_0x2a9639=await this['longPress'](_0x1ea2d7,_0x16a821,_0x47eab2,![]);return{..._0x2a9639,'matchCount':_0x350ea0[_0xa15ee8(0x78d)],'element':{'type':_0x350ea0['element'][_0xa15ee8(0x45e)]??_0xa15ee8(0x6b2),'label':_0x350ea0['element']['label']??_0x350ea0[_0xa15ee8(0x820)][_0xa15ee8(0x9e5)]??'','bounds':_0x304d07}};}async['type'](_0x520c04,_0x3138ab={}){const _0x4c0938=_0xf8ecb6;try{const _0x479861=await this['ensureSession'](),_0x39d84f=Array['from'](_0x520c04),_0x2fc953=await this['wdaFetch']('/session/'+_0x479861+_0x4c0938(0x644),{'method':_0x4c0938(0x513),'body':JSON[_0x4c0938(0x312)]({'value':_0x39d84f})});if(!_0x2fc953['ok']){const _0x3fd7e7=await _0x2fc953[_0x4c0938(0x3e0)]()[_0x4c0938(0x48b)](()=>'unknown');return{'success':![],'error':_0x4c0938(0x961)+_0x2fc953['status']+'\x20'+_0x3fd7e7};}return _0x3138ab[_0x4c0938(0x446)]&&await this[_0x4c0938(0x9b0)]('/session/'+_0x479861+'/wda/keys',{'method':_0x4c0938(0x513),'body':JSON['stringify']({'value':['\x0a']})})['catch'](()=>void 0x0),{'success':!![]};}catch(_0x5d186d){return{'success':![],'error':_0x5d186d instanceof Error?_0x5d186d['message']:'Unknown\x20error\x20during\x20type'};}}async['clearText'](_0x30e7fd){const _0x1de805=_0xf8ecb6;try{const _0xeeaffa=await this['findElement'](_0x30e7fd);if(!_0xeeaffa['success']||!_0xeeaffa['element']?.['rect'])return{'success':![],'error':_0xeeaffa['error']??'No\x20element\x20found\x20matching\x20'+JSON[_0x1de805(0x312)](_0x30e7fd)};const _0x3fc132=_0xeeaffa['element'][_0x1de805(0x24c)],_0x52c075=String(_0xeeaffa[_0x1de805(0x820)]['value']??'');if(_0x52c075[_0x1de805(0x3b7)]===0x0)return{'success':!![]};const _0x6f8b82=await this[_0x1de805(0x2cd)](_0x3fc132['x']+_0x3fc132[_0x1de805(0xaa8)]/0x2,_0x3fc132['y']+_0x3fc132[_0x1de805(0x31d)]/0x2,![]);if(!_0x6f8b82['success'])return{'success':![],'error':_0x6f8b82['error']??_0x1de805(0x954)};const _0x5154a3=new Array(_0x52c075['length'])['fill'](''),_0x57783f=await this['ensureSession'](),_0x1d18a2=await this['wdaFetch'](_0x1de805(0x2aa)+_0x57783f+'/wda/keys',{'method':_0x1de805(0x513),'body':JSON[_0x1de805(0x312)]({'value':_0x5154a3})});if(!_0x1d18a2['ok']){const _0x3fdd80=await _0x1d18a2[_0x1de805(0x3e0)]()[_0x1de805(0x48b)](()=>'unknown');return{'success':![],'error':_0x1de805(0x6f9)+_0x1d18a2[_0x1de805(0x428)]+'\x20'+_0x3fdd80};}return{'success':!![],'details':{'cleared':_0x52c075[_0x1de805(0x3b7)]}};}catch(_0x447629){return{'success':![],'error':_0x447629 instanceof Error?_0x447629['message']:'Unknown\x20error\x20during\x20clearText'};}}async[_0xf8ecb6(0x783)](_0xcbb4f5){const _0x42980a=_0xf8ecb6;try{const _0x16844a=await this['ensureSession']();if(_0xcbb4f5===_0x42980a(0x54a)){if('tVtZl'!=='pADWr'){const _0x59918f=await this['wdaFetch'](_0x42980a(0x2aa)+_0x16844a+_0x42980a(0x370),{'method':'POST','body':JSON['stringify']({})});if(!_0x59918f['ok']){const _0x285411=await _0x59918f[_0x42980a(0x3e0)]()[_0x42980a(0x48b)](()=>'unknown');return{'success':![],'error':'WDA\x20lock\x20failed:\x20'+_0x59918f[_0x42980a(0x428)]+'\x20'+_0x285411};}return{'success':!![]};}else{const _0x5de015=_0x2580be;return{'ok':!![],'session':_0x20a99c({'port':_0x5de015,'udid':_0x54c23e['udid'],'projectPath':_0x132d1b,'child':_0x3f2613,'output':_0x15b2d7})};}}if(_0xcbb4f5===_0x42980a(0xb1f))return await this[_0x42980a(0x539)]();if(_0xcbb4f5!==_0x42980a(0xa4a)&&_0xcbb4f5!=='volumeUp'&&_0xcbb4f5!=='volumeDown'){if(_0x42980a(0x391)==='wwNsR')return{'success':![],'error':'Unsupported\x20pressKey:\x20'+String(_0xcbb4f5)};else{const _0x5a2d8d=_0x2a1538(_0x1169cc[_0x42980a(0xb0d)][_0x552df6]);if(_0x5a2d8d)return{..._0x32b52d({'success':![],'error':'queries['+_0x22b750+_0x42980a(0x4f4)+_0x5a2d8d}),'isError':!![]};}}const _0x1c2816=_0xcbb4f5==='home'?_0x42980a(0xa4a):_0xcbb4f5==='volumeUp'?_0x42980a(0x63a):_0x42980a(0x9ba),_0xf274e2=await this['wdaFetch'](_0x42980a(0x2aa)+_0x16844a+'/wda/pressButton',{'method':_0x42980a(0x513),'body':JSON['stringify']({'name':_0x1c2816})});if(!_0xf274e2['ok']){if('epzbO'!==_0x42980a(0x648)){const _0x5c30fb=await _0xf274e2[_0x42980a(0x3e0)]()[_0x42980a(0x48b)](()=>_0x42980a(0x6b2));return{'success':![],'error':_0x42980a(0x620)+_0xf274e2[_0x42980a(0x428)]+'\x20'+_0x5c30fb};}else{_0x5e8c57['axCache'][_0x42980a(0x93e)](_0x32acc7,_0x32c16b[_0x42980a(0x997)][_0x42980a(0x76f)]());const _0x1a3392=this['screen']['findElementFromTree'](_0x558122,_0x429261),_0x3ddc45=_0x1a3392[0x0];if(_0x3ddc45?.[_0x42980a(0x24c)])return{'success':!![],'details':{'element':{'type':_0x3ddc45[_0x42980a(0x45e)]??'unknown','label':_0x3ddc45['label']??_0x3ddc45['name']??'','bounds':_0x3ddc45['rect']}}};return{'success':![],'error':'assertVisible:\x20element\x20not\x20visible:\x20'+_0x5b6272[_0x42980a(0x312)](_0xbfff91)};}}return{'success':!![]};}catch(_0x2d15b1){return{'success':![],'error':_0x2d15b1 instanceof Error?_0x2d15b1['message']:_0x42980a(0x7aa)};}}async['_systemBack'](){const _0x526143=_0xf8ecb6,_0x3a1b87=await this[_0x526143(0x8cc)]();if(_0x3a1b87){const _0x2c5630=_0x3a1b87['x']+_0x3a1b87['width']/0x2,_0x264d69=_0x3a1b87['y']+_0x3a1b87[_0x526143(0x31d)]/0x2,_0x2bf157=await this[_0x526143(0x8f0)](),_0x36a90e=await this[_0x526143(0x3f3)](_0x2bf157,_0x2c5630,_0x264d69);if(_0x36a90e['ok'])return{'success':!![],'details':{'method':_0x526143(0x217),'tappedAt':{'x':_0x2c5630,'y':_0x264d69}}};}const _0x1679e5=await this[_0x526143(0x22d)](),_0x343a7b=await this['swipe']({'direction':_0x526143(0x8cd),'from':{'x':0x0,'y':Math[_0x526143(0x60f)](_0x1679e5[_0x526143(0x31d)]/0x2)},'coordinateSource':_0x526143(0xad2)});return{'success':_0x343a7b['success'],'error':_0x343a7b['error'],'details':{'method':'edge-swipe','from':_0x343a7b[_0x526143(0x56c)],'to':_0x343a7b['to']}};}async[_0xf8ecb6(0x8cc)](){const _0x4e57a2=_0xf8ecb6,_0x7e7a3c=await this[_0x4e57a2(0x67e)]();if(!_0x7e7a3c[_0x4e57a2(0x6d0)]||!_0x7e7a3c[_0x4e57a2(0x40e)])return null;const _0x1138ef=await this[_0x4e57a2(0x22d)](),_0x391474=_0x1138ef[_0x4e57a2(0xaa8)]/0x2,_0x245524=0x8c,_0x132d43=[],_0x48bfbd=_0x593164=>{const _0x533b0d=_0x4e57a2,_0x33a15c=String(_0x593164['type']??''),_0x5368e5=_0x593164['rect'],_0x4974ce=_0x33a15c[_0x533b0d(0x5b5)]()['includes'](_0x533b0d(0x86e));if(_0x4974ce&&_0x5368e5&&typeof _0x5368e5['x']==='number'){const _0x8a5c56=_0x5368e5['x']<_0x391474&&_0x5368e5['y']<_0x245524;if(_0x8a5c56&&_0x5368e5['width']>0x0&&_0x5368e5[_0x533b0d(0x31d)]>0x0){const _0x2b4415=String(_0x593164[_0x533b0d(0x960)]??_0x593164['name']??'')['toLowerCase']();_0x132d43[_0x533b0d(0x4d1)]({'rect':_0x5368e5,'labelledBack':_0x2b4415['includes'](_0x533b0d(0xb1f))});}}const _0x81e20c=_0x593164[_0x533b0d(0x4e3)];if(Array['isArray'](_0x81e20c)){for(const _0x1421b6 of _0x81e20c)_0x48bfbd(_0x1421b6);}};_0x48bfbd(_0x7e7a3c[_0x4e57a2(0x40e)]);if(_0x132d43[_0x4e57a2(0x3b7)]===0x0)return null;return _0x132d43['sort']((_0x14ab6d,_0x4fd7cc)=>{const _0x1dd96e=_0x4e57a2;if(_0x14ab6d['labelledBack']!==_0x4fd7cc['labelledBack'])return _0x14ab6d['labelledBack']?-0x1:0x1;if(_0x14ab6d[_0x1dd96e(0x24c)]['x']!==_0x4fd7cc['rect']['x'])return _0x14ab6d[_0x1dd96e(0x24c)]['x']-_0x4fd7cc['rect']['x'];return _0x14ab6d['rect']['y']-_0x4fd7cc['rect']['y'];}),_0x132d43[0x0]['rect'];}async[_0xf8ecb6(0x6bb)](){const _0x2c0b96=_0xf8ecb6;try{const _0x2b827d=await this['ensureSession'](),_0x274a6e=await this[_0x2c0b96(0x9b0)]('/session/'+_0x2b827d+_0x2c0b96(0x6c1),{'method':_0x2c0b96(0x513),'body':JSON['stringify']({})});if(!_0x274a6e['ok']){const _0x30da0a=await _0x274a6e[_0x2c0b96(0x3e0)]()[_0x2c0b96(0x48b)](()=>_0x2c0b96(0x6b2));return{'success':![],'error':'WDA\x20unlock\x20failed:\x20'+_0x274a6e['status']+'\x20'+_0x30da0a};}return{'success':!![]};}catch(_0x53afce){if('Eslgl'==='fCgyy')_0x12cbc2['kill']('SIGTERM');else return{'success':![],'error':_0x53afce instanceof Error?_0x53afce[_0x2c0b96(0x531)]:_0x2c0b96(0x742)};}}async[_0xf8ecb6(0xaa6)](){const _0x398910=_0xf8ecb6;try{const _0x3d5d5a=await this[_0x398910(0x8f0)](),_0x525048=await this[_0x398910(0x9b0)](_0x398910(0x2aa)+_0x3d5d5a+'/wda/locked');if(!_0x525048['ok'])return null;const _0x488e98=await _0x525048[_0x398910(0x2ea)]();return typeof _0x488e98['value']==='boolean'?_0x488e98[_0x398910(0x39d)]:null;}catch{return null;}}async[_0xf8ecb6(0x439)](){const _0x81fe=_0xf8ecb6;try{const _0x40e184=await this[_0x81fe(0x8f0)](),_0x1fe8ca=await this['wdaFetch'](_0x81fe(0x2aa)+_0x40e184+_0x81fe(0xad7));if(!_0x1fe8ca['ok']){const _0xad2e15=await _0x1fe8ca['text']()[_0x81fe(0x48b)](()=>_0x81fe(0x6b2));return{'success':![],'error':'WDA\x20screenshot\x20failed:\x20'+_0x1fe8ca['status']+'\x20'+_0xad2e15};}const _0x685aeb=await _0x1fe8ca[_0x81fe(0x2ea)]();return{'success':!![],'base64':_0x685aeb['value']};}catch(_0x6b6c96){return{'success':![],'error':_0x6b6c96 instanceof Error?_0x6b6c96['message']:_0x81fe(0x735)};}}async[_0xf8ecb6(0x67e)](){const _0x1321c4=_0xf8ecb6;try{const _0x211770=await this['ensureSession'](),_0x40b578=await this[_0x1321c4(0x9b0)]('/session/'+_0x211770+'/source?format=json');if(!_0x40b578['ok']){const _0x2081d3=await _0x40b578['text']()['catch'](()=>'unknown');return{'success':![],'error':'WDA\x20source\x20failed:\x20'+_0x40b578[_0x1321c4(0x428)]+'\x20'+_0x2081d3};}const _0xf1a14a=await _0x40b578['json']();return{'success':!![],'source':_0xf1a14a['value']};}catch(_0x7a8ccf){return{'success':![],'error':_0x7a8ccf instanceof Error?_0x7a8ccf[_0x1321c4(0x531)]:'Unknown\x20error\x20during\x20getSource'};}}async['waitFor'](_0x37d2e9,_0x405067={}){const _0x3ebdc7=_0xf8ecb6,_0x4329f0=_0x405067['timeoutMs']??0x1388,_0x31a20e=_0x405067['pollIntervalMs']??0x96,_0x504583=_0x405067[_0x3ebdc7(0x440)]??![],_0x58305f=Date[_0x3ebdc7(0x2f8)]();while(Date[_0x3ebdc7(0x2f8)]()-_0x58305f<_0x4329f0){const _0x157ec9=await this['findElement'](_0x37d2e9),_0x3d3320=_0x157ec9[_0x3ebdc7(0x6d0)]&&!!_0x157ec9[_0x3ebdc7(0x820)];if(!_0x504583&&_0x3d3320){const _0x573b28=_0x157ec9['element'][_0x3ebdc7(0x24c)];return{'success':!![],'found':!![],'elapsedMs':Date['now']()-_0x58305f,'element':_0x573b28?{'type':_0x157ec9['element']['type']??_0x3ebdc7(0x6b2),'label':_0x157ec9[_0x3ebdc7(0x820)]['label']??_0x157ec9[_0x3ebdc7(0x820)][_0x3ebdc7(0x9e5)]??'','bounds':_0x573b28}:void 0x0};}if(_0x504583&&!_0x3d3320)return{'success':!![],'found':![],'elapsedMs':Date['now']()-_0x58305f};await new Promise(_0x39d32f=>setTimeout(_0x39d32f,_0x31a20e));}return{'success':![],'found':!_0x504583,'elapsedMs':Date[_0x3ebdc7(0x2f8)]()-_0x58305f,'error':_0x504583?'Element\x20still\x20visible\x20after\x20'+_0x4329f0+_0x3ebdc7(0x627)+JSON['stringify'](_0x37d2e9):_0x3ebdc7(0x7fb)+_0x4329f0+'ms:\x20'+JSON['stringify'](_0x37d2e9)};}async[_0xf8ecb6(0xa0b)](_0x2ee336){const _0x321cd0=_0xf8ecb6,_0x2df8e0=await this[_0x321cd0(0xa68)](_0x2ee336);if(_0x2df8e0[_0x321cd0(0x3dd)])return{'success':![],'visible':![],'error':_0x2df8e0['error']};if(_0x2df8e0[_0x321cd0(0x6d0)]&&_0x2df8e0['element']?.['rect'])return{'success':!![],'visible':!![],'element':{'type':_0x2df8e0[_0x321cd0(0x820)]['type']??'unknown','label':_0x2df8e0['element'][_0x321cd0(0x960)]??_0x2df8e0[_0x321cd0(0x820)][_0x321cd0(0x9e5)]??'','bounds':_0x2df8e0['element']['rect']}};return{'success':!![],'visible':![]};}async[_0xf8ecb6(0x88c)](_0x2f78e9){const _0x5285c4=_0xf8ecb6,_0x1c4c9a=await this['findElement'](_0x2f78e9);if(_0x1c4c9a[_0x5285c4(0x3dd)])return{'success':![],'visible':![],'error':_0x1c4c9a['error']};const _0x49f281=_0x1c4c9a['success']&&!!_0x1c4c9a['element'];return{'success':!![],'visible':_0x49f281};}async[_0xf8ecb6(0x491)](_0xdbc31c){const _0x2271c9=_0xf8ecb6;try{const _0x3519f7=_0xdbc31c??await this['ensureSession'](),_0x20224f=await this['wdaFetch']('/session/'+_0x3519f7+_0x2271c9(0x959));if(!_0x20224f['ok']){if('tPkzw'==='tPkzw'){if(!_0xdbc31c){this[_0x2271c9(0x7dc)]=null;const _0x413134=await this['ensureSession'](),_0x29a4ba=await this[_0x2271c9(0x9b0)]('/session/'+_0x413134+_0x2271c9(0x959));if(!_0x29a4ba['ok'])return null;const _0xd79fdd=await _0x29a4ba[_0x2271c9(0x2ea)]();return _0xd79fdd['value']??null;}return null;}else{const {response:_0x53f454,..._0x1afc2b}=_0x15a66d;return void _0x53f454,{'entry':_0x1afc2b,'matched':![],'bodyBytes':0x0};}}const _0x480789=await _0x20224f[_0x2271c9(0x2ea)]();return _0x480789[_0x2271c9(0x39d)]??null;}catch{return null;}}[_0xf8ecb6(0x4da)](_0x12af73,_0x30884b){return this['searchElements'](_0x12af73,_0x30884b);}async['findAndTapReturningTree'](_0x154304){const _0x38bf34=_0xf8ecb6;try{const _0x18d9f0=await this[_0x38bf34(0x8f0)](),_0x352dab=await this['fetchSourceTree'](_0x18d9f0);if(!_0x352dab)return{'result':{'success':![],'error':_0x38bf34(0x9b9)},'tree':null};const _0x321053=this[_0x38bf34(0x82e)](_0x352dab,_0x154304);if(_0x321053[_0x38bf34(0x3b7)]===0x0){const _0x343814=this[_0x38bf34(0xab8)](_0x352dab,0x32);return{'result':{'success':![],'matchCount':0x0,'availableElements':_0x343814,'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x154304)},'tree':_0x352dab};}const _0x14fe7d=_0x154304['index']??0x0;if(_0x14fe7d>=_0x321053[_0x38bf34(0x3b7)])return{'result':{'success':![],'matchCount':_0x321053['length'],'error':'Index\x20'+_0x14fe7d+_0x38bf34(0x500)+_0x321053[_0x38bf34(0x3b7)]+_0x38bf34(0x875),'availableElements':_0x321053[_0x38bf34(0x86b)](_0x38b0ca=>({'type':_0x38b0ca[_0x38bf34(0x45e)]??'unknown','label':_0x38b0ca['label']??'','text':String(_0x38b0ca['value']??_0x38b0ca['label']??'')}))},'tree':_0x352dab};const _0x3e25f2=_0x321053[_0x14fe7d],_0x3e371e=_0x3e25f2[_0x38bf34(0x24c)];if(!_0x3e371e)return{'result':{'success':![],'matchCount':_0x321053[_0x38bf34(0x3b7)],'error':'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.'},'tree':_0x352dab};const _0x4a60c5=_0x3e371e['x']+_0x3e371e[_0x38bf34(0xaa8)]/0x2,_0x471326=_0x3e371e['y']+_0x3e371e['height']/0x2,_0x585e33=await this['tapAtPoint'](_0x18d9f0,_0x4a60c5,_0x471326);if(!_0x585e33['ok'])return{'result':{'success':![],'matchCount':_0x321053['length'],'error':_0x585e33[_0x38bf34(0x3dd)]??'WDA\x20tap\x20failed','element':{'type':_0x3e25f2['type']??_0x38bf34(0x6b2),'label':_0x3e25f2['label']??_0x3e25f2['name']??'','bounds':_0x3e371e},'tappedAt':{'x':_0x4a60c5,'y':_0x471326}},'tree':_0x352dab};return{'result':{'success':!![],'matchCount':_0x321053[_0x38bf34(0x3b7)],'element':{'type':_0x3e25f2[_0x38bf34(0x45e)]??_0x38bf34(0x6b2),'label':_0x3e25f2[_0x38bf34(0x960)]??_0x3e25f2['name']??'','bounds':_0x3e371e},'tappedAt':{'x':_0x4a60c5,'y':_0x471326}},'tree':_0x352dab};}catch(_0x3e87e1){return{'result':{'success':![],'error':_0x3e87e1 instanceof Error?_0x3e87e1[_0x38bf34(0x531)]:'Unknown\x20error\x20during\x20findAndTapReturningTree'},'tree':null};}}async['sendW3CActions'](_0x534636,_0x1de3f1){const _0x5ac5f1=_0xf8ecb6;try{const _0x39f41e=await this['wdaFetch'](_0x5ac5f1(0x2aa)+_0x534636+'/actions',{'method':'POST','body':JSON['stringify']({'actions':_0x1de3f1})});return _0x39f41e['ok'];}catch{return![];}}[_0xf8ecb6(0x381)](_0xe5b316,_0x373432){const _0x3a6c02=_0xf8ecb6;return[{'type':'pointerMove','duration':0x0,'x':_0xe5b316,'y':_0x373432},{'type':'pointerDown','button':0x0},{'type':'pause','duration':0x32},{'type':_0x3a6c02(0x498),'button':0x0}];}async['tapAndVerify'](_0x460441,_0x31d519={}){const _0x1edd87=_0xf8ecb6;try{const _0x506c61=_0x31d519['sessionId']??await this[_0x1edd87(0x8f0)](),_0x2b9cff=await this[_0x1edd87(0x491)](_0x506c61);if(!_0x2b9cff)return{'success':![],'error':_0x1edd87(0x9b9),'batched':![]};const _0x1b26a7=this[_0x1edd87(0x82e)](_0x2b9cff,_0x460441);if(_0x1b26a7['length']===0x0)return{'success':![],'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x460441),'batched':![]};const _0x2b31b2=_0x460441[_0x1edd87(0x977)]??0x0,_0xe7abbd=_0x1b26a7[_0x2b31b2];if(!_0xe7abbd||!_0xe7abbd[_0x1edd87(0x24c)])return{'success':![],'error':_0x2b31b2>=_0x1b26a7[_0x1edd87(0x3b7)]?_0x1edd87(0x41c)+_0x2b31b2+_0x1edd87(0x500)+_0x1b26a7[_0x1edd87(0x3b7)]+'\x20matching\x20element(s).':_0x1edd87(0x35e),'batched':![]};const _0x2d6f8d=_0xe7abbd['rect'],_0x14d918=_0x2d6f8d['x']+_0x2d6f8d['width']/0x2,_0x221f50=_0x2d6f8d['y']+_0x2d6f8d[_0x1edd87(0x31d)]/0x2,_0x133557={'type':_0xe7abbd['type']??_0x1edd87(0x6b2),'label':_0xe7abbd[_0x1edd87(0x960)]??_0xe7abbd['name']??'','bounds':_0x2d6f8d},_0x5969ca=await this[_0x1edd87(0x995)](_0x506c61,[{'type':_0x1edd87(0x230),'id':_0x1edd87(0x911),'parameters':{'pointerType':_0x1edd87(0x36f)},'actions':this['buildTapPointerActions'](_0x14d918,_0x221f50)}]);let _0x28972a=_0x5969ca;if(!_0x5969ca){const _0x4c3b16=await this[_0x1edd87(0x2cd)](_0x14d918,_0x221f50,![]);if(!_0x4c3b16[_0x1edd87(0x6d0)])return{'success':![],'error':_0x4c3b16['error']??_0x1edd87(0x23c),'element':_0x133557,'tappedAt':{'x':_0x14d918,'y':_0x221f50},'batched':![]};_0x28972a=![];}let _0x2faa1d,_0x2f62ab,_0x5d5026=!![];if(_0x31d519[_0x1edd87(0x291)]){let _0xc94756,_0x2a4728;if(_0x31d519['sessionId']){const _0x17b0e3=Date['now']()+0xbb8;for(;;){const _0x3d4c31=await this['fetchSourceTree'](_0x31d519[_0x1edd87(0x7dc)]);if(_0x3d4c31){const _0x49f954=this[_0x1edd87(0x82e)](_0x3d4c31,_0x31d519['verifySelector']);if(_0x49f954[_0x1edd87(0x3b7)]>0x0&&_0x49f954[0x0]){_0xc94756=_0x49f954[0x0];break;}}if(Date[_0x1edd87(0x2f8)]()>=_0x17b0e3){_0x2a4728=_0x3d4c31?'Element\x20not\x20visible\x20after\x203000ms:\x20'+JSON['stringify'](_0x31d519['verifySelector']):'Failed\x20to\x20get\x20element\x20tree\x20on\x20the\x20pinned\x20session';break;}await new Promise(_0x438135=>setTimeout(_0x438135,0x1f4));}_0x2faa1d={'visible':!!_0xc94756,'element':_0xc94756&&_0xc94756['rect']?{'type':_0xc94756['type']??_0x1edd87(0x6b2),'label':_0xc94756['label']??_0xc94756[_0x1edd87(0x9e5)]??'','bounds':_0xc94756['rect']}:void 0x0},_0x5d5026=!!_0xc94756,!_0x5d5026&&(_0x2f62ab='tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20'+_0x2a4728);}else{const _0x34b897=await this[_0x1edd87(0x588)](_0x31d519[_0x1edd87(0x291)],{'timeoutMs':0xbb8});_0x2faa1d={'visible':_0x34b897['found']&&_0x34b897[_0x1edd87(0x6d0)],'element':_0x34b897[_0x1edd87(0x820)]},_0x5d5026=_0x34b897[_0x1edd87(0x6d0)]&&_0x34b897['found'],!_0x5d5026&&(_0x2f62ab=_0x1edd87(0xa15)+(_0x34b897[_0x1edd87(0x3dd)]??'expected\x20element\x20'+JSON['stringify'](_0x31d519['verifySelector'])+_0x1edd87(0x69c)));}}return{'success':_0x5d5026,'element':_0x133557,'tappedAt':{'x':_0x14d918,'y':_0x221f50},'verifyResult':_0x2faa1d,'batched':_0x28972a,..._0x2f62ab?{'error':_0x2f62ab}:{}};}catch(_0x3d50a1){return{'success':![],'error':_0x3d50a1 instanceof Error?_0x3d50a1['message']:'Unknown\x20error\x20during\x20tapAndVerify','batched':![]};}}async[_0xf8ecb6(0x38c)](_0x124174,_0x11e7db,_0x57b8cd={}){const _0xeb9b5e=_0xf8ecb6;try{const _0x542714=await this[_0xeb9b5e(0x8f0)](),_0x3be9d6=await this[_0xeb9b5e(0x491)](_0x542714);if(!_0x3be9d6)return{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree','batched':![]};const _0x5bfd53=this['searchElements'](_0x3be9d6,_0x124174);if(_0x5bfd53['length']===0x0)return{'success':![],'matchCount':0x0,'error':_0xeb9b5e(0x3a7)+JSON[_0xeb9b5e(0x312)](_0x124174),'batched':![]};const _0x1ad334=_0x124174[_0xeb9b5e(0x977)]??0x0,_0x1ffcc9=_0x5bfd53[_0x1ad334];if(!_0x1ffcc9||!_0x1ffcc9['rect'])return{'success':![],'matchCount':_0x5bfd53['length'],'error':_0x1ad334>=_0x5bfd53['length']?'Index\x20'+_0x1ad334+_0xeb9b5e(0x500)+_0x5bfd53['length']+'\x20matching\x20element(s).':_0xeb9b5e(0x35e),'batched':![]};const _0x3402d1=_0x1ffcc9[_0xeb9b5e(0x24c)],_0x429f45=_0x3402d1['x']+_0x3402d1[_0xeb9b5e(0xaa8)]/0x2,_0x55dc2d=_0x3402d1['y']+_0x3402d1[_0xeb9b5e(0x31d)]/0x2,_0x5acdc3={'type':_0x1ffcc9[_0xeb9b5e(0x45e)]??_0xeb9b5e(0x6b2),'label':_0x1ffcc9[_0xeb9b5e(0x960)]??_0x1ffcc9['name']??'','bounds':_0x3402d1};if(_0x57b8cd[_0xeb9b5e(0x9f8)]){const _0x388a63=await this['clearText'](_0x124174);if(!_0x388a63[_0xeb9b5e(0x6d0)])return{'success':![],'matchCount':_0x5bfd53['length'],'element':_0x5acdc3,'error':_0x388a63[_0xeb9b5e(0x3dd)]??_0xeb9b5e(0x931),'batched':![]};}const _0x2e6430=Array['from'](_0x11e7db),_0x5d3569=[],_0x352be2=0x4;for(let _0x5c76a2=0x0;_0x5c76a2<_0x352be2;_0x5c76a2++){_0x5d3569['push']({'type':'pause','duration':0x0});}_0x5d3569[_0xeb9b5e(0x4d1)]({'type':'pause','duration':0x12c});for(const _0x6316d9 of _0x2e6430){_0x5d3569[_0xeb9b5e(0x4d1)]({'type':_0xeb9b5e(0x848),'value':_0x6316d9}),_0x5d3569['push']({'type':_0xeb9b5e(0x254),'value':_0x6316d9});}const _0x13a48a=await this[_0xeb9b5e(0x995)](_0x542714,[{'type':_0xeb9b5e(0x230),'id':'finger1','parameters':{'pointerType':_0xeb9b5e(0x36f)},'actions':this[_0xeb9b5e(0x381)](_0x429f45,_0x55dc2d)},{'type':'key','id':_0xeb9b5e(0xa1d),'actions':_0x5d3569}]);if(_0x13a48a)return{'success':!![],'matchCount':_0x5bfd53[_0xeb9b5e(0x3b7)],'element':_0x5acdc3,'batched':!![]};const _0x50593f=await this[_0xeb9b5e(0x31f)](_0x124174);if(!_0x50593f[_0xeb9b5e(0x6d0)])return{'success':![],'matchCount':_0x5bfd53[_0xeb9b5e(0x3b7)],'element':_0x5acdc3,'error':_0x50593f['error']??'Failed\x20to\x20focus\x20field\x20(serial\x20fallback)','batched':![]};const _0x1703a9=await this['type'](_0x11e7db);if(!_0x1703a9['success'])return _0xeb9b5e(0x6e3)==='unEWq'?{'success':![],'matchCount':_0x5bfd53['length'],'element':_0x5acdc3,'error':_0x1703a9[_0xeb9b5e(0x3dd)]??'Failed\x20to\x20type\x20text\x20(serial\x20fallback)','batched':![]}:_0x3ccbb2['toLowerCase']()[_0xeb9b5e(0x42e)](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'')[_0xeb9b5e(0x795)](0x0,0x50)||'flow';return{'success':!![],'matchCount':_0x5bfd53['length'],'element':_0x5acdc3,'batched':![]};}catch(_0x3439a3){if('mwkxp'!==_0xeb9b5e(0x91e))return{'success':![],'error':_0x3439a3 instanceof Error?_0x3439a3[_0xeb9b5e(0x531)]:_0xeb9b5e(0xa8b),'batched':![]};else{const _0x326437=_0x275c18(_0x9f0b6f);return _0x326437[0x0]??null;}}}async['tapChain'](_0x1a76cd){const _0x5860dc=_0xf8ecb6;if(_0x1a76cd['length']===0x0)return{'success':![],'results':[],'batched':![],'error':'tapChain\x20called\x20with\x20empty\x20queries\x20array'};try{const _0x15b694=await this[_0x5860dc(0x8f0)](),_0x3c8345=await this['fetchSourceTree'](_0x15b694);if(!_0x3c8345)return{'success':![],'results':[],'batched':![],'error':_0x5860dc(0x9b9)};const _0x3b446e=[];for(const _0x160276 of _0x1a76cd){const _0x593e48=this[_0x5860dc(0x82e)](_0x3c8345,_0x160276);if(_0x593e48['length']===0x0)return{'success':![],'results':[..._0x3b446e['map'](_0x19e4bc=>({'query':_0x19e4bc[_0x5860dc(0x48c)],'element':_0x19e4bc['element'],'tappedAt':_0x19e4bc[_0x5860dc(0x386)]})),{'query':_0x160276,'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x160276)}],'batched':![],'error':_0x5860dc(0x6b4)+_0x3b446e[_0x5860dc(0x3b7)]};const _0x539b4e=_0x160276[_0x5860dc(0x977)]??0x0,_0x5bbe52=_0x593e48[_0x539b4e];if(!_0x5bbe52||!_0x5bbe52['rect'])return{'success':![],'results':[..._0x3b446e[_0x5860dc(0x86b)](_0x10488b=>({'query':_0x10488b[_0x5860dc(0x48c)],'element':_0x10488b['element'],'tappedAt':_0x10488b[_0x5860dc(0x386)]})),{'query':_0x160276,'error':_0x539b4e>=_0x593e48[_0x5860dc(0x3b7)]?_0x5860dc(0x41c)+_0x539b4e+_0x5860dc(0x500)+_0x593e48['length']+_0x5860dc(0x875):_0x5860dc(0x35e)}],'batched':![],'error':'Resolution\x20failed\x20for\x20query\x20at\x20index\x20'+_0x3b446e[_0x5860dc(0x3b7)]};_0x3b446e['push']({'query':_0x160276,'element':{'type':_0x5bbe52[_0x5860dc(0x45e)]??'unknown','label':_0x5bbe52['label']??_0x5bbe52['name']??'','bounds':_0x5bbe52[_0x5860dc(0x24c)]},'center':{'x':_0x5bbe52['rect']['x']+_0x5bbe52['rect'][_0x5860dc(0xaa8)]/0x2,'y':_0x5bbe52['rect']['y']+_0x5bbe52['rect']['height']/0x2}});}const _0x1f5d0b=[];for(let _0x484232=0x0;_0x484232<_0x3b446e[_0x5860dc(0x3b7)];_0x484232++){if(_0x5860dc(0x608)===_0x5860dc(0x91b))return;else{const _0x2bd2e6=_0x3b446e[_0x484232];_0x1f5d0b[_0x5860dc(0x4d1)](...this[_0x5860dc(0x381)](_0x2bd2e6[_0x5860dc(0x386)]['x'],_0x2bd2e6['center']['y'])),_0x484232<_0x3b446e['length']-0x1&&_0x1f5d0b['push']({'type':'pause','duration':0x64});}}const _0x932282=await this['sendW3CActions'](_0x15b694,[{'type':_0x5860dc(0x230),'id':'finger1','parameters':{'pointerType':_0x5860dc(0x36f)},'actions':_0x1f5d0b}]);if(_0x932282)return{'success':!![],'results':_0x3b446e['map'](_0x469d41=>({'query':_0x469d41[_0x5860dc(0x48c)],'element':_0x469d41['element'],'tappedAt':_0x469d41[_0x5860dc(0x386)]})),'batched':!![]};const _0x4658fd=[];for(const _0x5a873e of _0x3b446e){const _0xa1d49c=await this['tap'](_0x5a873e['center']['x'],_0x5a873e[_0x5860dc(0x386)]['y'],![]);if(!_0xa1d49c['success'])return _0x4658fd[_0x5860dc(0x4d1)]({'query':_0x5a873e['query'],'element':_0x5a873e['element'],'tappedAt':_0x5a873e['center'],'error':_0xa1d49c[_0x5860dc(0x3dd)]??_0x5860dc(0x449)}),{'success':![],'results':_0x4658fd,'batched':![],'error':'Serial\x20fallback\x20tap\x20failed\x20at\x20index\x20'+(_0x4658fd['length']-0x1)};_0x4658fd['push']({'query':_0x5a873e[_0x5860dc(0x48c)],'element':_0x5a873e[_0x5860dc(0x820)],'tappedAt':_0x5a873e[_0x5860dc(0x386)]});}return{'success':!![],'results':_0x4658fd,'batched':![]};}catch(_0x5c2893){return{'success':![],'results':[],'batched':![],'error':_0x5c2893 instanceof Error?_0x5c2893['message']:'Unknown\x20error\x20during\x20tapChain'};}}async[_0xf8ecb6(0x496)](){const _0x3d4b4b=_0xf8ecb6;try{const _0x18d17c=await this['ensureSession'](),_0x2e2ab8=await this[_0x3d4b4b(0x9b0)]('/session/'+_0x18d17c+_0x3d4b4b(0x603));if(!_0x2e2ab8['ok'])return null;const _0x2da63f=await _0x2e2ab8['json']();return _0x2da63f['value']??null;}catch{return null;}}async['setOrientation'](_0x4b1b84){const _0x21ad24=_0xf8ecb6;try{const _0x4695fb=await this['ensureSession'](),_0xb6eb90=await this[_0x21ad24(0x9b0)](_0x21ad24(0x2aa)+_0x4695fb+_0x21ad24(0x603),{'method':_0x21ad24(0x513),'body':JSON['stringify']({'orientation':_0x4b1b84['toUpperCase']()})});if(!_0xb6eb90['ok']){const _0x2fa444=await _0xb6eb90['text']()['catch'](()=>_0x21ad24(0x6b2));return{'success':![],'error':_0x21ad24(0x455)+_0xb6eb90[_0x21ad24(0x428)]+'\x20'+_0x2fa444};}return{'success':!![]};}catch(_0x386aaa){return{'success':![],'error':_0x386aaa instanceof Error?_0x386aaa[_0x21ad24(0x531)]:'Unknown\x20error\x20during\x20setOrientation'};}}async[_0xf8ecb6(0xac6)](){const _0x3e24e0=_0xf8ecb6;try{const _0x34fbda=await this['ensureSession'](),_0x95c4c7=await this[_0x3e24e0(0x9b0)](_0x3e24e0(0x2aa)+_0x34fbda+_0x3e24e0(0x574));if(!_0x95c4c7['ok']){const _0xf41884=await _0x95c4c7[_0x3e24e0(0x3e0)]()[_0x3e24e0(0x48b)](()=>'unknown');return{'success':![],'error':_0x3e24e0(0x6c0)+_0x95c4c7['status']+'\x20'+_0xf41884};}const _0xfdddb4=await _0x95c4c7[_0x3e24e0(0x2ea)]();return{'success':!![],'bundleId':_0xfdddb4['value']?.[_0x3e24e0(0x369)],'pid':_0xfdddb4[_0x3e24e0(0x39d)]?.[_0x3e24e0(0x8e3)],'name':_0xfdddb4['value']?.[_0x3e24e0(0x9e5)]};}catch(_0x59f7db){return{'success':![],'error':_0x59f7db instanceof Error?_0x59f7db['message']:_0x3e24e0(0x460)};}}async['activateApp'](_0x42ea94){const _0x861c27=_0xf8ecb6;try{const _0x3dc60a=await this[_0x861c27(0x8f0)](),_0x1d8a7f=await this['wdaFetch'](_0x861c27(0x2aa)+_0x3dc60a+'/wda/apps/launch',{'method':_0x861c27(0x513),'body':JSON[_0x861c27(0x312)]({'bundleId':_0x42ea94})});if(!_0x1d8a7f['ok']){const _0x5cc448=await _0x1d8a7f['text']()['catch'](()=>'unknown');return{'success':![],'error':'WDA\x20apps/launch\x20failed:\x20'+_0x1d8a7f['status']+'\x20'+_0x5cc448};}return{'success':!![]};}catch(_0x356475){return{'success':![],'error':_0x356475 instanceof Error?_0x356475['message']:'Unknown\x20error\x20during\x20activateApp'};}}async[_0xf8ecb6(0x423)](_0x2352d0){const _0x47cf93=_0xf8ecb6;try{const _0x4faacc=await this[_0x47cf93(0x8f0)](),_0x5e696c=await this['wdaFetch'](_0x47cf93(0x2aa)+_0x4faacc+'/url',{'method':'POST','body':JSON['stringify']({'url':_0x2352d0})});if(!_0x5e696c['ok']){const _0xd580f3=await _0x5e696c['text']()[_0x47cf93(0x48b)](()=>_0x47cf93(0x6b2)),_0x3a3276=_0xd580f3[_0x47cf93(0x27e)]('LSApplicationWorkspaceErrorDomain')&&_0xd580f3[_0x47cf93(0x27e)](_0x47cf93(0x509));if(_0x3a3276&&_0x2352d0['startsWith'](_0x47cf93(0x5e0)))return{'success':![],'error':'The\x20`ceraph://`\x20URL\x20scheme\x20isn\x27t\x20registered\x20in\x20the\x20app\x20under\x20test,\x20so\x20this\x20deep\x20link\x20couldn\x27t\x20be\x20delivered.\x20`init`\x20adds\x20the\x20scheme\x20to\x20app.json,\x20but\x20it\x20only\x20lands\x20in\x20the\x20native\x20Info.plist\x20after\x20a\x20rebuild\x20—\x20run\x20`npx\x20expo\x20prebuild`\x20then\x20rebuild/reinstall\x20the\x20dev\x20client\x20(or\x20your\x20EAS/Xcode\x20build),\x20and\x20retry.\x20Tools\x20affected:\x20rn_reset_state,\x20rn_reload,\x20and\x20camera/auth-bypass\x20deep\x20links.'};return{'success':![],'error':_0x47cf93(0xaaa)+_0x5e696c[_0x47cf93(0x428)]+'\x20'+_0xd580f3};}return{'success':!![]};}catch(_0x1a1e74){return{'success':![],'error':_0x1a1e74 instanceof Error?_0x1a1e74[_0x47cf93(0x531)]:_0x47cf93(0x92c)};}}async[_0xf8ecb6(0x287)](_0x38214d){const _0x1a44d3=_0xf8ecb6;try{if('KKiMT'===_0x1a44d3(0xb10)){const _0x449cdb=await this['ensureSession'](),_0x5cd0f0=await this['wdaFetch']('/session/'+_0x449cdb+'/wda/apps/terminate',{'method':'POST','body':JSON['stringify']({'bundleId':_0x38214d})});if(!_0x5cd0f0['ok']){const _0x23a134=await _0x5cd0f0[_0x1a44d3(0x3e0)]()['catch'](()=>'unknown');return{'success':![],'error':_0x1a44d3(0x50b)+_0x5cd0f0['status']+'\x20'+_0x23a134};}return this[_0x1a44d3(0x7dc)]=null,{'success':!![]};}else{const _0x2d0a66=_0x29fc38['call']['getFirstAncestorByKind'](_0x19ec87[_0x1a44d3(0xa78)]);_0x2d0a66&&(_0x2d0a66['remove'](),_0x557b6b=!![]);}}catch(_0x22475b){return{'success':![],'error':_0x22475b instanceof Error?_0x22475b['message']:'Unknown\x20error\x20during\x20terminateAppViaWDA'};}}async['pingStatus'](){const _0x346779=_0xf8ecb6;try{const _0x3743a1=await this[_0x346779(0x9b0)](_0x346779(0xa5d),{},0x7d0);return _0x3743a1['ok'];}catch{return![];}}['searchElements'](_0x507af3,_0x387a61){const _0x5785eb=_0xf8ecb6,_0x59bb1b=[];if(this['elementMatches'](_0x507af3,_0x387a61)){if('hjjID'!==_0x5785eb(0x873))return{'status':_0x5785eb(0x576),'message':_0x163e2d};else _0x59bb1b['push'](_0x507af3);}const _0x3a8a11=_0x507af3['children'];if(Array['isArray'](_0x3a8a11))for(const _0x4b7579 of _0x3a8a11){_0x59bb1b[_0x5785eb(0x4d1)](...this[_0x5785eb(0x82e)](_0x4b7579,_0x387a61));}return _0x59bb1b;}[_0xf8ecb6(0x89f)](_0x19640b,_0x401266){const _0x537506=_0xf8ecb6;if(_0x401266['text']!==void 0x0){const _0x46a39c=_0x401266[_0x537506(0x3e0)][_0x537506(0x5b5)](),_0x1be87f=[_0x19640b['value'],_0x19640b[_0x537506(0x960)],_0x19640b[_0x537506(0x9e5)]]['filter'](Boolean)[_0x537506(0x86b)](_0x9f464e=>String(_0x9f464e)['toLowerCase']());if(!_0x1be87f[_0x537506(0x275)](_0x75c795=>_0x75c795[_0x537506(0x27e)](_0x46a39c)))return![];}if(_0x401266[_0x537506(0x444)]!==void 0x0){const _0x3c77f4=String(_0x19640b['label']??_0x19640b['name']??'');if(!_0x3c77f4[_0x537506(0x5b5)]()['includes'](_0x401266[_0x537506(0x444)]['toLowerCase']()))return![];}if(_0x401266[_0x537506(0x45e)]!==void 0x0){const _0x319e05=String(_0x19640b['type']??'');if(!_0x319e05['toLowerCase']()['includes'](_0x401266['type'][_0x537506(0x5b5)]()))return![];}return _0x401266[_0x537506(0x3e0)]!==void 0x0||_0x401266[_0x537506(0x444)]!==void 0x0||_0x401266['type']!==void 0x0||_0x401266['index']!==void 0x0;}[_0xf8ecb6(0xab8)](_0x7775f1,_0x5d27dd){const _0x804399=_0xf8ecb6,_0x5aa85d=[];if(_0x5d27dd<=0x0)return _0x5aa85d;const _0x5497ef=String(_0x7775f1['label']??_0x7775f1[_0x804399(0x9e5)]??''),_0x51ae66=String(_0x7775f1['value']??''),_0x55b0e6=String(_0x7775f1['type']??'');(_0x5497ef||_0x51ae66)&&_0x5aa85d[_0x804399(0x4d1)]({'type':_0x55b0e6,'label':_0x5497ef,'text':_0x51ae66});const _0x8c72a4=_0x7775f1['children'];if(Array['isArray'](_0x8c72a4))for(const _0xc9362e of _0x8c72a4){const _0x1be6cd=_0x5d27dd-_0x5aa85d['length'];if(_0x1be6cd<=0x0)break;_0x5aa85d[_0x804399(0x4d1)](...this[_0x804399(0xab8)](_0xc9362e,_0x1be6cd));}return _0x5aa85d;}['reset'](){const _0x2d3fe8=_0xf8ecb6;this['sessionId']=null,this['pixelRatio']=null,this[_0x2d3fe8(0xa13)]=null;}};function _0x1f14f2(_0x1c0219){const _0x58e09e=_0xf8ecb6;if(!_0x1c0219['success']||!_0x1c0219['base64'])return{'content':[{'type':_0x58e09e(0x3e0),'text':JSON['stringify'](_0x1c0219,null,0x2)}],'isError':!![]};return{'content':[{'type':'image','data':_0x1c0219['base64'],'mimeType':'image/png'}]};}import{readFile as _0x1151c4,writeFile as _0x43224c,mkdir,access as _0x28c0b8}from'fs/promises';import{join as _0x16d4b4}from'path';var _0x5eae4b=class{['cacheDir'];[_0xf8ecb6(0x9aa)];['snapshotPath'];constructor(_0xdcfa99,_0xda338c){const _0x49c40b=_0xf8ecb6;this['projectDir']=_0xdcfa99,this['cacheDir']=_0xda338c,this[_0x49c40b(0x3a6)]=_0x16d4b4(_0xda338c,'last-build-snapshot.json');}async[_0xf8ecb6(0x753)](_0x846693){const _0x450999=_0xf8ecb6;try{return _0x450999(0x940)!==_0x450999(0x940)?this[_0x450999(0x302)](_0x1083f3):(await _0x28c0b8(_0x846693),!![]);}catch{return![];}}async['readJson'](_0x409b91){const _0x2b2534=_0xf8ecb6;try{const _0x1e3386=await _0x1151c4(_0x409b91,_0x2b2534(0x827));return JSON['parse'](_0x1e3386);}catch{return null;}}async['hashFile'](_0x4ce850){const _0x3d3794=_0xf8ecb6;try{const _0x341645=await _0x1151c4(_0x4ce850,'utf-8');let _0x4c36f6=0x0;for(let _0x443ec5=0x0;_0x443ec5<_0x341645[_0x3d3794(0x3b7)];_0x443ec5++){const _0x563f80=_0x341645['charCodeAt'](_0x443ec5);_0x4c36f6=(_0x4c36f6<<0x5)-_0x4c36f6+_0x563f80,_0x4c36f6|=0x0;}return _0x4c36f6[_0x3d3794(0xafa)](0x24);}catch{return'missing';}}async[_0xf8ecb6(0x552)](){const _0x51bb04=_0xf8ecb6,_0x8b6815=await this['readJson'](_0x16d4b4(this[_0x51bb04(0x9aa)],_0x51bb04(0x2a8)));let _0x2dd2b3=await this[_0x51bb04(0x2ab)](_0x16d4b4(this[_0x51bb04(0x9aa)],_0x51bb04(0x8fb)));if(!_0x2dd2b3){const _0x144598=await this[_0x51bb04(0x782)](_0x16d4b4(this['projectDir'],_0x51bb04(0x3d4))),_0x1c93ec=await this['hashFile'](_0x16d4b4(this['projectDir'],_0x51bb04(0x892)));_0x2dd2b3={'_fileHash':_0x144598,'_tsFileHash':_0x1c93ec};}const _0x11c421=await this[_0x51bb04(0x782)](_0x16d4b4(this[_0x51bb04(0x9aa)],_0x51bb04(0x6c9),'Podfile.lock'));return{'dependencies':_0x8b6815?.[_0x51bb04(0x8b4)]??{},'devDependencies':_0x8b6815?.['devDependencies']??{},'appConfig':_0x2dd2b3??{},'podfileLockHash':_0x11c421,'timestamp':new Date()[_0x51bb04(0x471)]()};}async[_0xf8ecb6(0x78e)](){const _0x44b014=_0xf8ecb6;try{const _0x1f097d=await _0x1151c4(this['snapshotPath'],_0x44b014(0x827));return JSON[_0x44b014(0x981)](_0x1f097d);}catch{return null;}}async['saveSnapshot'](){const _0x28bef3=_0xf8ecb6,_0x30340f=await this[_0x28bef3(0x552)]();await mkdir(this['cacheDir'],{'recursive':!![]}),await _0x43224c(this[_0x28bef3(0x3a6)],JSON['stringify'](_0x30340f,null,0x2),'utf-8');}[_0xf8ecb6(0xa3f)](_0x142f63,_0x3d30f4){const _0x887aaf=_0xf8ecb6,_0x80078d=[],_0x65a9ea=[],_0x2ac3a3=[],_0x3847b6=new Set([...Object[_0x887aaf(0x8c1)](_0x142f63),...Object['keys'](_0x3d30f4)]);for(const _0xfb4aca of _0x3847b6){if(!(_0xfb4aca in _0x142f63))_0x80078d['push'](_0xfb4aca);else{if(!(_0xfb4aca in _0x3d30f4))_0x65a9ea[_0x887aaf(0x4d1)](_0xfb4aca);else _0x142f63[_0xfb4aca]!==_0x3d30f4[_0xfb4aca]&&_0x2ac3a3['push'](_0xfb4aca);}}return{'added':_0x80078d,'removed':_0x65a9ea,'changed':_0x2ac3a3};}async['check'](){const _0x543617=_0xf8ecb6,_0x3d7379=[],_0x494639=await this[_0x543617(0x753)](_0x16d4b4(this[_0x543617(0x9aa)],_0x543617(0x6c9)));if(!_0x494639)return{'needsClean':!![],'reasons':[_0x543617(0x519)]};const _0x5a41b9=await this[_0x543617(0x78e)]();if(!_0x5a41b9)return{'needsClean':!![],'reasons':[_0x543617(0x640)]};const _0x8f722f=await this['getCurrentState'](),_0x2cd54e=this[_0x543617(0xa3f)](_0x5a41b9['dependencies'],_0x8f722f['dependencies']);_0x2cd54e[_0x543617(0x7ed)]['length']>0x0&&_0x3d7379[_0x543617(0x4d1)]('New\x20dependencies\x20added:\x20'+_0x2cd54e['added'][_0x543617(0x4ec)](',\x20')+'.\x20Native\x20modules\x20may\x20need\x20linking.');_0x2cd54e[_0x543617(0x62c)][_0x543617(0x3b7)]>0x0&&_0x3d7379[_0x543617(0x4d1)](_0x543617(0x395)+_0x2cd54e[_0x543617(0x62c)]['join'](',\x20')+'.\x20Stale\x20native\x20modules\x20may\x20cause\x20build\x20errors.');if(_0x2cd54e['changed'][_0x543617(0x3b7)]>0x0){const _0x31f8b5=['react-native','expo',_0x543617(0x6cc),_0x543617(0x27c)],_0x4bd245=_0x2cd54e[_0x543617(0x9a4)]['filter'](_0x48926f=>_0x31f8b5[_0x543617(0x275)](_0x3e7b4c=>_0x48926f[_0x543617(0x27e)](_0x3e7b4c)));_0x4bd245[_0x543617(0x3b7)]>0x0&&_0x3d7379['push']('Native\x20dependency\x20versions\x20changed:\x20'+_0x4bd245[_0x543617(0x4ec)](',\x20')+'.\x20Clean\x20prebuild\x20recommended.');}const _0x1dd3be=this[_0x543617(0xa3f)](_0x5a41b9['devDependencies'],_0x8f722f['devDependencies']);if(_0x1dd3be[_0x543617(0x7ed)]['length']>0x0||_0x1dd3be['removed']['length']>0x0){const _0x55a158=[..._0x1dd3be['added'],..._0x1dd3be[_0x543617(0x62c)]][_0x543617(0x529)](_0x5cde57=>_0x5cde57['includes'](_0x543617(0x9f5))||_0x5cde57['includes']('expo')||_0x5cde57['includes'](_0x543617(0x6cc)));_0x55a158['length']>0x0&&_0x3d7379[_0x543617(0x4d1)](_0x543617(0x475)+_0x55a158['join'](',\x20')+'.');}const _0x210a85=JSON[_0x543617(0x312)](_0x5a41b9[_0x543617(0x9c4)])!==JSON[_0x543617(0x312)](_0x8f722f[_0x543617(0x9c4)]);if(_0x210a85){if(_0x543617(0x9b4)!==_0x543617(0x9b4))return _0x454631(_0x543617(0x33e),_0x3e4b19);else _0x3d7379['push'](_0x543617(0x409));}if(_0x8f722f[_0x543617(0x5ae)]===_0x543617(0x934))_0x3d7379['push']('ios/Podfile.lock\x20is\x20missing.\x20Pods\x20may\x20need\x20to\x20be\x20installed.');else _0x5a41b9['podfileLockHash']!==_0x8f722f['podfileLockHash']&&_0x3d7379[_0x543617(0x4d1)](_0x543617(0x637));return{'needsClean':_0x3d7379[_0x543617(0x3b7)]>0x0,'reasons':_0x3d7379};}};import{spawn as _0x534afa}from'child_process';function _0x27981f(_0x4e3406,_0x2ca9b4,_0xe02fd6={}){return new Promise(_0x5ad2ba=>{const _0x5ccfd8=_0xc050;let _0x33e9df='',_0x58dc25='',_0x152038;try{_0x152038=_0x534afa(_0x4e3406,_0x2ca9b4,{'stdio':[_0x5ccfd8(0x9fa),_0x5ccfd8(0x9e1),'pipe']});}catch(_0x3d92b1){_0x5ad2ba({'code':0x7f,'stdout':'','stderr':_0x3d92b1 instanceof Error?_0x3d92b1['message']:String(_0x3d92b1)});return;}const _0x5140d2=setTimeout(()=>{const _0x1e160b=_0x5ccfd8;try{_0x152038[_0x1e160b(0x6ee)]('SIGKILL');}catch{}},_0xe02fd6[_0x5ccfd8(0x2f9)]??0x3a98);_0x152038[_0x5ccfd8(0x790)]?.['on'](_0x5ccfd8(0x78f),_0x2bbf72=>{const _0x29e73c=_0x5ccfd8;_0x33e9df+=_0x2bbf72[_0x29e73c(0xafa)]();}),_0x152038[_0x5ccfd8(0x910)]?.['on']('data',_0x25f410=>{_0x58dc25+=_0x25f410['toString']();});let _0x2e4080=![];_0x152038['on'](_0x5ccfd8(0x3dd),_0x2f5076=>{if(_0x2e4080)return;_0x2e4080=!![],clearTimeout(_0x5140d2),_0x5ad2ba({'code':0x7f,'stdout':_0x33e9df,'stderr':_0x58dc25+(_0x2f5076['message']??String(_0x2f5076))});}),_0x152038['on'](_0x5ccfd8(0x68c),_0x4210d5=>{if(_0x2e4080)return;_0x2e4080=!![],clearTimeout(_0x5140d2),_0x5ad2ba({'code':_0x4210d5??0x1,'stdout':_0x33e9df,'stderr':_0x58dc25});});});}async function _0x193e7c(_0x5c49cd){const _0x1f5fd3=_0xf8ecb6,_0x491596=await _0x27981f('which',[_0x5c49cd],{'timeoutMs':0x7d0});return _0x491596[_0x1f5fd3(0x3aa)]===0x0&&_0x491596['stdout']['trim']()[_0x1f5fd3(0x3b7)]>0x0;}function _0x3aff3e(_0x2f730d){const _0x571547=_0xf8ecb6,_0x2d8836=[];let _0x402ecc=0x0,_0xf802b6=![],_0x5abfaf=null,_0xe48425=null,_0x513f3d=null,_0x59d6a2=null,_0xfef0d2=null,_0x29edd1=null;const _0x4fe19f=_0x2e3773=>{const _0x29e925=_0xc050;let _0x195886=_0x2e3773[_0x29e925(0x668)]();if(_0x195886['endsWith'](';'))_0x195886=_0x195886[_0x29e925(0x795)](0x0,-0x1)['trim']();return(_0x195886['startsWith']('\x22')&&_0x195886['endsWith']('\x22')||_0x195886['startsWith']('\x27')&&_0x195886['endsWith']('\x27'))&&(_0x195886=_0x195886[_0x29e925(0x795)](0x1,-0x1)),_0x195886;};for(const _0x28e0db of _0x2f730d[_0x571547(0x51a)]('\x0a')){const _0x535eab=_0x28e0db[_0x571547(0x668)]();if(_0x535eab['length']===0x0)continue;if(_0x402ecc===0x1&&!_0xf802b6&&_0x535eab['endsWith']('{')){const _0x13a527=_0x535eab['indexOf']('=');if(_0x13a527>0x0){const _0x36ee45=_0x4fe19f(_0x535eab['slice'](0x0,_0x13a527));_0x5abfaf=_0x36ee45,_0xe48425=_0x36ee45,_0x513f3d=null,_0x59d6a2=null,_0xfef0d2=null,_0x29edd1=null,_0xf802b6=!![];}_0x402ecc+=0x1;continue;}if(_0x535eab[_0x571547(0xaa5)]('{')){_0x402ecc+=0x1;continue;}if(_0x535eab==='};'||_0x535eab==='}'){if(_0xf802b6&&_0x402ecc===0x2){const _0x376d0e=_0xe48425??_0x5abfaf;_0x376d0e&&_0x2d8836[_0x571547(0x4d1)]({'bundleId':_0x376d0e,'name':_0x59d6a2??_0x513f3d??_0x376d0e,'version':_0xfef0d2??_0x29edd1??void 0x0}),_0xf802b6=![],_0x5abfaf=null,_0xe48425=null,_0x513f3d=null,_0x59d6a2=null,_0xfef0d2=null,_0x29edd1=null;}_0x402ecc=Math[_0x571547(0x553)](0x0,_0x402ecc-0x1);continue;}if(_0xf802b6&&_0x402ecc===0x2){const _0x3d184d=_0x535eab[_0x571547(0x4ca)]('=');if(_0x3d184d<0x0)continue;const _0x5e6ce1=_0x535eab[_0x571547(0x795)](0x0,_0x3d184d)[_0x571547(0x668)](),_0x196cee=_0x4fe19f(_0x535eab['slice'](_0x3d184d+0x1));switch(_0x5e6ce1){case'CFBundleIdentifier':_0xe48425=_0x196cee;break;case'CFBundleName':_0x513f3d=_0x196cee;break;case _0x571547(0x3a2):_0x59d6a2=_0x196cee;break;case'CFBundleShortVersionString':_0xfef0d2=_0x196cee;break;case'CFBundleVersion':_0x29edd1=_0x196cee;break;default:break;}}}return _0x2d8836;}var _0x43c6e0=class _0x3fb00a{constructor(_0x55f6b3,_0x15e9f8){const _0xc8fc58=_0xf8ecb6;this[_0xc8fc58(0x5be)]=_0x55f6b3,this['targetResolver']=_0x15e9f8;}[_0xf8ecb6(0x5a2)]=null;['udidResolved']=![];[_0xf8ecb6(0x7db)]=0x0;static [_0xf8ecb6(0x40d)]=0x1388;['udidInflight']=null;[_0xf8ecb6(0x35a)]=null;['idbAvailable']=null;['installedAppsCache']=null;['INSTALLED_CACHE_MS']=0x7530;[_0xf8ecb6(0x56e)](_0x29799d){this['targetResolver']=_0x29799d;}async[_0xf8ecb6(0x963)](){const _0x13aaf1=_0xf8ecb6;if(!this[_0x13aaf1(0x5c1)])return{'preferSimulator':![],'simulatorUdid':_0x13aaf1(0x232)};const _0x33c39a=await this['targetResolver'][_0x13aaf1(0x62d)](),_0x263135=_0x33c39a['target']===_0x13aaf1(0x25a),_0xa87e57=_0x33c39a[_0x13aaf1(0xb00)]==='simulator'&&_0x33c39a[_0x13aaf1(0x5a2)]?_0x33c39a['udid']:'booted';return{'preferSimulator':_0x263135,'simulatorUdid':_0xa87e57};}async['getUdid'](){const _0x3dc1aa=_0xf8ecb6;if(this[_0x3dc1aa(0x30b)]&&this['udid']&&Date[_0x3dc1aa(0x2f8)]()-this['udidResolvedAt']<_0x3fb00a[_0x3dc1aa(0x40d)])return this[_0x3dc1aa(0x5a2)];if(this['udidInflight'])return this['udidInflight'];const _0x1b19bb=((async()=>{const _0x5b8253=_0x3dc1aa;if(_0x5b8253(0x463)!==_0x5b8253(0x463))return{'mutated':![],'next':_0x444001};else{try{const _0x4c76a7=await _0x193e7c('xcrun');if(!_0x4c76a7)return null;const _0x4eeb44=await _0x27981f(_0x5b8253(0x244),[_0x5b8253(0x85b),'list',_0x5b8253(0x6e2),'--json-output','-'],{'timeoutMs':0x1f40});if(_0x4eeb44[_0x5b8253(0x3aa)]!==0x0)return null;const _0x1fc3af=JSON['parse'](_0x4eeb44[_0x5b8253(0x790)]),_0x3675b1=_0x1fc3af['result']?.[_0x5b8253(0x6e2)]??[],_0x2d586f=_0x3675b1['find'](_0x39b013=>{const _0x5e9c86=_0x5b8253,_0x382501=_0x39b013[_0x5e9c86(0x47b)]?.['platform']?.['toLowerCase']()??'',_0x1a4287=_0x39b013['connectionProperties']?.['tunnelState']?.[_0x5e9c86(0x5b5)]()??'';return _0x382501['includes'](_0x5e9c86(0x6c9))&&_0x1a4287===_0x5e9c86(0x289);});if(_0x2d586f?.['identifier'])return this[_0x5b8253(0x5a2)]=_0x2d586f[_0x5b8253(0x9c9)],this[_0x5b8253(0x30b)]=!![],this['udidResolvedAt']=Date[_0x5b8253(0x2f8)](),this[_0x5b8253(0x5a2)];const _0x4a3150=_0x3675b1[_0x5b8253(0x415)](_0x4a1b35=>(_0x4a1b35['hardwareProperties']?.[_0x5b8253(0x729)]?.[_0x5b8253(0x5b5)]()??'')[_0x5b8253(0x27e)](_0x5b8253(0x6c9)));if(_0x4a3150?.[_0x5b8253(0x9c9)])return this['udid']=_0x4a3150[_0x5b8253(0x9c9)],this['udidResolved']=!![],this[_0x5b8253(0x7db)]=Date['now'](),this[_0x5b8253(0x5a2)];}catch{}return null;}})());this[_0x3dc1aa(0x250)]=_0x1b19bb;try{return await _0x1b19bb;}finally{this[_0x3dc1aa(0x250)]=null;}}async['checkDevicectl'](){const _0x505193=_0xf8ecb6;if(this[_0x505193(0x35a)]!==null)return this['devicectlAvailable'];const _0x15a038=await _0x193e7c('xcrun');if(!_0x15a038)return this[_0x505193(0x35a)]=![],![];const _0x574c77=await _0x27981f(_0x505193(0x244),[_0x505193(0x85b),'--help'],{'timeoutMs':0xfa0});return this['devicectlAvailable']=_0x574c77[_0x505193(0x3aa)]===0x0,this[_0x505193(0x35a)];}async['checkIdb'](){const _0x8ccb20=_0xf8ecb6;if(this['idbAvailable']!==null)return this[_0x8ccb20(0xa09)];return this[_0x8ccb20(0xa09)]=await _0x193e7c(_0x8ccb20(0x3ee)),this['idbAvailable'];}async[_0xf8ecb6(0xadd)](_0x834904){const _0x2a5afa=_0xf8ecb6,_0x1539e4=await this['pickTransport']();if(_0x1539e4['preferSimulator']){const _0x329897=_0x1539e4['simulatorUdid'],_0xda3851=await _0x27981f(_0x2a5afa(0x244),[_0x2a5afa(0x825),_0x2a5afa(0x51b),_0x329897,_0x834904],{'timeoutMs':0x3a98});if(_0xda3851[_0x2a5afa(0x3aa)]===0x0)return{'success':!![],'transport':'simctl','details':{'udid':_0x329897}};return{'success':![],'transport':'simctl','error':_0x2a5afa(0x6bc)+(_0xda3851['stderr']||_0xda3851[_0x2a5afa(0x790)])['trim'](),'details':{'udid':_0x329897}};}const _0x357133=await this['getUdid']();if(_0x357133&&await this['checkDevicectl']()){const _0x49e6bb=await _0x27981f('xcrun',['devicectl','device',_0x2a5afa(0x21b),_0x2a5afa(0x51b),'--device',_0x357133,'--terminate-existing',_0x834904],{'timeoutMs':0x7530});if(_0x49e6bb['code']===0x0)return{'success':!![],'transport':'devicectl','details':{'udid':_0x357133}};const _0x46eeb0=_0x49e6bb[_0x2a5afa(0x910)]||_0x49e6bb['stdout'];if(!await this['checkIdb']())return{'success':![],'transport':_0x2a5afa(0x85b),'error':'devicectl\x20launch\x20failed:\x20'+_0x46eeb0['trim']()};}if(await this[_0x2a5afa(0x7f4)]()){const _0x241c7f=[_0x2a5afa(0x51b),_0x834904];if(_0x357133)_0x241c7f[_0x2a5afa(0x4d1)]('--udid',_0x357133);const _0x2e428d=await _0x27981f(_0x2a5afa(0x3ee),_0x241c7f,{'timeoutMs':0x7530});if(_0x2e428d[_0x2a5afa(0x3aa)]===0x0)return{'success':!![],'transport':_0x2a5afa(0x3ee),'details':{'udid':_0x357133}};if(!_0x357133){}else return{'success':![],'transport':'idb','error':_0x2a5afa(0x71b)+(_0x2e428d['stderr']||_0x2e428d['stdout'])[_0x2a5afa(0x668)]()};}if(!_0x357133){const _0x5df342=await _0x27981f('xcrun',['simctl','launch','booted',_0x834904],{'timeoutMs':0x3a98});if(_0x5df342[_0x2a5afa(0x3aa)]===0x0)return{'success':!![],'transport':'simctl'};return{'success':![],'transport':'simctl','error':'simctl\x20launch\x20failed:\x20'+(_0x5df342['stderr']||_0x5df342[_0x2a5afa(0x790)])['trim']()};}return{'success':![],'transport':_0x2a5afa(0x41a),'error':_0x2a5afa(0xb25)};}async['terminateApp'](_0x255a35){const _0x1c0181=_0xf8ecb6,_0x245544=await this['pickTransport']();if(_0x245544[_0x1c0181(0x292)]){if(_0x1c0181(0xaa3)===_0x1c0181(0x964))_0x555730[_0x1c0181(0x845)]=_0x429798;else{const _0x33c6d2=_0x245544[_0x1c0181(0xa86)],_0x229dd6=await _0x27981f('xcrun',[_0x1c0181(0x825),'terminate',_0x33c6d2,_0x255a35],{'timeoutMs':0x2710});if(_0x229dd6['code']===0x0)return{'success':!![],'transport':'simctl','details':{'udid':_0x33c6d2}};return{'success':![],'transport':'simctl','error':_0x1c0181(0x980)+(_0x229dd6['stderr']||_0x229dd6[_0x1c0181(0x790)])['trim'](),'details':{'udid':_0x33c6d2}};}}if(this['screen']){const _0x50aade=await this['screen'][_0x1c0181(0x3a4)]();if(_0x50aade){const _0x8babae=await this[_0x1c0181(0x5be)]['terminateAppViaWDA'](_0x255a35);if(_0x8babae['success'])return{'success':!![],'transport':_0x1c0181(0x860)};}}const _0xa94c69=await this[_0x1c0181(0x392)]();if(_0xa94c69&&await this['checkDevicectl']()){const _0x1ce23e=await this['findDeviceAppPid'](_0xa94c69,_0x255a35);if(_0x1ce23e!==null){const _0xae5de0=await _0x27981f('xcrun',['devicectl','device',_0x1c0181(0x21b),'terminate',_0x1c0181(0x68f),_0xa94c69,'--pid',String(_0x1ce23e)],{'timeoutMs':0x3a98});if(_0xae5de0[_0x1c0181(0x3aa)]===0x0)return{'success':!![],'transport':'devicectl','details':{'pid':_0x1ce23e}};}}if(await this[_0x1c0181(0x7f4)]()){const _0x2777a7=['terminate',_0x255a35];if(_0xa94c69)_0x2777a7['push'](_0x1c0181(0x6d9),_0xa94c69);const _0x1cedef=await _0x27981f(_0x1c0181(0x3ee),_0x2777a7,{'timeoutMs':0x3a98});if(_0x1cedef['code']===0x0)return{'success':!![],'transport':'idb'};}if(!_0xa94c69){const _0x4bacb4=await _0x27981f('xcrun',[_0x1c0181(0x825),_0x1c0181(0x3f7),'booted',_0x255a35],{'timeoutMs':0x2710});if(_0x4bacb4['code']===0x0)return{'success':!![],'transport':_0x1c0181(0x825)};return{'success':![],'transport':'simctl','error':'simctl\x20terminate\x20failed:\x20'+(_0x4bacb4[_0x1c0181(0x910)]||_0x4bacb4['stdout'])[_0x1c0181(0x668)]()};}return{'success':![],'transport':_0x1c0181(0x41a),'error':_0x1c0181(0x999)};}async[_0xf8ecb6(0x4a6)](_0x1097ab,_0x5c4aa4){const _0x3641a7=_0xf8ecb6,_0x35b29d=await _0x27981f('xcrun',[_0x3641a7(0x85b),_0x3641a7(0xad2),'info',_0x3641a7(0x508),_0x3641a7(0x68f),_0x1097ab,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x35b29d[_0x3641a7(0x3aa)]!==0x0)return null;let _0x407eca=null;try{const _0x23572b=JSON['parse'](_0x35b29d['stdout']);_0x407eca=(_0x23572b['result']?.[_0x3641a7(0x508)]??[])[_0x3641a7(0x415)](_0x459d57=>_0x459d57[_0x3641a7(0x476)]===_0x5c4aa4)?.['url']??null;}catch{return null;}if(!_0x407eca)return null;const _0x1bd9af=_0x407eca['endsWith']('/')?_0x407eca:_0x407eca+'/',_0x3e80f6=await _0x27981f('xcrun',['devicectl','device','info',_0x3641a7(0x702),'--device',_0x1097ab,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x3e80f6['code']!==0x0)return null;try{if(_0x3641a7(0x4b8)===_0x3641a7(0x4b8)){const _0x3f40ea=JSON[_0x3641a7(0x981)](_0x3e80f6[_0x3641a7(0x790)]),_0x2b09e1=(_0x3f40ea[_0x3641a7(0x899)]?.['runningProcesses']??[])['filter'](_0x2ec83b=>typeof _0x2ec83b[_0x3641a7(0x5f6)]==='number'&&(_0x2ec83b['executable']??'')[_0x3641a7(0x746)](_0x1bd9af));if(_0x2b09e1[_0x3641a7(0x3b7)]===0x0)return null;const _0x2418bb=_0x2b09e1['find'](_0x2275af=>!_0x2275af['executable'][_0x3641a7(0x795)](_0x1bd9af['length'])['includes']('/'));return(_0x2418bb??_0x2b09e1[0x0])['processIdentifier'];}else _0x2697bf=_0x551dcb,_0x56316c=_0x147b39;}catch{return null;}}async[_0xf8ecb6(0xa41)](_0x503ba3){const _0x1dcedc=_0xf8ecb6;if(this[_0x1dcedc(0x5be)]){const _0x1675d5=await this['screen'][_0x1dcedc(0x3a4)]();if(_0x1675d5){const _0x457367=await this['screen']['activateApp'](_0x503ba3);if(_0x457367[_0x1dcedc(0x6d0)])return{'success':!![],'transport':'wda'};}}return this['launchApp'](_0x503ba3);}async[_0xf8ecb6(0x84b)](){const _0x16bb85=_0xf8ecb6,_0x8be3e3=await this[_0x16bb85(0x963)](),_0x27e672=_0x8be3e3['preferSimulator']?null:await this['getUdid'](),_0x283e0f=_0x8be3e3[_0x16bb85(0x292)]?'sim:'+_0x8be3e3[_0x16bb85(0xa86)]:_0x16bb85(0xa05)+(_0x27e672??'none');if(this['installedAppsCache']&&this['installedAppsCache']['key']===_0x283e0f&&Date[_0x16bb85(0x2f8)]()-this['installedAppsCache']['at']<this['INSTALLED_CACHE_MS'])return{'success':!![],'apps':this['installedAppsCache'][_0x16bb85(0x508)]};if(_0x8be3e3['preferSimulator'])return this[_0x16bb85(0x373)](_0x8be3e3['simulatorUdid'],_0x283e0f);const _0x284711=_0x27e672;if(!_0x284711)return{'success':![],'apps':[],'error':_0x16bb85(0x625)};if(!await this['checkDevicectl']())return{'success':![],'apps':[],'error':'xcrun\x20devicectl\x20not\x20available\x20—\x20install\x20Xcode\x2015\x20or\x20newer.'};const _0x216227=await _0x27981f(_0x16bb85(0x244),[_0x16bb85(0x85b),'device',_0x16bb85(0x799),'apps',_0x16bb85(0x68f),_0x284711,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x216227['code']!==0x0)return{'success':![],'apps':[],'error':_0x16bb85(0x67c)+(_0x216227[_0x16bb85(0x910)]||_0x216227[_0x16bb85(0x790)])[_0x16bb85(0x668)]()};try{const _0x4dadfc=JSON[_0x16bb85(0x981)](_0x216227[_0x16bb85(0x790)]),_0x1fad73=(_0x4dadfc['result']?.[_0x16bb85(0x508)]??[])['filter'](_0x81e239=>!!_0x81e239['bundleIdentifier'])['map'](_0x3c805e=>({'bundleId':_0x3c805e['bundleIdentifier'],'name':_0x3c805e['name']??_0x3c805e['bundleIdentifier'],'version':_0x3c805e['shortVersionString']??_0x3c805e[_0x16bb85(0x332)]}));return this[_0x16bb85(0x890)]={'at':Date['now'](),'key':_0x283e0f,'apps':_0x1fad73},{'success':!![],'apps':_0x1fad73};}catch(_0x413041){return{'success':![],'apps':[],'error':'Failed\x20to\x20parse\x20devicectl\x20output:\x20'+(_0x413041 instanceof Error?_0x413041[_0x16bb85(0x531)]:String(_0x413041))};}}async[_0xf8ecb6(0x373)](_0xf0eb26,_0x162e87){const _0x462f4a=_0xf8ecb6,_0x1926c4=await _0x27981f(_0x462f4a(0x244),[_0x462f4a(0x825),_0x462f4a(0xa80),_0xf0eb26],{'timeoutMs':0x3a98});if(_0x1926c4['code']!==0x0)return{'success':![],'apps':[],'error':'simctl\x20listapps\x20failed:\x20'+(_0x1926c4[_0x462f4a(0x910)]||_0x1926c4['stdout'])[_0x462f4a(0x668)]()};const _0xdfdc1a=_0x3aff3e(_0x1926c4['stdout']);return this['installedAppsCache']={'at':Date['now'](),'key':_0x162e87,'apps':_0xdfdc1a},{'success':!![],'apps':_0xdfdc1a};}async[_0xf8ecb6(0xa2a)](){if(!this['screen'])return{'success':![],'error':'ScreenManager\x20not\x20provided\x20—\x20cannot\x20query\x20active\x20app\x20via\x20WDA.'};return this['screen']['getActiveAppInfo']();}['reset'](){const _0x4068b5=_0xf8ecb6;this[_0x4068b5(0x5a2)]=null,this[_0x4068b5(0x30b)]=![],this[_0x4068b5(0x7db)]=0x0,this['devicectlAvailable']=null,this['idbAvailable']=null,this[_0x4068b5(0x890)]=null;}},_0x2cc05b=class{constructor(_0x13693a){this['screen']=_0x13693a;}async['ensureAwake'](){const _0x2bc6eb=_0xf8ecb6,_0x69d5ca=await this['screen']['isAvailable']();if(!_0x69d5ca){const _0x42370e=await this[_0x2bc6eb(0x5be)][_0x2bc6eb(0x629)]()['catch'](()=>'http://localhost:8100'),_0x11d68a=_0x42370e['replace'](/^https?:\/\//,'');return{'awake':![],'lockState':'unknown','remediation':'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x11d68a+_0x2bc6eb(0x6bf)};}const _0x7d2cb6=await this[_0x2bc6eb(0x7fa)]();if(_0x7d2cb6==='unlocked')return{'awake':!![],'lockState':_0x2bc6eb(0xb19)};if(_0x7d2cb6===_0x2bc6eb(0x240)||_0x7d2cb6==='screen-off'){const _0x488e28=await this[_0x2bc6eb(0x5be)][_0x2bc6eb(0x6bb)]();if(_0x488e28[_0x2bc6eb(0x6d0)]){if('ISsSi'!=='bTqfK'){const _0x33ddde=await this[_0x2bc6eb(0x7fa)]();if(_0x33ddde===_0x2bc6eb(0xb19))return{'awake':!![],'lockState':'unlocked'};}else _0xc4da3(_0x443cea),_0x316709(_0x548b08);}await this['screen'][_0x2bc6eb(0x783)](_0x2bc6eb(0xa4a))['catch'](()=>void 0x0);const _0x13c547=await this['getLockState']();if(_0x13c547==='unlocked')return{'awake':!![],'lockState':'unlocked'};return{'awake':![],'lockState':_0x13c547,'remediation':_0x2bc6eb(0x239)};}return{'awake':![],'lockState':_0x7d2cb6,'remediation':_0x2bc6eb(0x528)};}['keepAliveHeartbeat'](_0xd87f76={}){const _0xcd94a4=_0xf8ecb6,_0x172c9e=_0xd87f76[_0xcd94a4(0x466)]??0x5dc,_0x12a5d3=setInterval(()=>{this['screen']['pingStatus']()['catch'](()=>void 0x0);},_0x172c9e);if(typeof _0x12a5d3[_0xcd94a4(0x2d6)]==='function')_0x12a5d3['unref']();let _0x3c7c88=![];return{'intervalMs':_0x172c9e,'stop':()=>{if(_0x3c7c88)return;_0x3c7c88=!![],clearInterval(_0x12a5d3);}};}async[_0xf8ecb6(0x7fa)](){const _0x313b62=_0xf8ecb6,_0x3a30a3=await this['screen'][_0x313b62(0xaa6)]();if(_0x3a30a3===!![])return _0x313b62(0x240);if(_0x3a30a3===![]){const _0x2b8523=await this['hasCoverSheet']();return _0x2b8523?'locked':_0x313b62(0xb19);}const _0x58163f=await this['hasCoverSheet']();if(_0x58163f===null)return'unknown';return _0x58163f?'locked':'unlocked';}async[_0xf8ecb6(0x73a)](){const _0x56ff9c=_0xf8ecb6,_0x3347a7=await this['screen']['getSource']();if(!_0x3347a7['success']||!_0x3347a7[_0x56ff9c(0x40e)])return null;const _0x223ee6=['sbcoversheet',_0x56ff9c(0x378),'lockscreen'];let _0x2b47ea=![];const _0x402c6f=_0x268392=>{const _0x46b43d=_0x56ff9c;if(_0x2b47ea)return;const _0x236d73=[_0x268392[_0x46b43d(0x9e5)],_0x268392[_0x46b43d(0x960)],_0x268392['type']][_0x46b43d(0x529)](Boolean)[_0x46b43d(0x4ec)]('\x20')[_0x46b43d(0x5b5)]();if(_0x223ee6[_0x46b43d(0x275)](_0x471a32=>_0x236d73[_0x46b43d(0x27e)](_0x471a32))){_0x2b47ea=!![];return;}const _0x1ce187=_0x268392['children'];if(Array['isArray'](_0x1ce187)){for(const _0x2ef5d0 of _0x1ce187)_0x402c6f(_0x2ef5d0);}};return _0x402c6f(_0x3347a7['source']),_0x2b47ea;}async['setOrientation'](_0x4be2b3){const _0x36df12=_0xf8ecb6;return this[_0x36df12(0x5be)][_0x36df12(0x614)](_0x4be2b3);}[_0xf8ecb6(0x582)](){return{'success':![],'message':'iOS\x20does\x20not\x20expose\x20an\x20API\x20for\x20disabling\x20Auto-Lock.\x20Open\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20on\x20the\x20device\x20before\x20running\x20long\x20flows.\x20The\x20flow\x20runner\x20keeps\x20WDA\x27s\x20session\x20warm\x20with\x20a\x20heartbeat,\x20but\x20it\x20cannot\x20prevent\x20Auto-Lock\x20by\x20itself.'};}};import{readFile as _0x4d5fc9}from'fs/promises';import{join as _0x2fe4ad}from'path';var _0x28392f='cer_';function _0x2ad63a(_0x3dd28e){const _0x22db52=_0xf8ecb6;return _0x3dd28e[_0x22db52(0x746)](_0x28392f);}function _0x346c6b(_0xeab07f){const _0x518e84=_0xf8ecb6;if(!_0x2ad63a(_0xeab07f))return null;const _0x4c5f8e=_0xeab07f[_0x518e84(0x795)](_0x28392f['length']),_0x512d6c=_0x4c5f8e[_0x518e84(0x2f3)](/^(.+)_(\d+)_(\d+)_([0-9a-f]{10})$/);if(!_0x512d6c)return null;return{'pathSlug':_0x512d6c[0x1],'line':Number(_0x512d6c[0x2]),'col':Number(_0x512d6c[0x3]),'hash':_0x512d6c[0x4]};}import{readFileSync}from'fs';import{join as _0x3d12ec}from'path';var _0x4aad5a={'react-native':{'Modal':{'gatingProp':'visible','kind':_0xf8ecb6(0x893)}}},_0xfc3dbf={'firebase/auth':{'onAuthStateChanged':{'tier':'subscription','subscribesTo':'auth-state','subscribeMethod':'onAuthStateChanged'},'signOut':{'tier':'mutation','mutates':_0xf8ecb6(0x286),'mutationMethod':'signOut','delta':{'aspect':'authState','transition':'→\x20anonymous','confidence':_0xf8ecb6(0x8f5)}},'signInWithEmailAndPassword':{'tier':'mutation','mutates':'auth-profile','mutationMethod':_0xf8ecb6(0x2a5),'delta':{'aspect':'authState','transition':'anonymous\x20→\x20authenticated','confidence':_0xf8ecb6(0x8f5)}}}},_0x360d02=null,_0x2994d8=null;function _0x3b6c12(_0x31ecc0){const _0x2115c3=_0xf8ecb6;if(_0x31ecc0===null){_0x360d02=null;return;}_0x360d02=Object[_0x2115c3(0x718)](Object[_0x2115c3(0x5e9)](Object['entries'](_0x31ecc0)[_0x2115c3(0x86b)](([_0x142145,_0x6f9af4])=>[_0x142145,Object['freeze']({..._0x6f9af4})])));}function _0x50a1b6(_0x29f944){const _0x12f9b0=_0xf8ecb6;if(_0x29f944===null){_0x2994d8=null;return;}_0x2994d8=Object['freeze'](Object['fromEntries'](Object[_0x12f9b0(0x42a)](_0x29f944)['map'](([_0x502d21,_0x902cb1])=>[_0x502d21,Object[_0x12f9b0(0x718)]({..._0x902cb1})])));}var _0x293095=Object[_0xf8ecb6(0x718)](Object['fromEntries'](Object['entries'](_0x4aad5a)[_0xf8ecb6(0x86b)](([_0x3e3d4c,_0x2883a2])=>[_0x3e3d4c,Object[_0xf8ecb6(0x718)]({..._0x2883a2})]))),_0x24402e=Object[_0xf8ecb6(0x718)](Object['fromEntries'](Object['entries'](_0xfc3dbf)[_0xf8ecb6(0x86b)](([_0x356543,_0x229588])=>[_0x356543,Object['freeze']({..._0x229588})])));function _0x3ae7de(_0x5a0027,_0x5eed3e=()=>{}){const _0x2e4b1e=_0xf8ecb6;if(!_0x5a0027||typeof _0x5a0027!=='object'||Array[_0x2e4b1e(0x200)](_0x5a0027))return _0x5eed3e('componentControl:\x20entry\x20is\x20not\x20an\x20object'),null;const _0x41e129=_0x5a0027;if(_0x41e129[_0x2e4b1e(0x69a)]!=='componentControl')return _0x5eed3e(_0x2e4b1e(0x2dd)),null;if(typeof _0x41e129[_0x2e4b1e(0x717)]!=='string'||_0x41e129['componentName']['length']===0x0)return _0x5eed3e('componentControl:\x20componentName\x20must\x20be\x20a\x20non-empty\x20string'),null;const _0x290ca5=_0x41e129['controlShape'];if(_0x290ca5!==_0x2e4b1e(0x299)&&_0x290ca5!=='ref-imperative'&&_0x290ca5!=='render-prop')return _0x5eed3e('componentControl:\x20controlShape\x20must\x20be\x20one\x20of\x20\x22boolean-prop\x22|\x22ref-imperative\x22|\x22render-prop\x22\x20(got\x20'+JSON['stringify'](_0x290ca5)+')'),null;if(typeof _0x41e129['stateInference']!==_0x2e4b1e(0x30d)||_0x41e129[_0x2e4b1e(0x777)]['length']===0x0)return _0x5eed3e(_0x2e4b1e(0x59a)),null;if(_0x290ca5==='boolean-prop'){if(typeof _0x41e129[_0x2e4b1e(0x5b9)]!==_0x2e4b1e(0x30d)||_0x41e129[_0x2e4b1e(0x5b9)][_0x2e4b1e(0x3b7)]===0x0)return _0x5eed3e(_0x2e4b1e(0xa5a)),null;}else{if(_0x290ca5===_0x2e4b1e(0x89d)){if(!Array[_0x2e4b1e(0x200)](_0x41e129['openMethods'])||_0x41e129[_0x2e4b1e(0xb29)][_0x2e4b1e(0x3b7)]===0x0||!_0x41e129[_0x2e4b1e(0xb29)]['every'](_0x3c6073=>typeof _0x3c6073===_0x2e4b1e(0x30d)&&_0x3c6073['length']>0x0))return _0x5eed3e('componentControl:\x20ref-imperative\x20entries\x20require\x20non-empty\x20openMethods\x20array'),null;}}if(_0x41e129['uiKind']!==_0x2e4b1e(0x893)&&_0x41e129[_0x2e4b1e(0x3fb)]!=='drawer'&&_0x41e129[_0x2e4b1e(0x3fb)]!=='sheet'&&_0x41e129[_0x2e4b1e(0x3fb)]!=='accordion'&&_0x41e129['uiKind']!==_0x2e4b1e(0x4a0)&&_0x41e129[_0x2e4b1e(0x3fb)]!==_0x2e4b1e(0x81c))return _0x5eed3e('componentControl:\x20uiKind\x20is\x20required\x20and\x20must\x20be\x20one\x20of\x20\x22modal\x22|\x22drawer\x22|\x22sheet\x22|\x22accordion\x22|\x22wizard\x22|\x22reveal\x22\x20(got\x20'+JSON[_0x2e4b1e(0x312)](_0x41e129['uiKind'])+_0x2e4b1e(0x20c)),null;const _0x2cb9b3={'tier':_0x2e4b1e(0x70f),'componentName':_0x41e129[_0x2e4b1e(0x717)],'controlShape':_0x290ca5,'stateInference':_0x41e129['stateInference'],'uiKind':_0x41e129['uiKind']};typeof _0x41e129['visibilityProp']===_0x2e4b1e(0x30d)&&_0x41e129[_0x2e4b1e(0x5b9)]['length']>0x0&&(_0x2cb9b3['visibilityProp']=_0x41e129['visibilityProp']);if(Array[_0x2e4b1e(0x200)](_0x41e129['openMethods'])){const _0x35100f=_0x41e129[_0x2e4b1e(0xb29)][_0x2e4b1e(0x529)](_0x152ff2=>typeof _0x152ff2===_0x2e4b1e(0x30d)&&_0x152ff2['length']>0x0);if(_0x35100f[_0x2e4b1e(0x3b7)]>0x0)_0x2cb9b3[_0x2e4b1e(0xb29)]=_0x35100f;}if(Array[_0x2e4b1e(0x200)](_0x41e129[_0x2e4b1e(0x4f5)])){const _0x3437f6=_0x41e129['closeMethods']['filter'](_0x554219=>typeof _0x554219==='string'&&_0x554219['length']>0x0);if(_0x3437f6[_0x2e4b1e(0x3b7)]>0x0)_0x2cb9b3['closeMethods']=_0x3437f6;}typeof _0x41e129[_0x2e4b1e(0x604)]===_0x2e4b1e(0x30d)&&_0x41e129['renderPropName'][_0x2e4b1e(0x3b7)]>0x0&&(_0x2cb9b3['renderPropName']=_0x41e129[_0x2e4b1e(0x604)]);(_0x41e129[_0x2e4b1e(0x9dc)]===_0x2e4b1e(0x26d)||_0x41e129['origin']==='local-hash')&&(_0x2cb9b3[_0x2e4b1e(0x9dc)]=_0x41e129[_0x2e4b1e(0x9dc)]);if(typeof _0x41e129[_0x2e4b1e(0x332)]==='string')_0x2cb9b3['version']=_0x41e129['version'];if(typeof _0x41e129['fileHash']==='string')_0x2cb9b3[_0x2e4b1e(0x701)]=_0x41e129[_0x2e4b1e(0x701)];if(Array['isArray'](_0x41e129['discoveredIn'])){const _0xbe50dd=_0x41e129[_0x2e4b1e(0x55b)]['filter'](_0x98d42b=>typeof _0x98d42b==='string'&&_0x98d42b['length']>0x0);if(_0xbe50dd[_0x2e4b1e(0x3b7)]>0x0)_0x2cb9b3['discoveredIn']=_0xbe50dd;}return _0x2cb9b3;}function _0x481d33(_0x58afe4,_0xdce433=()=>{}){const _0xf89682=_0xf8ecb6;if(!_0x58afe4||typeof _0x58afe4!=='object'||Array['isArray'](_0x58afe4))return _0xdce433('componentHook:\x20entry\x20is\x20not\x20an\x20object'),null;const _0x2107d1=_0x58afe4;if(_0x2107d1[_0xf89682(0x69a)]!=='componentHook')return _0xdce433(_0xf89682(0xad8)),null;if(typeof _0x2107d1[_0xf89682(0x305)]!=='string'||_0x2107d1['hookName'][_0xf89682(0x3b7)]===0x0)return _0xdce433(_0xf89682(0xae4)),null;const _0x8acdcf=_0x2107d1[_0xf89682(0x3f6)];if(!_0x8acdcf||typeof _0x8acdcf!=='object'||Array[_0xf89682(0x200)](_0x8acdcf))return _0xdce433(_0xf89682(0x8ae)),null;const _0x643952=_0x8acdcf;if(typeof _0x643952[_0xf89682(0x4bb)]!=='string'||_0x643952['state']['length']===0x0)return _0xdce433('componentHook:\x20returns.state\x20must\x20be\x20a\x20non-empty\x20string'),null;if(typeof _0x643952[_0xf89682(0x63c)]!==_0xf89682(0x30d)||_0x643952[_0xf89682(0x63c)][_0xf89682(0x3b7)]===0x0)return _0xdce433(_0xf89682(0x7b5)),null;if(typeof _0x643952['closeMethod']!==_0xf89682(0x30d)||_0x643952[_0xf89682(0x749)][_0xf89682(0x3b7)]===0x0)return _0xdce433('componentHook:\x20returns.closeMethod\x20must\x20be\x20a\x20non-empty\x20string'),null;if(typeof _0x2107d1['stateInference']!=='string'||_0x2107d1['stateInference'][_0xf89682(0x3b7)]===0x0)return _0xdce433(_0xf89682(0x757)),null;const _0xa2cc1d={'tier':_0xf89682(0xb0b),'hookName':_0x2107d1[_0xf89682(0x305)],'returns':{'state':_0x643952['state'],'openMethod':_0x643952[_0xf89682(0x63c)],'closeMethod':_0x643952[_0xf89682(0x749)]},'stateInference':_0x2107d1['stateInference']};typeof _0x643952['toggleMethod']==='string'&&_0x643952['toggleMethod']['length']>0x0&&(_0xa2cc1d['returns'][_0xf89682(0x889)]=_0x643952[_0xf89682(0x889)]);(_0x2107d1['origin']==='npm'||_0x2107d1['origin']===_0xf89682(0x897))&&(_0xa2cc1d['origin']=_0x2107d1['origin']);if(typeof _0x2107d1[_0xf89682(0x332)]==='string')_0xa2cc1d[_0xf89682(0x332)]=_0x2107d1[_0xf89682(0x332)];if(typeof _0x2107d1[_0xf89682(0x701)]===_0xf89682(0x30d))_0xa2cc1d[_0xf89682(0x701)]=_0x2107d1['fileHash'];if(Array[_0xf89682(0x200)](_0x2107d1[_0xf89682(0x55b)])){const _0x1bff29=_0x2107d1['discoveredIn']['filter'](_0x3a5400=>typeof _0x3a5400==='string'&&_0x3a5400[_0xf89682(0x3b7)]>0x0);if(_0x1bff29['length']>0x0)_0xa2cc1d['discoveredIn']=_0x1bff29;}return _0xa2cc1d;}import{webcrypto}from'crypto';var _0x1c7a97=new Uint8Array([0x58,0xf7,0x5d,0x60,0xe7,0xd6,0xf6,0x35,0xbf,0x3b,0x37,0xee,0x24,0x65,0x3a,0xa3,0x8b,0xc4,0x57,0xc5,0x4a,0x2a,0x63,0x8d,0x99,0x66,0xa4,0xb1,0x3c,0x2e,0x35,0xa4]);function _0x413a53(_0x12ce39){const _0x5552bb=_0xf8ecb6;if(_0x12ce39['length']!==0x20)return![];for(let _0xec693=0x0;_0xec693<0x20;_0xec693++){if('fpkDQ'==='fpkDQ'){if(_0x12ce39[_0xec693]!==0x0)return![];}else return{'success':!![],'details':{'element':_0x1888e8[_0x5552bb(0x820)]}};}return!![];}var _0x24af15=0x1388,_0x3943ef=0x1e*0x18*0x3c*0x3c*0x3e8,_0x38e9c6={'name':_0xf8ecb6(0x345)};async function _0xb1badd(_0x1774d3){const _0x20bad4=_0xf8ecb6;if(_0x413a53(_0x1774d3['publicKey']))return null;const _0x1dc091=_0x1774d3['timeoutMs']??_0x24af15,_0x1df68f=_0x1774d3[_0x20bad4(0x5d0)]??fetch,_0x4cef35=_0x1774d3[_0x20bad4(0x2f8)]??Date[_0x20bad4(0x2f8)],_0x5f35cd=new AbortController(),_0x53f9d3=setTimeout(()=>_0x5f35cd[_0x20bad4(0x95c)](),_0x1dc091);let _0x156d54;try{if('KEfaa'==='KEfaa'){const _0x1359b6=await _0x1df68f(_0x1774d3['endpoint'],{'signal':_0x5f35cd[_0x20bad4(0x773)],'headers':{'Accept':_0x20bad4(0x22a)}});if(!_0x1359b6['ok'])return null;_0x156d54=await _0x1359b6[_0x20bad4(0x3e0)]();}else _0x245670[_0x20bad4(0x4d1)]({'region':_0xb85e13(_0x4d6fdd[_0x20bad4(0x268)]),'kind':'resized','severity':_0x37cf96(_0x20bad4(0x3e2),_0x4e6abc,_0x59bf72['bounds']),'nodeId':_0x5e264e,'delta':{'dw':_0x2b1a0a,'dh':_0x348ca8}}),_0x2b2f1d['push'](_0x1bbb04['kind']??'View');}catch{return null;}finally{clearTimeout(_0x53f9d3);}let _0x2fc53b;try{_0x2fc53b=JSON[_0x20bad4(0x981)](_0x156d54);}catch{return null;}if(!_0x1ae791(_0x2fc53b))return null;const _0x10cbbb=Date[_0x20bad4(0x981)](_0x2fc53b[_0x20bad4(0x8ef)]);if(!Number[_0x20bad4(0xa89)](_0x10cbbb))return null;const _0x22b040=_0x4cef35()-_0x10cbbb;if(_0x22b040<0x0||_0x22b040>_0x3943ef)return null;const _0x2c3006=_0x21e039(_0x2fc53b['catalog'],_0x2fc53b['libraryCatalog'],_0x2fc53b['extendedCatalog'],_0x2fc53b[_0x20bad4(0x8ef)]);let _0x3437eb;try{_0x3437eb=_0x5bef14(_0x2fc53b[_0x20bad4(0x98e)]);}catch{return null;}let _0x5a3a65;try{_0x5a3a65=await webcrypto[_0x20bad4(0xa54)]['importKey']('raw',_0x1774d3['publicKey'],_0x38e9c6,![],[_0x20bad4(0x5e8)]);}catch{return null;}let _0x29d964;try{_0x29d964=await webcrypto[_0x20bad4(0xa54)][_0x20bad4(0x5e8)](_0x38e9c6,_0x5a3a65,_0x3437eb,_0x2c3006);}catch{return null;}if(!_0x29d964)return null;const _0x1e3b4a={'droppedCount':0x0,'samples':[]},_0x4f570a={'catalog':_0x518ad9(_0x2fc53b[_0x20bad4(0xaff)],_0x3fc540,_0x20bad4(0xaff),_0x1e3b4a)};return _0x2fc53b['libraryCatalog']&&(_0x4f570a[_0x20bad4(0x314)]=_0x254f19(_0x2fc53b['libraryCatalog'],_0x3fc540,'library',_0x1e3b4a)),_0x2fc53b[_0x20bad4(0x951)]&&(_0x4f570a['extendedCatalog']=_0x254f19(_0x2fc53b[_0x20bad4(0x951)],_0x4558ec,'extended',_0x1e3b4a)),_0x1e3b4a['droppedCount']>0x0&&(_0x4f570a['droppedEntries']=_0x1e3b4a),_0x4f570a;}async function _0x4bae0d(_0x2922cf){const _0x361d16=_0xf8ecb6,_0x3c85b6=_0x2922cf[_0x361d16(0x2f9)]??_0x24af15,_0x3f32ef=_0x2922cf['fetchImpl']??fetch,_0xd41303=new AbortController(),_0x54c3ac=setTimeout(()=>_0xd41303[_0x361d16(0x95c)](),_0x3c85b6);try{const _0x3aca77=await _0x3f32ef(_0x2922cf['endpoint'],{'signal':_0xd41303['signal'],'headers':{'Accept':_0x361d16(0x22a)}});if(!_0x3aca77['ok'])return null;const _0xb6d86a=await _0x3aca77[_0x361d16(0x3e0)]();let _0x3e1512;try{_0x3e1512=JSON['parse'](_0xb6d86a);}catch{return null;}if(!_0x3e1512||typeof _0x3e1512!=='object'||typeof _0x3e1512['publicKey']!==_0x361d16(0x30d))return null;const _0x2abf3e=_0x5bef14(_0x3e1512['publicKey']);if(_0x2abf3e[_0x361d16(0x3b7)]!==0x20)return null;return _0x2abf3e;}catch{return null;}finally{clearTimeout(_0x54c3ac);}}var _0x4270c5=new Set(['__proto__','constructor',_0xf8ecb6(0x46d)]);function _0x29c927(_0x568a49){return _0x568a49['length']>0x0&&!_0x4270c5['has'](_0x568a49);}function _0x1ae791(_0x113208){const _0x431e5b=_0xf8ecb6;if(typeof _0x113208!=='object'||_0x113208===null)return![];const _0x955ea0=_0x113208;if(typeof _0x955ea0['signedAt']!==_0x431e5b(0x30d))return![];if(typeof _0x955ea0[_0x431e5b(0x98e)]!=='string')return![];if(typeof _0x955ea0['catalog']!=='object'||_0x955ea0['catalog']===null||Array[_0x431e5b(0x200)](_0x955ea0['catalog']))return![];for(const [_0x3a95ca]of Object[_0x431e5b(0x42a)](_0x955ea0[_0x431e5b(0xaff)])){if(typeof _0x3a95ca!=='string'||!_0x29c927(_0x3a95ca))return![];}if(_0x955ea0[_0x431e5b(0x314)]!==void 0x0){if(typeof _0x955ea0['libraryCatalog']!==_0x431e5b(0x9e3)||_0x955ea0['libraryCatalog']===null||Array['isArray'](_0x955ea0[_0x431e5b(0x314)]))return![];for(const [_0x1e8807,_0xb83057]of Object['entries'](_0x955ea0['libraryCatalog'])){if(typeof _0x1e8807!=='string'||!_0x29c927(_0x1e8807))return![];if(typeof _0xb83057!==_0x431e5b(0x9e3)||_0xb83057===null||Array['isArray'](_0xb83057))return![];for(const [_0x4d0b1a]of Object[_0x431e5b(0x42a)](_0xb83057)){if(typeof _0x4d0b1a!=='string'||!_0x29c927(_0x4d0b1a))return![];}}}if(_0x955ea0[_0x431e5b(0x951)]!==void 0x0){if(typeof _0x955ea0['extendedCatalog']!==_0x431e5b(0x9e3)||_0x955ea0['extendedCatalog']===null||Array[_0x431e5b(0x200)](_0x955ea0[_0x431e5b(0x951)]))return![];for(const [_0x2a0cb4,_0x877770]of Object['entries'](_0x955ea0['extendedCatalog'])){if(typeof _0x2a0cb4!=='string'||!_0x29c927(_0x2a0cb4))return![];if(typeof _0x877770!=='object'||_0x877770===null||Array['isArray'](_0x877770))return![];for(const [_0x3b650d]of Object[_0x431e5b(0x42a)](_0x877770)){if(typeof _0x3b650d!==_0x431e5b(0x30d)||!_0x29c927(_0x3b650d))return![];}}}return!![];}var _0x5de281=0x8;function _0x586dbf(_0x2e4514,_0x4f2a01){const _0x5c67f6=_0xf8ecb6;_0x2e4514['droppedCount']+=0x1,_0x2e4514['samples']['length']<_0x5de281&&_0x2e4514[_0x5c67f6(0x745)][_0x5c67f6(0x4d1)](_0x4f2a01);}function _0x518ad9(_0x22a597,_0x10007b,_0x366286,_0x3523f1){const _0x4afcd8=_0xf8ecb6,_0x206547=Object['create'](null);for(const [_0xa0ea14,_0x41c20a]of Object[_0x4afcd8(0x42a)](_0x22a597)){const _0x54e258=_0x10007b(_0x41c20a);_0x54e258!==null?_0x206547[_0xa0ea14]=_0x54e258:_0x586dbf(_0x3523f1,_0x366286+':'+_0xa0ea14);}return _0x206547;}function _0x254f19(_0x575dea,_0x2d4bbe,_0x48da90,_0x424542){const _0x2bccc3=_0xf8ecb6,_0x17acf0=Object[_0x2bccc3(0xb02)](null);for(const [_0x47a3f7,_0x341681]of Object['entries'](_0x575dea)){for(const [_0x1f2dbc,_0xd5a3d6]of Object[_0x2bccc3(0x42a)](_0x341681)){const _0x2a3468=_0x2d4bbe(_0xd5a3d6);if(_0x2a3468!==null)!_0x17acf0[_0x47a3f7]&&(_0x17acf0[_0x47a3f7]=Object[_0x2bccc3(0xb02)](null)),_0x17acf0[_0x47a3f7][_0x1f2dbc]=_0x2a3468;else{const _0x39b84a=typeof _0xd5a3d6==='object'&&_0xd5a3d6!==null&&'tier'in _0xd5a3d6?'\x20(tier:\x20'+String(_0xd5a3d6['tier'])+')':'';_0x586dbf(_0x424542,_0x48da90+':'+_0x47a3f7+'#'+_0x1f2dbc+_0x39b84a);}}}return _0x17acf0;}function _0x3fc540(_0x7e8b9b){return _0x406bca(_0x7e8b9b)?_0x7e8b9b:null;}function _0x4558ec(_0x29bd55){const _0x848f83=_0xf8ecb6;if(typeof _0x29bd55!=='object'||_0x29bd55===null)return null;const _0x7c9878=_0x29bd55;switch(_0x7c9878['tier']){case _0x848f83(0x882):return typeof _0x7c9878['subscribesTo']==='string'?_0x29bd55:null;case'mutation':return typeof _0x7c9878[_0x848f83(0x2e9)]===_0x848f83(0x30d)?_0x29bd55:null;case _0x848f83(0x4cc):return typeof _0x7c9878[_0x848f83(0x740)]===_0x848f83(0x30d)?_0x29bd55:null;case _0x848f83(0xa6b):return typeof _0x7c9878['capability']===_0x848f83(0x30d)?_0x29bd55:null;case _0x848f83(0x70f):return _0x3ae7de(_0x7c9878);case _0x848f83(0xb0b):return _0x481d33(_0x7c9878);default:return null;}}function _0x406bca(_0x41a9ea){const _0x5e9eac=_0xf8ecb6;if(typeof _0x41a9ea!==_0x5e9eac(0x9e3)||_0x41a9ea===null)return![];const _0x2b1596=_0x41a9ea;if(typeof _0x2b1596[_0x5e9eac(0x7d5)]!=='string')return![];if(typeof _0x2b1596[_0x5e9eac(0xb14)]!==_0x5e9eac(0x30d))return![];if(_0x2b1596['gatingExpression']!==void 0x0&&_0x2b1596['gatingExpression']!==_0x5e9eac(0xa6d)&&_0x2b1596[_0x5e9eac(0x6bd)]!==_0x5e9eac(0x6b0))return![];if(_0x2b1596['requiresAncestor']!==void 0x0&&typeof _0x2b1596[_0x5e9eac(0x4dd)]!=='string')return![];if(_0x2b1596[_0x5e9eac(0x47a)]!==void 0x0&&_0x2b1596[_0x5e9eac(0x47a)]!=='prop'&&_0x2b1596[_0x5e9eac(0x47a)]!==_0x5e9eac(0x435))return![];if(_0x2b1596[_0x5e9eac(0x570)]!==void 0x0&&typeof _0x2b1596[_0x5e9eac(0x570)]!=='string'){if(_0x5e9eac(0x7ca)==='WxNqt'){const _0x221e5a=_0x587a8f+0x1+_0x1dbdcc,_0x48afd1=_0x3596c8[_0x5e9eac(0xa1c)]['perFlowStatedDependencies']?.[_0x221e5a]??[],_0x3383c2=_0x4734ee[_0x5e9eac(0xa1c)][_0x5e9eac(0xa40)]?.[_0x221e5a],_0xe1771a=_0x5a73f6(_0x5896fc['accumulatedWriteKeys'],_0x7ae219['accumulatedHasFullyDynamicWrite'],_0x1d0076,_0x48afd1,_0x5d2743);return{'flow':_0x3914ff[_0x5e9eac(0x9e5)],'statedDependencies':_0x48afd1,..._0x3383c2&&_0x3383c2['length']>0x0?{'mutexWith':_0x3383c2}:{},'staticDecision':_0xe1771a};}else return![];}return!![];}function _0x21e039(_0x2c40d8,_0x3ebaa8,_0x15e10e,_0x59a16e){const _0x105db5=_0xf8ecb6,_0x1ff8fe={'catalog':_0x609e8a(_0x2c40d8),'signedAt':_0x59a16e};if(_0x3ebaa8!==void 0x0){if('UEOsi'!=='zWdsr')_0x1ff8fe[_0x105db5(0x314)]=_0x609e8a(_0x3ebaa8);else{if(_0x24aecd instanceof _0x3757dd)throw _0x39a5c1;const _0x206ca5=_0x3e71a8?.[_0x105db5(0x531)]??_0x2de9f9(_0x4f00e0),_0x4ac0e4=/exists|conflict|duplicate/i[_0x105db5(0x8aa)](_0x206ca5)?'user-exists':_0x105db5(0x65b);throw new _0xf316af(_0x4ac0e4,_0x105db5(0x857)+_0x206ca5,_0x2e2612);}}_0x15e10e!==void 0x0&&(_0x1ff8fe[_0x105db5(0x951)]=_0x609e8a(_0x15e10e));const _0x1f742e=JSON['stringify'](_0x609e8a(_0x1ff8fe));return new TextEncoder()['encode'](_0x1f742e);}function _0x609e8a(_0x4d9606){const _0x55dc0b=_0xf8ecb6;if(Array['isArray'](_0x4d9606))return _0x4d9606['map'](_0x525dc1=>_0x609e8a(_0x525dc1));if(_0x4d9606!==null&&typeof _0x4d9606===_0x55dc0b(0x9e3)){const _0x1c5b8b={},_0xd538e=Object[_0x55dc0b(0x8c1)](_0x4d9606)['sort']();for(const _0x15e8e7 of _0xd538e){_0x1c5b8b[_0x15e8e7]=_0x609e8a(_0x4d9606[_0x15e8e7]);}return _0x1c5b8b;}return _0x4d9606;}function _0x5bef14(_0x5cb3ac){const _0xfed3d1=_0xf8ecb6;return new Uint8Array(Buffer['from'](_0x5cb3ac,_0xfed3d1(0x343)));}var _0x2e34df=0x4,_0x499865=0x4,_0x342498=0x1388,_0x5965e0=new Set([_0xf8ecb6(0x246),'Image']);function _0x1871e3(_0xd2d3d2,_0x5a2862,_0x213d05){const _0x202ab6=_0xf8ecb6;if(!_0xd752c1(_0xd2d3d2)||!_0xd752c1(_0x5a2862))return _0x44b137();if(!_0x4f5c31(_0x213d05))return _0x44b137();const _0xa5831e=_0x11778a(_0xd2d3d2['nodes']),_0x39e285=_0x11778a(_0x5a2862['nodes']);if(!_0x521e60(_0xa5831e,_0x39e285))return _0x44b137();const _0x458cf7=[],_0x34eae9=[],_0x37aeca=new Set();for(const [_0x3ce59a,_0x27a0ba]of _0xa5831e){_0x37aeca['add'](_0x3ce59a);const _0x1b3ddf=_0x39e285[_0x202ab6(0x3fd)](_0x3ce59a);if(_0x1b3ddf===void 0x0){_0x27a0ba[_0x202ab6(0x82a)]&&(_0x458cf7[_0x202ab6(0x4d1)]({'region':_0x370505(_0x27a0ba['bounds']),'kind':'removed','severity':_0x9ce8a7(_0x202ab6(0x62c),_0x27a0ba,_0x27a0ba[_0x202ab6(0x268)]),'nodeId':_0x3ce59a}),_0x34eae9['push'](_0x27a0ba['kind']??_0x202ab6(0x755)));continue;}const _0x4fa3b2=_0x1b3ddf[_0x202ab6(0x268)]['x']-_0x27a0ba['bounds']['x'],_0x390454=_0x1b3ddf['bounds']['y']-_0x27a0ba['bounds']['y'],_0x2faf94=_0x1b3ddf[_0x202ab6(0x268)]['w']-_0x27a0ba['bounds']['w'],_0x272ba7=_0x1b3ddf[_0x202ab6(0x268)]['h']-_0x27a0ba['bounds']['h'];(Math['abs'](_0x4fa3b2)>_0x2e34df||Math['abs'](_0x390454)>_0x2e34df)&&(_0x458cf7[_0x202ab6(0x4d1)]({'region':_0x370505(_0x1b3ddf['bounds']),'kind':'moved','severity':_0x9ce8a7(_0x202ab6(0x85c),_0x1b3ddf,_0x1b3ddf[_0x202ab6(0x268)]),'nodeId':_0x3ce59a,'delta':{'dx':_0x4fa3b2,'dy':_0x390454}}),_0x34eae9[_0x202ab6(0x4d1)](_0x1b3ddf['kind']??_0x202ab6(0x755))),(Math[_0x202ab6(0x5af)](_0x2faf94)>_0x499865||Math['abs'](_0x272ba7)>_0x499865)&&(_0x458cf7[_0x202ab6(0x4d1)]({'region':_0x370505(_0x1b3ddf[_0x202ab6(0x268)]),'kind':_0x202ab6(0x3e2),'severity':_0x9ce8a7(_0x202ab6(0x3e2),_0x1b3ddf,_0x1b3ddf[_0x202ab6(0x268)]),'nodeId':_0x3ce59a,'delta':{'dw':_0x2faf94,'dh':_0x272ba7}}),_0x34eae9['push'](_0x1b3ddf['kind']??'View'));}for(const [_0xc52b87,_0x3bf7ee]of _0x39e285){if(_0x37aeca['has'](_0xc52b87))continue;if(!_0x3bf7ee[_0x202ab6(0x82a)])continue;_0x458cf7[_0x202ab6(0x4d1)]({'region':_0x370505(_0x3bf7ee['bounds']),'kind':_0x202ab6(0x7ed),'severity':_0x9ce8a7('added',_0x3bf7ee,_0x3bf7ee['bounds']),'nodeId':_0xc52b87}),_0x34eae9['push'](_0x3bf7ee['kind']??'View');}const _0x3120a6=[],_0x4f7d0a=[];for(let _0x43f942=0x0;_0x43f942<_0x458cf7['length'];_0x43f942++){const _0x1c1cae=_0x458cf7[_0x43f942];if(_0x3a1754(_0x1c1cae['region'],_0x213d05))continue;_0x3120a6['push'](_0x1c1cae),_0x4f7d0a[_0x202ab6(0x4d1)](_0x34eae9[_0x43f942]);}if(_0x3120a6['length']===0x0)return _0x44b137();return{'regressions':_0x3120a6,'warning':_0x16f402(_0x3120a6,_0x4f7d0a,_0x213d05)};}function _0x44b137(){return{'regressions':[],'warning':null};}function _0xd752c1(_0x3c21bd){const _0x30b3fd=_0xf8ecb6;if(!_0x3c21bd)return![];if(!Array['isArray'](_0x3c21bd['nodes']))return![];if(_0x3c21bd[_0x30b3fd(0x8c5)]['length']===0x0)return![];return!![];}function _0x4f5c31(_0x894d52){const _0x3f7977=_0xf8ecb6;if(!_0x894d52)return![];if(!Number['isFinite'](_0x894d52['x'])||!Number['isFinite'](_0x894d52['y']))return![];if(!Number[_0x3f7977(0xa89)](_0x894d52['w'])||!Number['isFinite'](_0x894d52['h']))return![];if(_0x894d52['w']<=0x0||_0x894d52['h']<=0x0)return![];return!![];}function _0x11778a(_0x501de6){const _0x50590e=_0xf8ecb6,_0x19b356=new Map();for(const _0x16e99a of _0x501de6){if(!_0x16e99a||typeof _0x16e99a['id']!==_0x50590e(0x30d)||_0x16e99a['id']['length']===0x0)continue;if(!_0x16e99a['bounds'])continue;const {x:_0x501140,y:_0x239da5,w:_0x322a13,h:_0x2628ef}=_0x16e99a[_0x50590e(0x268)];if(!Number[_0x50590e(0xa89)](_0x501140)||!Number[_0x50590e(0xa89)](_0x239da5))continue;if(!Number[_0x50590e(0xa89)](_0x322a13)||!Number['isFinite'](_0x2628ef))continue;_0x19b356['set'](_0x16e99a['id'],_0x16e99a);}return _0x19b356;}function _0x521e60(_0x15f85b,_0x22cd3b){const _0xeb2b80=_0xf8ecb6,[_0x2536dc,_0x2a9953]=_0x15f85b[_0xeb2b80(0x952)]<=_0x22cd3b[_0xeb2b80(0x952)]?[_0x15f85b,_0x22cd3b]:[_0x22cd3b,_0x15f85b];for(const _0x4f42d9 of _0x2536dc['keys']()){if(_0x2a9953[_0xeb2b80(0x979)](_0x4f42d9))return!![];}return![];}function _0x370505(_0x263b83){return{'x':_0x263b83['x'],'y':_0x263b83['y'],'w':_0x263b83['w'],'h':_0x263b83['h']};}function _0x3a1754(_0x3749a2,_0x15fe4f){const _0x58c42a=_0x3749a2['x']+_0x3749a2['w'],_0x36cada=_0x3749a2['y']+_0x3749a2['h'],_0x40f199=_0x15fe4f['x']+_0x15fe4f['w'],_0x417f44=_0x15fe4f['y']+_0x15fe4f['h'];if(_0x58c42a<=_0x15fe4f['x'])return![];if(_0x40f199<=_0x3749a2['x'])return![];if(_0x36cada<=_0x15fe4f['y'])return![];if(_0x417f44<=_0x3749a2['y'])return![];return!![];}function _0x9ce8a7(_0x757dc1,_0x388993,_0x5a4b2e){const _0x21529b=_0xf8ecb6,_0x4e938e=Math[_0x21529b(0x553)](0x0,_0x5a4b2e['w'])*Math['max'](0x0,_0x5a4b2e['h']);if(_0x4e938e>_0x342498)return _0x21529b(0x8f5);if(_0x757dc1==='added'||_0x757dc1===_0x21529b(0x62c)){if(_0x388993[_0x21529b(0xb14)]&&_0x5965e0[_0x21529b(0x979)](_0x388993['kind']))return'high';}return _0x21529b(0xad1);}function _0x16f402(_0x34317d,_0x144531,_0x25212e){const _0x4f828a=_0xf8ecb6,_0x54689f=new Map();for(let _0x498cdd=0x0;_0x498cdd<_0x34317d[_0x4f828a(0x3b7)];_0x498cdd++){const _0x5e4a83=_0x34317d[_0x498cdd],_0x295931=_0x144531[_0x498cdd]??_0x4f828a(0x755),_0x532ef6=_0x5e4a83[_0x4f828a(0xb14)]+'\x20'+_0x295931;_0x54689f['set'](_0x532ef6,(_0x54689f['get'](_0x532ef6)??0x0)+0x1);}const _0x2aaee6=Array[_0x4f828a(0x56c)](_0x54689f[_0x4f828a(0x8c1)]())['sort'](),_0x4870cf=[];for(const _0x422e8d of _0x2aaee6){_0x4870cf[_0x4f828a(0x4d1)](_0x54689f['get'](_0x422e8d)+'\x20'+_0x422e8d);}const _0x88f972=_0x25212e['screenName']?_0x4f828a(0xa4d)+_0x25212e['screenName']+'\x20region':'outside\x20form\x20region';return _0x34317d[_0x4f828a(0x3b7)]+_0x4f828a(0x27b)+(_0x34317d['length']===0x1?'':'s')+'\x20'+_0x88f972+':\x20'+_0x4870cf[_0x4f828a(0x4ec)](',\x20');}var _0x21dcaa=class{['entry']=null;['epoch']=0x0;['invalidate'](){const _0x5393e2=_0xf8ecb6;this[_0x5393e2(0x9e7)]+=0x1,this[_0x5393e2(0x3c9)]=null;}[_0xf8ecb6(0x3fd)](_0x2c29a7){const _0x5d9458=_0xf8ecb6;if(!this['entry'])return null;if(this['entry']['epoch']!==_0x2c29a7)return null;return this[_0x5d9458(0x3c9)]['tree'];}[_0xf8ecb6(0x93e)](_0x1156b9,_0x383f1a){const _0x153aea=_0xf8ecb6;this[_0x153aea(0x3c9)]={'tree':_0x1156b9,'epoch':this[_0x153aea(0x9e7)],'capturedAtStep':_0x383f1a};}[_0xf8ecb6(0x76f)](){return this['epoch'];}[_0xf8ecb6(0x49e)](){const _0x15fb56=_0xf8ecb6;this[_0x15fb56(0x3c9)]=null,this[_0x15fb56(0x9e7)]=0x0;}};function _0x4071e2(_0x207fc6){const _0xf3229f=_0xf8ecb6;if(_0x207fc6['action']===_0xf3229f(0x51b)||_0x207fc6[_0xf3229f(0x5a0)]==='terminate'||_0x207fc6['action']===_0xf3229f(0x49e))return!![];if(_0x207fc6['action']===_0xf3229f(0x783)&&_0x207fc6['key']===_0xf3229f(0xa4a))return!![];if(_0x207fc6['action']===_0xf3229f(0x2cd))return!![];if(_0x207fc6['action']==='type'&&_0x207fc6[_0xf3229f(0x2d5)])return!![];if(_0x207fc6[_0xf3229f(0xa66)])return!![];if(_0x207fc6[_0xf3229f(0xa23)])return!![];if(_0x207fc6[_0xf3229f(0x41b)]){if(_0x207fc6['verifyMutation']['mutationKind']==='storage')return!![];const _0x232aef=_0x207fc6[_0xf3229f(0x41b)]['sourceMethod']['toUpperCase']();return _0x232aef===_0xf3229f(0x513)||_0x232aef===_0xf3229f(0x594)||_0x232aef==='PATCH'||_0x232aef==='DELETE';}return![];}var _0x262d18=0x64;async function _0x4c6449(_0xd9c42b,_0x4cca5e={}){const _0x24cf2a=_0xf8ecb6;let _0x1f1880=_0x4cca5e['tree']??null;if(_0x1f1880===null){if(typeof _0xd9c42b['fetchSourceTree']!==_0x24cf2a(0x49b))return null;try{_0x1f1880=await _0xd9c42b[_0x24cf2a(0x491)]();}catch{return null;}}if(!_0x1f1880)return null;const _0x35845d=[];try{_0x4a33d5(_0x1f1880,_0x35845d,[]);}catch{return null;}if(_0x35845d[_0x24cf2a(0x3b7)]===0x0)return null;return _0x4cca5e['screenName']?{'nodes':_0x35845d,'screenName':_0x4cca5e[_0x24cf2a(0x99b)]}:{'nodes':_0x35845d};}function _0x4a33d5(_0x585528,_0xaf3986,_0x5e9c99){const _0x592b34=_0xf8ecb6;if(!_0x585528||typeof _0x585528!==_0x592b34(0x9e3))return;const _0x3fff58=_0xdc482e(_0x585528);if(_0x3fff58){const _0x3dfcdc=_0x45da4e(_0x585528)??_0x592b34(0x7bf)+_0x5e9c99[_0x592b34(0x4ec)]('.'),_0x36c5e7=typeof _0x585528[_0x592b34(0x45e)]==='string'?_0x5ef0fb(_0x585528[_0x592b34(0x45e)]):void 0x0;_0xaf3986[_0x592b34(0x4d1)]({'id':_0x3dfcdc,'bounds':_0x3fff58,'visible':_0x3fff58['w']>0x0&&_0x3fff58['h']>0x0,..._0x36c5e7?{'kind':_0x36c5e7}:{}});}const _0x3b157c=Array['isArray'](_0x585528[_0x592b34(0x4e3)])?_0x585528[_0x592b34(0x4e3)]:[];for(let _0x408492=0x0;_0x408492<_0x3b157c['length'];_0x408492++){_0x4a33d5(_0x3b157c[_0x408492],_0xaf3986,[..._0x5e9c99,_0x408492]);}}function _0xdc482e(_0x559f0c){const _0x53eb1d=_0xf8ecb6,_0x93dc08=_0x559f0c[_0x53eb1d(0x24c)];if(!_0x93dc08)return null;const _0x40dc7a=_0x4c352f(_0x93dc08['x']),_0x2a5cce=_0x4c352f(_0x93dc08['y']),_0x4b96eb=_0x4c352f(_0x93dc08['width']),_0x43777e=_0x4c352f(_0x93dc08['height']);if(_0x40dc7a===null||_0x2a5cce===null||_0x4b96eb===null||_0x43777e===null)return null;return{'x':_0x40dc7a,'y':_0x2a5cce,'w':_0x4b96eb,'h':_0x43777e};}function _0x4c352f(_0x277d2b){const _0x15810d=_0xf8ecb6;if(typeof _0x277d2b!==_0x15810d(0x2af))return null;if(!Number['isFinite'](_0x277d2b))return null;return _0x277d2b;}function _0x45da4e(_0x168809){const _0x2de0e3=_0xf8ecb6,_0x290247=_0xeb94c9(_0x168809['name']);if(_0x290247)return _0x290247;const _0xd6ab0e=_0xeb94c9(_0x168809[_0x2de0e3(0x960)]);if(_0xd6ab0e)return _0xd6ab0e;const _0x1a7cf4=_0xeb94c9(_0x168809['value']);if(_0x1a7cf4)return _0x1a7cf4;return null;}function _0xeb94c9(_0x4a5aea){if(typeof _0x4a5aea!=='string')return null;if(_0x4a5aea['length']===0x0)return null;return _0x4a5aea;}function _0x5ef0fb(_0x3d527f){const _0x1958dc=_0xf8ecb6;if(_0x3d527f['includes']('StaticText'))return _0x1958dc(0x246);if(_0x3d527f[_0x1958dc(0x27e)](_0x1958dc(0x4b7)))return _0x1958dc(0x4b7);if(_0x3d527f[_0x1958dc(0x27e)](_0x1958dc(0x616)))return _0x1958dc(0x616);if(_0x3d527f[_0x1958dc(0x27e)]('TextField')||_0x3d527f['includes'](_0x1958dc(0x79b)))return'Input';return'View';}function _0x319bf2(_0x46e4ae,_0xe3ed9f){if(_0x46e4ae===void 0x0)return _0xe3ed9f;if(_0xe3ed9f===void 0x0)return _0x46e4ae;return Math['max'](_0x46e4ae,_0xe3ed9f);}function _0x246c87(_0x1975c4){const _0x5661f2=_0xf8ecb6,{target:_0x2130dc,..._0x194f5a}=_0x1975c4;if(!_0x2130dc)return _0x194f5a;const _0x3b9afc={..._0x194f5a};switch(_0x3b9afc['action']){case'type':{const _0x217614=_0x3b9afc['into'],_0x3c3891=_0x2130dc[_0x5661f2(0x3e0)]??_0x2130dc['testID'];if(_0x217614===void 0x0&&(_0x3c3891!==void 0x0||_0x2130dc[_0x5661f2(0x444)]!==void 0x0)){const _0xf8891={};if(_0x3c3891!==void 0x0)_0xf8891[_0x5661f2(0x3e0)]=_0x3c3891;_0x2130dc['accessibilityLabel']!==void 0x0&&(_0xf8891['accessibilityLabel']=_0x2130dc[_0x5661f2(0x444)]),_0x3b9afc['into']=_0xf8891;}_0x3b9afc[_0x5661f2(0x581)]===void 0x0&&_0x2130dc[_0x5661f2(0x581)]!==void 0x0&&(_0x3b9afc[_0x5661f2(0x581)]=_0x2130dc['fallbackText']);break;}case _0x5661f2(0x2cd):case _0x5661f2(0x45c):case'clearText':case _0x5661f2(0xa59):case'waitFor':case _0x5661f2(0xa0b):case _0x5661f2(0x88c):{const _0x1ae5c8=_0x2130dc['text']??_0x2130dc['testID'];_0x3b9afc[_0x5661f2(0x3e0)]===void 0x0&&_0x1ae5c8!==void 0x0&&(_0x3b9afc['text']=_0x1ae5c8);_0x3b9afc['accessibilityLabel']===void 0x0&&_0x2130dc['accessibilityLabel']!==void 0x0&&(_0x3b9afc[_0x5661f2(0x444)]=_0x2130dc['accessibilityLabel']);_0x3b9afc['action']!==_0x5661f2(0x436)&&_0x3b9afc['action']!=='assertNotVisible'&&_0x3b9afc[_0x5661f2(0x581)]===void 0x0&&_0x2130dc['fallbackText']!==void 0x0&&(_0x3b9afc['fallbackText']=_0x2130dc['fallbackText']);_0x3b9afc[_0x5661f2(0x45e)]===void 0x0&&_0x2130dc['role']!==void 0x0&&(_0x3b9afc[_0x5661f2(0x45e)]=_0x2130dc[_0x5661f2(0x924)]);break;}default:break;}return _0x3b9afc;}var _0x29fee1=0x5*0x3c*0x3e8,_0x4400df=0x3,_0x4af023=class{constructor(_0x5d5670,_0x4a95f4,_0x38777b,_0x436a19={}){const _0x28b9d3=_0xf8ecb6;this['screen']=_0x5d5670,this[_0x28b9d3(0x508)]=_0x4a95f4,this[_0x28b9d3(0x738)]=_0x38777b,this['opts']=_0x436a19;}async[_0xf8ecb6(0x7f0)](_0x1b626d,_0x11634d){const _0x3943ad=_0xf8ecb6,_0x138617=_0x11634d??this['opts']['runContext'],_0x31ac0f=Date['now'](),_0x154e44=_0x1b626d[_0x3943ad(0x2f9)]??_0x29fee1,_0x5f20cc=_0x1b626d[_0x3943ad(0xa02)]['map'](_0x3d214f=>_0x246c87(_0x3d214f)),_0x2f1ff0=_0x2fe4ad(this[_0x3943ad(0x83e)][_0x3943ad(0x9aa)]??process['cwd'](),_0x3943ad(0x383)),_0x3c01d6=[],_0x30467b=[],_0x1104ee=new Set(),_0x32e5ce=new _0x21dcaa(),_0x52975f=!this['opts'][_0x3943ad(0x274)],_0xfcfbe2=!this[_0x3943ad(0x83e)][_0x3943ad(0x32e)],_0xa5eaab=_0x52975f?{'axCache':_0x32e5ce,'disableBulkActions':!_0xfcfbe2}:{'disableBulkActions':!_0xfcfbe2},_0x5b92d0=!this[_0x3943ad(0x83e)][_0x3943ad(0xa43)]&&_0x138617!==void 0x0;let _0x20f016=null;const _0x260f94=new Set();try{const _0x6c8e5f=await this[_0x3943ad(0x410)](_0x2f1ff0);for(const _0x3d4265 of _0x6c8e5f){_0x260f94[_0x3943ad(0x856)](this[_0x3943ad(0x7f8)](_0x3d4265));}}catch{}let _0x244fd0;if(!this[_0x3943ad(0x83e)]['skipEnsureAwake']){_0x244fd0=await this[_0x3943ad(0x738)]['ensureAwake']();if(!_0x244fd0[_0x3943ad(0x671)])return{'flow':_0x1b626d[_0x3943ad(0x9e5)],'flowId':_0x1b626d['flowId'],'success':![],'totalDurationMs':Date['now']()-_0x31ac0f,'steps':[],'runtimeErrors':[],'awake':_0x244fd0};}const _0x48ab37=this[_0x3943ad(0x83e)][_0x3943ad(0x697)]?null:this['autonomy'][_0x3943ad(0x258)]({'intervalMs':0x5dc});try{if(_0x1b626d['beforeAll']?.['ensureLaunched']){const _0x54f25b=await this[_0x3943ad(0x508)][_0x3943ad(0xa41)](_0x1b626d[_0x3943ad(0x4df)]['ensureLaunched']);if(!_0x54f25b[_0x3943ad(0x6d0)]){if(_0x3943ad(0x58a)===_0x3943ad(0x58a)){const _0x2ad78b=await this[_0x3943ad(0x508)]['launchApp'](_0x1b626d['beforeAll']['ensureLaunched']);if(!_0x2ad78b[_0x3943ad(0x6d0)])return{'flow':_0x1b626d['name'],'flowId':_0x1b626d[_0x3943ad(0x930)],'success':![],'totalDurationMs':Date['now']()-_0x31ac0f,'steps':[{'stepIndex':-0x1,'action':'beforeAll.ensureLaunched','success':![],'durationMs':Date['now']()-_0x31ac0f,'error':_0x2ad78b[_0x3943ad(0x3dd)]??_0x54f25b[_0x3943ad(0x3dd)]??_0x3943ad(0x969)}],'runtimeErrors':[],'awake':_0x244fd0};}else{const _0x4dc92f=_0x4226c9[_0x3943ad(0x3fd)](_0x351e51['currentEpoch']());if(_0x4dc92f)return _0x1e4052=_0x4dc92f,_0x4dc92f;}}}for(let _0x478d4f=0x0;_0x478d4f<_0x5f20cc['length'];_0x478d4f++){if(Date['now']()-_0x31ac0f>_0x154e44){_0x3c01d6[_0x3943ad(0x4d1)]({'stepIndex':_0x478d4f,'action':_0x5f20cc[_0x478d4f]['action'],'success':![],'durationMs':0x0,'error':_0x3943ad(0x4ff)+_0x154e44+'ms)\x20exceeded\x20before\x20step\x20'+_0x478d4f+'.',..._0x1ddfd3(_0x5f20cc[_0x478d4f])});break;}const _0x2ba1d6=Date['now'](),_0x4a4308=_0x5f20cc[_0x478d4f];let _0x1e8576;if(this['opts'][_0x3943ad(0x765)])try{const _0x3b0899=await this['opts'][_0x3943ad(0x765)][_0x3943ad(0x331)]();_0x3b0899[_0x3943ad(0x21f)]&&_0x3b0899['dialog']&&(_0x1e8576={'title':_0x3b0899[_0x3943ad(0x9d9)][_0x3943ad(0x7ec)],'action':_0x3b0899['dialog'][_0x3943ad(0x5a0)]});}catch{}_0x52975f&&_0x4071e2(_0x4a4308)&&_0x32e5ce[_0x3943ad(0x3e7)]();const _0x42ee91=await this['runStep'](_0x4a4308,_0xa5eaab),_0x5324f2=Date['now']()-_0x2ba1d6;_0x52975f&&typeof _0x42ee91['details']?.[_0x3943ad(0x8eb)]==='number'&&_0x42ee91['details']['retryAfterSwipes']>0x0&&_0x32e5ce['invalidate']();const _0x54ae98=[],_0x4c073d=[],_0x588866=[];let _0x3fc7c9=![];try{const _0x34e761=await this[_0x3943ad(0x410)](_0x2f1ff0);for(const _0xe5486f of _0x34e761){const _0x4be597=this[_0x3943ad(0x7f8)](_0xe5486f);if(!_0x260f94[_0x3943ad(0x979)](_0x4be597)){_0x260f94[_0x3943ad(0x856)](_0x4be597),_0x54ae98['push']({'message':_0xe5486f[_0x3943ad(0x531)],'stack':_0xe5486f[_0x3943ad(0xade)]}),_0x30467b[_0x3943ad(0x4d1)](_0xe5486f);const _0x310f5b=this[_0x3943ad(0x9af)](_0xe5486f,_0x1b626d[_0x3943ad(0x930)]);if(_0x310f5b['objective'])_0x4c073d['push'](_0x310f5b[_0x3943ad(0x989)]);if(_0x310f5b['witness'])_0x588866[_0x3943ad(0x4d1)](_0x310f5b['witness']);if(_0x310f5b[_0x3943ad(0x262)])_0x3fc7c9=!![];}}}catch{}let _0x322896;const _0x4eedb5=async _0x2073ed=>{const _0x4143b4=_0x3943ad;if(!_0x2073ed&&_0x322896!==void 0x0)return _0x322896;if(!_0x2073ed&&_0x52975f){if(_0x4143b4(0x8fc)==='EFJPQ'){const _0x40506f=_0x32e5ce[_0x4143b4(0x3fd)](_0x32e5ce['currentEpoch']());if(_0x40506f)return _0x322896=_0x40506f,_0x40506f;}else return{'success':![],'error':_0x4143b4(0x9b9),'batched':![]};}let _0x4b4785=null;try{_0x4b4785=await this['screen'][_0x4143b4(0x491)]();}catch{'xIDFK'!==_0x4143b4(0x946)?_0x4b4785=null:(_0x3bd991=!![],_0x59f944({'success':!![],'message':_0x4143b4(0x310)}));}return _0x4b4785&&_0x52975f&&_0x32e5ce[_0x4143b4(0x93e)](_0x4b4785,_0x478d4f),_0x322896=_0x4b4785,_0x4b4785;},_0x17cead=[];if(_0x3fc7c9&&!this['opts']['skipScreenshots']){const _0x3b4c0c=_0x5b92d0?await _0x4eedb5(!![]):null,_0x2799ed=await this['snapshotErrorBanners'](_0x3b4c0c)[_0x3943ad(0x48b)](()=>[]);for(const _0x5772e8 of _0x2799ed){_0x17cead['push']({'kind':_0x3943ad(0x700),'message':_0x3943ad(0x55a)+_0x5772e8[_0x3943ad(0x960)],'detail':'signal='+_0x5772e8[_0x3943ad(0x633)]+_0x3943ad(0x834)+_0xc3ad00(_0x5772e8['text'],0xc8),'flowId':_0x1b626d[_0x3943ad(0x930)]});}}const _0x42b809=await this[_0x3943ad(0x2e3)](_0x4a4308,_0x1b626d['flowId']),_0x303772=_0x1e8576?{'permissionDialogHandled':_0x1e8576,..._0x42ee91[_0x3943ad(0x65d)]??{}}:_0x42ee91[_0x3943ad(0x65d)],_0x4235d5=[...(_0x42ee91['objectiveSignals']??[])[_0x3943ad(0x86b)](_0x274cbe=>({..._0x274cbe,'flowId':_0x274cbe[_0x3943ad(0x930)]??_0x1b626d[_0x3943ad(0x930)]})),..._0x4c073d],_0x801253=[];if(_0x5b92d0){if(_0x3943ad(0x298)!==_0x3943ad(0x8ba)){const _0x23fd76=await _0x4eedb5(![]),_0x5c1cf7=_0x23fd76===null?null:await _0x4c6449(this[_0x3943ad(0x5be)],{'tree':_0x23fd76});if(_0x20f016&&_0x5c1cf7){const _0x1455aa=this['defaultExpectedRegion'](_0x20f016);try{const _0x1df851=_0x1871e3(_0x20f016,_0x5c1cf7,_0x1455aa);_0x1df851[_0x3943ad(0x696)]&&_0x801253['push']({'kind':_0x3943ad(0x75e),'message':_0x1df851['warning'],'detail':_0x51e350(_0x1df851['regressions']),'flowId':_0x1b626d[_0x3943ad(0x930)]});}catch{}}_0x20f016=_0x5c1cf7;}else return'error';}const _0x5c28c7=[...(_0x42ee91[_0x3943ad(0x394)]??[])[_0x3943ad(0x86b)](_0x2a61e6=>({..._0x2a61e6,'flowId':_0x2a61e6[_0x3943ad(0x930)]??_0x1b626d['flowId']})),..._0x588866,..._0x42b809[_0x3943ad(0x394)],..._0x17cead,..._0x801253],_0x51c247=_0x42ee91['reloadRecoveryWitness']??_0x42b809['reload'],_0xbc2ce6=!_0x42ee91[_0x3943ad(0x6d0)]||_0x478d4f===_0x5f20cc['length']-0x1,_0x5b1ab4=this[_0x3943ad(0x655)]({'objectiveSignals':_0x4235d5,'witnesses':_0x5c28c7,'reloadRecoveryWitness':_0x51c247,'details':_0x303772,'isFinalStep':_0xbc2ce6}),_0x530be4=_0x138617?.[_0x3943ad(0xa67)]?.[_0x3943ad(0x979)](_0x1b626d[_0x3943ad(0x9e5)])??![],_0x949318=(_0x5b1ab4!==void 0x0||_0x530be4)&&!this[_0x3943ad(0x83e)]['skipScreenshots'];let _0x474c07;if(_0x949318){const _0x13cbeb=await this['screen'][_0x3943ad(0x439)]()[_0x3943ad(0x48b)](()=>void 0x0);_0x13cbeb?.[_0x3943ad(0x6d0)]&&_0x13cbeb[_0x3943ad(0x343)]&&(_0x474c07=_0x13cbeb['base64'],_0x138617?.[_0x3943ad(0x6e5)]&&(await _0x138617['store'][_0x3943ad(0x943)](_0x138617[_0x3943ad(0x942)],_0x1b626d['name'],_0x478d4f,_0x13cbeb['base64'])['catch'](()=>void 0x0),_0x1104ee[_0x3943ad(0x856)](_0x478d4f)));}const _0x1407a3=_0x5b1ab4??(_0x474c07!==void 0x0&&_0x530be4?_0x3943ad(0x37d):void 0x0),_0x28a9fb=_0x1407a3&&_0x474c07!==void 0x0?{..._0x303772??{},'screenshotReason':_0x1407a3}:_0x303772;_0x3c01d6[_0x3943ad(0x4d1)]({'stepIndex':_0x478d4f,'action':_0x4a4308[_0x3943ad(0x5a0)],'success':_0x42ee91['success'],'durationMs':_0x5324f2,'error':_0x42ee91[_0x3943ad(0x3dd)],'screenshotBase64':_0x474c07,'runtimeErrorsCaptured':_0x54ae98['length']>0x0?_0x54ae98:void 0x0,'details':_0x28a9fb,'objectiveSignals':_0x4235d5[_0x3943ad(0x3b7)]>0x0?_0x4235d5:void 0x0,'witnesses':_0x5c28c7['length']>0x0?_0x5c28c7:void 0x0,'reloadRecoveryWitness':_0x51c247,..._0x1ddfd3(_0x4a4308)});if(!_0x42ee91[_0x3943ad(0x6d0)])break;}}finally{_0x48ab37?.['stop']();}const _0x237596=[],_0x184561=[],_0x5483b3=[];for(const _0x11f2f4 of _0x3c01d6){if(_0x11f2f4[_0x3943ad(0x364)]?.[_0x3943ad(0x3b7)])_0x237596['push'](..._0x11f2f4[_0x3943ad(0x364)]);if(_0x11f2f4[_0x3943ad(0x394)]?.['length'])_0x184561['push'](..._0x11f2f4[_0x3943ad(0x394)]);if(_0x11f2f4[_0x3943ad(0x326)])_0x5483b3[_0x3943ad(0x4d1)](_0x11f2f4['reloadRecoveryWitness']);}const _0x458f91=_0x5f20cc[_0x3943ad(0x3b7)]>0x0&&_0x3c01d6['length']===_0x5f20cc['length']&&_0x3c01d6[_0x3943ad(0xaad)](_0x3e5e1b=>_0x3e5e1b['success']),_0xc827ca=_0x458f91&&_0x237596['length']===0x0;return{'flow':_0x1b626d[_0x3943ad(0x9e5)],'flowId':_0x1b626d[_0x3943ad(0x930)],'success':_0xc827ca,'totalDurationMs':Date['now']()-_0x31ac0f,'steps':_0x3c01d6,'runtimeErrors':_0x30467b,'awake':_0x244fd0,'objectiveSignals':_0x237596['length']>0x0?_0x237596:void 0x0,'witnesses':_0x184561[_0x3943ad(0x3b7)]>0x0?_0x184561:void 0x0,'reloadRecoveryWitnesses':_0x5483b3[_0x3943ad(0x3b7)]>0x0?_0x5483b3:void 0x0,'screenshotsAvailable':_0x1104ee[_0x3943ad(0x952)]};}async['runChain'](_0x516a06,_0x57b744){const _0x1cf5bc=_0xf8ecb6,_0x1749e3=Date['now'](),_0x198a7e=[],_0x22fa8d=[];let _0x5814f2=null;for(let _0x4c2649=0x0;_0x4c2649<_0x516a06[_0x1cf5bc(0x628)]['length'];_0x4c2649++){const _0x22aa4a=_0x516a06['flows'][_0x4c2649];if(_0x4c2649>0x0&&_0x5814f2===null){const _0x1189eb=_0x516a06[_0x1cf5bc(0x9f2)][_0x4c2649-0x1]??[],_0xbb71e9=[];let _0x336b28=![];for(const _0x219c1c of _0x1189eb){const _0x38240d=_0x219c1c[_0x1cf5bc(0x20b)]??_0x219c1c['toRoute'],_0x4f99ca={'action':'tap','text':_0x38240d},_0x141775=await this[_0x1cf5bc(0x810)](_0x4f99ca);if(!_0x141775['success']){_0x336b28=!![];break;}_0xbb71e9['push'](_0x219c1c);}_0x22fa8d['push'](_0xbb71e9);if(_0x336b28){_0x198a7e['push']({'flow':_0x22aa4a[_0x1cf5bc(0x9e5)],'flowId':_0x22aa4a[_0x1cf5bc(0x930)],'success':![],'totalDurationMs':0x0,'steps':[{'stepIndex':-0x1,'action':'chain-bridge','success':![],'durationMs':0x0,'error':_0x1cf5bc(0x3bf)+_0x22aa4a['name']}],'runtimeErrors':[],'chainId':_0x516a06[_0x1cf5bc(0xa0e)],'chainPosition':_0x4c2649}),_0x5814f2=_0x4c2649;continue;}}else _0x4c2649>0x0&&_0x22fa8d['push'](null);if(_0x5814f2!==null){_0x198a7e[_0x1cf5bc(0x4d1)]({'flow':_0x22aa4a['name'],'flowId':_0x22aa4a['flowId'],'success':![],'totalDurationMs':0x0,'steps':[],'runtimeErrors':[],'chainId':_0x516a06['chainId'],'chainPosition':_0x4c2649,'skippedDueToChainAbort':!![]});continue;}const _0x5488a6=await this[_0x1cf5bc(0x7f0)](_0x22aa4a,_0x57b744);_0x5488a6['chainId']=_0x516a06[_0x1cf5bc(0xa0e)],_0x5488a6['chainPosition']=_0x4c2649,_0x198a7e[_0x1cf5bc(0x4d1)](_0x5488a6);const _0x131bb2=!_0x5488a6[_0x1cf5bc(0x6d0)]||(_0x5488a6['objectiveSignals']?.[_0x1cf5bc(0x3b7)]??0x0)>0x0;if(_0x131bb2){_0x5814f2=_0x4c2649;const _0x1b928b=_0x22aa4a[_0x1cf5bc(0x4df)]?.[_0x1cf5bc(0x8b6)]??_0x516a06['flows'][0x0]['beforeAll']?.['ensureLaunched'];_0x1b928b&&(await this[_0x1cf5bc(0x508)][_0x1cf5bc(0x6c6)](_0x1b928b)['catch'](()=>void 0x0),await this[_0x1cf5bc(0x508)]['launchApp'](_0x1b928b)[_0x1cf5bc(0x48b)](()=>void 0x0));}}const _0x3e03b7=_0x5814f2===null&&_0x198a7e['every'](_0x2af1de=>_0x2af1de['success']);return{'chainId':_0x516a06['chainId'],'success':_0x3e03b7,'totalDurationMs':Date['now']()-_0x1749e3,'flowResults':_0x198a7e,'bridgeHopsRun':_0x22fa8d,'abortedAtFlowIndex':_0x5814f2};}async[_0xf8ecb6(0x810)](_0x13fbe0,_0x3a7ed3){const _0x5cc5a6=_0xf8ecb6;switch(_0x13fbe0['action']){case _0x5cc5a6(0x51b):{const _0x289198=await this['apps'][_0x5cc5a6(0xadd)](_0x13fbe0[_0x5cc5a6(0x369)]);return{'success':_0x289198['success'],'error':_0x289198['error'],'details':{'transport':_0x289198[_0x5cc5a6(0x9c3)]}};}case _0x5cc5a6(0x3f7):{const _0x31afbd=await this['apps']['terminateApp'](_0x13fbe0['bundleId']);return{'success':_0x31afbd[_0x5cc5a6(0x6d0)],'error':_0x31afbd[_0x5cc5a6(0x3dd)],'details':{'transport':_0x31afbd[_0x5cc5a6(0x9c3)]}};}case'tap':{const _0x76b69a=async _0x3e3967=>{const _0x1f38f9=_0x5cc5a6;if(_0x3a7ed3?.[_0x1f38f9(0x997)]&&typeof this['screen']['findElementFromTree']==='function'&&typeof this['screen']['findAndTapReturningTree']==='function'){const _0x586122=_0x3a7ed3[_0x1f38f9(0x997)][_0x1f38f9(0x3fd)](_0x3a7ed3['axCache']['currentEpoch']());if(_0x586122){const _0x3fdfa5=this['screen'][_0x1f38f9(0x4da)](_0x586122,_0x3e3967),_0x2ea7f3=_0x3e3967[_0x1f38f9(0x977)]??0x0,_0x5bf35c=_0x3fdfa5[_0x2ea7f3];if(_0x5bf35c?.[_0x1f38f9(0x24c)]){const _0xda513e=_0x5bf35c[_0x1f38f9(0x24c)],_0x4dfebd=_0xda513e['x']+_0xda513e['width']/0x2,_0x31737b=_0xda513e['y']+_0xda513e['height']/0x2,_0x161d6b=await this['screen'][_0x1f38f9(0x2cd)](_0x4dfebd,_0x31737b,![]);if(_0x161d6b[_0x1f38f9(0x6d0)])return{'success':!![],'details':{'element':{'type':_0x5bf35c[_0x1f38f9(0x45e)]??'unknown','label':_0x5bf35c['label']??_0x5bf35c['name']??'','bounds':_0xda513e},'fromCache':!![]}};_0x3a7ed3[_0x1f38f9(0x997)][_0x1f38f9(0x3e7)]();}}const {result:_0x5c0982}=await this['screen'][_0x1f38f9(0x66d)](_0x3e3967);if(_0x5c0982['success']){if(_0x1f38f9(0x51c)==='ADbHV')return{'success':!![],'details':{'element':_0x5c0982[_0x1f38f9(0x820)]}};else{const _0xcee4e5=_0x5a41e5['CERAPH_AUTH_PROVIDER'],_0x695eae=_0x2bc235['CERAPH_AUTH_SECRET_ENV'];if(typeof _0xcee4e5!==_0x1f38f9(0x30d)||_0xcee4e5[_0x1f38f9(0x3b7)]===0x0)return null;if(!_0x27fb10[_0x1f38f9(0x979)](_0xcee4e5))return null;const _0x438b4e=_0xcee4e5==='cognito',_0x4aa09f=typeof _0x695eae===_0x1f38f9(0x30d)&&_0x695eae['length']>0x0;if(!_0x4aa09f&&!_0x438b4e)return null;return{'provider':_0xcee4e5,'secretEnv':_0x4aa09f?_0x695eae:'',..._0x2c7dea['CERAPH_AUTH_DOMAIN']?{'domain':_0x1136e5['CERAPH_AUTH_DOMAIN']}:{},..._0x1a6a9e[_0x1f38f9(0x5a6)]?{'connection':_0x51a9e2[_0x1f38f9(0x5a6)]}:{},..._0x55798c['CERAPH_AUTH_PROJECT_URL']?{'projectUrl':_0x4bbd8d[_0x1f38f9(0x950)]}:{},..._0x3b0677['CERAPH_AUTH_USER_POOL_ID']?{'userPoolId':_0x26ad90[_0x1f38f9(0x3d2)]}:{},..._0x17cad6['CERAPH_AUTH_CLIENT_ID']?{'clientId':_0x59f625[_0x1f38f9(0x9e4)]}:{},..._0x566fa2['CERAPH_AUTH_REGION']?{'region':_0x39f5ab['CERAPH_AUTH_REGION']}:{}};}}let _0x17d900=_0x5c0982,_0x1fb934=_0x5c0982['matchCount'];for(let _0x3533d4=0x0;_0x3533d4<_0x4400df;_0x3533d4++){const _0x1f34d2=await this['screen']['swipe']({'direction':'up'});if(!_0x1f34d2['success'])break;const _0xb965a8=await this[_0x1f38f9(0x5be)]['findAndTap'](_0x3e3967);if(_0xb965a8['success'])return{'success':!![],'details':{'element':_0xb965a8[_0x1f38f9(0x820)],'retryAfterSwipes':_0x3533d4+0x1}};_0x17d900=_0xb965a8,_0x1fb934=_0x319bf2(_0x1fb934,_0xb965a8[_0x1f38f9(0x78d)]);}return{'success':![],'error':_0x17d900[_0x1f38f9(0x3dd)]??'Element\x20not\x20found','details':{'availableElements':_0x17d900['availableElements'],'matchCount':_0x1fb934}};}const _0x43413c=await this['screen'][_0x1f38f9(0x31f)](_0x3e3967);if(_0x43413c['success'])return{'success':!![],'details':{'element':_0x43413c['element']}};let _0x6aed6c=_0x43413c,_0x52becf=_0x43413c[_0x1f38f9(0x78d)];for(let _0x1f5611=0x0;_0x1f5611<_0x4400df;_0x1f5611++){const _0x530b85=await this['screen']['swipe']({'direction':'up'});if(!_0x530b85['success'])break;const _0x1456df=await this[_0x1f38f9(0x5be)][_0x1f38f9(0x31f)](_0x3e3967);if(_0x1456df['success'])return{'success':!![],'details':{'element':_0x1456df[_0x1f38f9(0x820)],'retryAfterSwipes':_0x1f5611+0x1}};_0x6aed6c=_0x1456df,_0x52becf=_0x319bf2(_0x52becf,_0x1456df['matchCount']);}return{'success':![],'error':_0x6aed6c[_0x1f38f9(0x3dd)]??'Element\x20not\x20found','details':{'availableElements':_0x6aed6c['availableElements'],'matchCount':_0x52becf}};},_0x345371={'text':_0x13fbe0['text'],'accessibilityLabel':_0x13fbe0[_0x5cc5a6(0x444)],'type':_0x13fbe0[_0x5cc5a6(0x45e)],'index':_0x13fbe0[_0x5cc5a6(0x977)]},_0x5765dc=await _0x76b69a(_0x345371);if(_0x5765dc[_0x5cc5a6(0x6d0)])return _0x5765dc;if(_0x5765dc[_0x5cc5a6(0x65d)]?.['matchCount']===0x0&&_0x13fbe0[_0x5cc5a6(0x581)]!==void 0x0&&_0x13fbe0['fallbackText']!==_0x13fbe0['text']){if('jAxar'==='xvsRy')_0x5b1432=!![],_0x280f8b=_0x7388ad;else{const _0x1414db=await _0x76b69a({'text':_0x13fbe0['fallbackText'],'index':_0x13fbe0['index']});if(_0x1414db['success'])return{..._0x1414db,'details':{..._0x1414db['details'],'resolvedViaFallback':!![]}};}}return _0x5765dc;}case'tapCoords':{const _0x5dddaf=(_0x13fbe0['coordinateSource']??_0x5cc5a6(0xad2))===_0x5cc5a6(0x439),_0x5bd6c3=await this['screen'][_0x5cc5a6(0x2cd)](_0x13fbe0['x'],_0x13fbe0['y'],_0x5dddaf);return{'success':_0x5bd6c3[_0x5cc5a6(0x6d0)],'error':_0x5bd6c3['error'],'details':{'tappedAt':_0x5bd6c3[_0x5cc5a6(0x9da)]}};}case _0x5cc5a6(0x45c):{if('XxqGY'==='UsraH')return{'ok':![],'error':_0x5cc5a6(0x32d)+_0x5aee79(_0x5e0181['kind'])};else{const _0x2756a8=async _0x49c8a1=>{const _0x243fba=_0x5cc5a6,_0x23ac40=await this[_0x243fba(0x5be)][_0x243fba(0x559)](_0x49c8a1,_0x13fbe0[_0x243fba(0x270)]??0x3e8);if(_0x23ac40['success'])return{'success':!![],'details':{'element':_0x23ac40['element']}};let _0x151a98=_0x23ac40,_0x1b057e=_0x23ac40[_0x243fba(0x78d)];for(let _0x437984=0x0;_0x437984<_0x4400df;_0x437984++){const _0x2bf709=await this[_0x243fba(0x5be)][_0x243fba(0x8b2)]({'direction':'up'});if(!_0x2bf709['success'])break;const _0x131d57=await this['screen']['longPressElement'](_0x49c8a1,_0x13fbe0['durationMs']??0x3e8);if(_0x131d57['success'])return{'success':!![],'details':{'element':_0x131d57[_0x243fba(0x820)],'retryAfterSwipes':_0x437984+0x1}};_0x151a98=_0x131d57,_0x1b057e=_0x319bf2(_0x1b057e,_0x131d57['matchCount']);}return{'success':![],'error':_0x151a98[_0x243fba(0x3dd)]??_0x243fba(0x516),'details':{'matchCount':_0x1b057e}};},_0x531726={'text':_0x13fbe0[_0x5cc5a6(0x3e0)],'accessibilityLabel':_0x13fbe0['accessibilityLabel']},_0x6d14b5=await _0x2756a8(_0x531726);if(_0x6d14b5[_0x5cc5a6(0x6d0)])return _0x6d14b5;if(_0x6d14b5[_0x5cc5a6(0x65d)]?.[_0x5cc5a6(0x78d)]===0x0&&_0x13fbe0[_0x5cc5a6(0x581)]!==void 0x0&&_0x13fbe0[_0x5cc5a6(0x581)]!==_0x13fbe0['text']){const _0x5306aa=await _0x2756a8({'text':_0x13fbe0['fallbackText']});if(_0x5306aa[_0x5cc5a6(0x6d0)])return{..._0x5306aa,'details':{..._0x5306aa[_0x5cc5a6(0x65d)],'resolvedViaFallback':!![]}};}return _0x6d14b5;}}case _0x5cc5a6(0x45e):{if(_0x5cc5a6(0x694)==='ACQsC'){if(_0x13fbe0[_0x5cc5a6(0x2d5)]){const _0x4e56e8=_0x13fbe0['into']['text'],_0x474555=_0x13fbe0[_0x5cc5a6(0x581)]!==void 0x0&&_0x13fbe0[_0x5cc5a6(0x581)]!==_0x4e56e8?_0x13fbe0['fallbackText']:void 0x0,_0x54a139=!(_0x3a7ed3?.[_0x5cc5a6(0x32e)]===!![])&&typeof this['screen'][_0x5cc5a6(0x38c)]===_0x5cc5a6(0x49b);if(_0x54a139){let _0x4a8410=await this['screen'][_0x5cc5a6(0x38c)]({'text':_0x4e56e8,'accessibilityLabel':_0x13fbe0[_0x5cc5a6(0x2d5)]['accessibilityLabel']},_0x13fbe0[_0x5cc5a6(0x39d)]);return _0x4a8410[_0x5cc5a6(0x78d)]===0x0&&_0x474555!==void 0x0&&(_0x4a8410=await this['screen']['typeIntoField']({'text':_0x474555},_0x13fbe0['value'])),_0x4a8410[_0x5cc5a6(0x6d0)]&&_0x3a7ed3?.[_0x5cc5a6(0x997)]&&_0x3a7ed3['axCache'][_0x5cc5a6(0x3e7)](),{'success':_0x4a8410['success'],'error':_0x4a8410[_0x5cc5a6(0x3dd)],'details':{'element':_0x4a8410[_0x5cc5a6(0x820)],'batched':_0x4a8410[_0x5cc5a6(0x565)]}};}let _0x56f85f=await this['screen']['findAndTap']({'text':_0x4e56e8,'accessibilityLabel':_0x13fbe0[_0x5cc5a6(0x2d5)][_0x5cc5a6(0x444)]});if(_0x56f85f[_0x5cc5a6(0x78d)]===0x0&&_0x474555!==void 0x0){if('XEbgy'!=='XEbgy')return{'status':'preserved','settingsPath':_0x3c3d57,'reason':'existing\x20settings\x20at\x20'+_0x4a9fd2+'\x20is\x20malformed\x20JSON\x20—\x20preserved;\x20fix\x20it\x20manually\x20then\x20re-run'};else _0x56f85f=await this['screen'][_0x5cc5a6(0x31f)]({'text':_0x474555});}if(!_0x56f85f['success'])return{'success':![],'error':_0x56f85f['error']??'Could\x20not\x20focus\x20target\x20field\x20for\x20type','details':{'availableElements':_0x56f85f[_0x5cc5a6(0x8b0)]}};if(_0x3a7ed3?.[_0x5cc5a6(0x997)])_0x3a7ed3['axCache'][_0x5cc5a6(0x3e7)]();}const _0x179bb7=await this[_0x5cc5a6(0x5be)][_0x5cc5a6(0x45e)](_0x13fbe0['value']);return{'success':_0x179bb7[_0x5cc5a6(0x6d0)],'error':_0x179bb7[_0x5cc5a6(0x3dd)]};}else return _0x3defa9 instanceof _0x320ed5?_0x334fa4['message']:_0x62ea3a(_0xaf5b1);}case _0x5cc5a6(0x436):{if(_0x5cc5a6(0x93a)==='XRzfp')return _0x2ba9af(_0x5cc5a6(0x3ce),_0x14e36b);else{const _0x4ee1ce=await this[_0x5cc5a6(0x5be)][_0x5cc5a6(0x436)]({'text':_0x13fbe0[_0x5cc5a6(0x3e0)],'accessibilityLabel':_0x13fbe0['accessibilityLabel']});return{'success':_0x4ee1ce['success'],'error':_0x4ee1ce['error']};}}case'swipe':{const _0x77e15=await this[_0x5cc5a6(0x5be)]['swipe']({'direction':_0x13fbe0['direction'],'from':_0x13fbe0['from'],'distancePx':_0x13fbe0['distancePx'],'coordinateSource':'device'});return{'success':_0x77e15['success'],'error':_0x77e15[_0x5cc5a6(0x3dd)],'details':{'from':_0x77e15['from'],'to':_0x77e15['to']}};}case _0x5cc5a6(0xa59):{const _0xc484a5={'maxSwipes':_0x13fbe0['maxSwipes'],'direction':_0x13fbe0['direction']};let _0x3349e5=await this['screen']['scrollToElement']({'text':_0x13fbe0['text'],'accessibilityLabel':_0x13fbe0['accessibilityLabel']},_0xc484a5),_0x25888a=![];if(_0x3349e5[_0x5cc5a6(0x78d)]===0x0&&_0x13fbe0[_0x5cc5a6(0x581)]!==void 0x0&&_0x13fbe0['fallbackText']!==_0x13fbe0['text']){const _0x253d39=await this[_0x5cc5a6(0x5be)]['scrollToElement']({'text':_0x13fbe0[_0x5cc5a6(0x581)]},_0xc484a5);_0x253d39[_0x5cc5a6(0x6d0)]&&(_0x3349e5=_0x253d39,_0x25888a=!![]);}return{'success':_0x3349e5[_0x5cc5a6(0x6d0)],'error':_0x3349e5['error'],'details':{'swipes':_0x3349e5[_0x5cc5a6(0x6d4)],'element':_0x3349e5[_0x5cc5a6(0x820)],..._0x25888a?{'resolvedViaFallback':!![]}:{}}};}case _0x5cc5a6(0x588):{if('Sitht'!=='Sitht'){if(_0x484ecc)return;_0x1688e7=!![],_0xbf59f4(_0x96784c),_0x1b7dfa({'code':_0x46d2ef??0x1,'stdout':_0x24f902,'stderr':_0x538ea2});}else{const _0x38fdb9={'timeoutMs':_0x13fbe0[_0x5cc5a6(0x2f9)],'disappear':_0x13fbe0['disappear']};let _0x55e4ae=await this[_0x5cc5a6(0x5be)]['waitFor']({'text':_0x13fbe0['text'],'accessibilityLabel':_0x13fbe0['accessibilityLabel'],'type':_0x13fbe0[_0x5cc5a6(0x45e)]},_0x38fdb9),_0xdbdc69=![];if(!_0x55e4ae[_0x5cc5a6(0x6d0)]&&_0x13fbe0['disappear']!==!![]&&_0x13fbe0['fallbackText']!==void 0x0&&_0x13fbe0['fallbackText']!==_0x13fbe0['text']){const _0x3e3196=await this[_0x5cc5a6(0x5be)]['waitFor']({'text':_0x13fbe0[_0x5cc5a6(0x581)]},_0x38fdb9);_0x3e3196[_0x5cc5a6(0x6d0)]&&(_0x55e4ae=_0x3e3196,_0xdbdc69=!![]);}return{'success':_0x55e4ae[_0x5cc5a6(0x6d0)],'error':_0x55e4ae[_0x5cc5a6(0x3dd)],'details':{'elapsedMs':_0x55e4ae[_0x5cc5a6(0xafb)],'found':_0x55e4ae[_0x5cc5a6(0x3b2)],..._0xdbdc69?{'resolvedViaFallback':!![]}:{}}};}}case _0x5cc5a6(0xa0b):{const _0x1d68c6=async _0x34b7c4=>{const _0x2c6ae8=_0x5cc5a6;if(_0x3a7ed3?.[_0x2c6ae8(0x997)]&&typeof this['screen'][_0x2c6ae8(0x4da)]===_0x2c6ae8(0x49b)){const _0x4e7fcc=_0x3a7ed3['axCache']['get'](_0x3a7ed3[_0x2c6ae8(0x997)]['currentEpoch']());if(_0x4e7fcc){const _0x3d8d02=this['screen'][_0x2c6ae8(0x4da)](_0x4e7fcc,_0x34b7c4),_0x13e8dc=_0x3d8d02[0x0];if(_0x13e8dc?.[_0x2c6ae8(0x24c)])return{'success':!![],'details':{'element':{'type':_0x13e8dc[_0x2c6ae8(0x45e)]??_0x2c6ae8(0x6b2),'label':_0x13e8dc['label']??_0x13e8dc[_0x2c6ae8(0x9e5)]??'','bounds':_0x13e8dc[_0x2c6ae8(0x24c)]},'fromCache':!![]}};}}if(_0x3a7ed3?.[_0x2c6ae8(0x997)]&&typeof this[_0x2c6ae8(0x5be)]['fetchSourceTree']===_0x2c6ae8(0x49b)&&typeof this[_0x2c6ae8(0x5be)][_0x2c6ae8(0x4da)]===_0x2c6ae8(0x49b)){const _0x2667e2=await this[_0x2c6ae8(0x5be)]['fetchSourceTree']();if(_0x2667e2){if('iGyLS'!==_0x2c6ae8(0xa21)){_0x3a7ed3['axCache']['set'](_0x2667e2,_0x3a7ed3[_0x2c6ae8(0x997)]['currentEpoch']());const _0x20a21b=this[_0x2c6ae8(0x5be)][_0x2c6ae8(0x4da)](_0x2667e2,_0x34b7c4),_0x1f4973=_0x20a21b[0x0];if(_0x1f4973?.[_0x2c6ae8(0x24c)])return{'success':!![],'details':{'element':{'type':_0x1f4973[_0x2c6ae8(0x45e)]??_0x2c6ae8(0x6b2),'label':_0x1f4973[_0x2c6ae8(0x960)]??_0x1f4973[_0x2c6ae8(0x9e5)]??'','bounds':_0x1f4973['rect']}}};return{'success':![],'error':_0x2c6ae8(0xab1)+JSON[_0x2c6ae8(0x312)](_0x34b7c4)};}else{const _0x48b763=_0x276ffb(_0x59d3d4)??'path:'+_0x13e03c[_0x2c6ae8(0x4ec)]('.'),_0x549456=typeof _0x28794d[_0x2c6ae8(0x45e)]==='string'?_0x15f99e(_0x872be5[_0x2c6ae8(0x45e)]):void 0x0;_0x1067c2[_0x2c6ae8(0x4d1)]({'id':_0x48b763,'bounds':_0xb13908,'visible':_0x1943eb['w']>0x0&&_0x3dad33['h']>0x0,..._0x549456?{'kind':_0x549456}:{}});}}}const _0x38f37c=await this[_0x2c6ae8(0x5be)]['assertVisible'](_0x34b7c4);if(!_0x38f37c[_0x2c6ae8(0x6d0)])return{'success':![],'error':_0x38f37c[_0x2c6ae8(0x3dd)]};if(!_0x38f37c['visible'])return{'success':![],'error':_0x2c6ae8(0xab1)+JSON[_0x2c6ae8(0x312)](_0x34b7c4)};return{'success':!![],'details':{'element':_0x38f37c[_0x2c6ae8(0x820)]}};},_0x382bb2={'text':_0x13fbe0['text'],'accessibilityLabel':_0x13fbe0[_0x5cc5a6(0x444)],'type':_0x13fbe0[_0x5cc5a6(0x45e)]},_0x527d42=await _0x1d68c6(_0x382bb2);if(_0x527d42[_0x5cc5a6(0x6d0)])return _0x527d42;if(_0x13fbe0['fallbackText']!==void 0x0&&_0x13fbe0[_0x5cc5a6(0x581)]!==_0x13fbe0[_0x5cc5a6(0x3e0)]){const _0x16ad2d=await _0x1d68c6({'text':_0x13fbe0['fallbackText']});if(_0x16ad2d['success']){if('RAruD'!=='wAdLW')return{..._0x16ad2d,'details':{..._0x16ad2d['details'],'resolvedViaFallback':!![]}};else this[_0x5cc5a6(0x2f7)]=_0x575a78;}}return _0x527d42;}case'assertNotVisible':{const _0x5689d6={'text':_0x13fbe0['text'],'accessibilityLabel':_0x13fbe0[_0x5cc5a6(0x444)],'type':_0x13fbe0['type']};if(_0x3a7ed3?.[_0x5cc5a6(0x997)]&&typeof this[_0x5cc5a6(0x5be)]['findElementFromTree']==='function'){const _0x592675=_0x3a7ed3['axCache'][_0x5cc5a6(0x3fd)](_0x3a7ed3['axCache'][_0x5cc5a6(0x76f)]());if(_0x592675){const _0x3de18d=this[_0x5cc5a6(0x5be)]['findElementFromTree'](_0x592675,_0x5689d6),_0x1d7ee7=_0x3de18d[0x0];if(_0x1d7ee7?.[_0x5cc5a6(0x24c)])return{'success':![],'error':_0x5cc5a6(0x3f4)+JSON[_0x5cc5a6(0x312)](_0x5689d6)};}}if(_0x3a7ed3?.['axCache']&&typeof this[_0x5cc5a6(0x5be)]['fetchSourceTree']===_0x5cc5a6(0x49b)&&typeof this['screen']['findElementFromTree']===_0x5cc5a6(0x49b)){const _0x2b8971=await this['screen'][_0x5cc5a6(0x491)]();if(_0x2b8971){if(_0x5cc5a6(0x2b4)!=='CqYjB')_0x48c792['abort'](new _0x462014(_0x5cc5a6(0x652),'AbortError')),_0x541956['abort']();else{_0x3a7ed3['axCache'][_0x5cc5a6(0x93e)](_0x2b8971,_0x3a7ed3[_0x5cc5a6(0x997)][_0x5cc5a6(0x76f)]());const _0x4e8d62=this[_0x5cc5a6(0x5be)]['findElementFromTree'](_0x2b8971,_0x5689d6),_0x29bc69=_0x4e8d62[0x0];if(_0x29bc69?.[_0x5cc5a6(0x24c)])return{'success':![],'error':_0x5cc5a6(0x3f4)+JSON['stringify'](_0x5689d6)};return{'success':!![]};}}}const _0xfa300=await this['screen']['assertNotVisible'](_0x5689d6);if(!_0xfa300['success'])return{'success':![],'error':_0xfa300['error']};if(_0xfa300['visible'])return{'success':![],'error':'assertNotVisible:\x20element\x20is\x20visible:\x20'+JSON['stringify'](_0x5689d6)};return{'success':!![]};}case _0x5cc5a6(0x783):{const _0xce0892=await this[_0x5cc5a6(0x5be)][_0x5cc5a6(0x783)](_0x13fbe0[_0x5cc5a6(0x88a)]);return{'success':_0xce0892['success'],'error':_0xce0892[_0x5cc5a6(0x3dd)],'details':{'key':_0x13fbe0['key'],..._0xce0892[_0x5cc5a6(0x65d)]??{}}};}case'screenshot':{const _0x23912e=await this['screen'][_0x5cc5a6(0x439)]();return{'success':_0x23912e['success'],'error':_0x23912e[_0x5cc5a6(0x3dd)],'details':{'label':_0x13fbe0['label'],'hasBase64':!!_0x23912e[_0x5cc5a6(0x343)]}};}case'sleep':{return await new Promise(_0x25e30d=>setTimeout(_0x25e30d,Math['max'](0x0,_0x13fbe0['ms']))),{'success':!![]};}case'reloadRecoveryWitness':{const _0x4b0839=await this[_0x5cc5a6(0x37f)](_0x13fbe0);return{'success':!![],'details':{'outcome':_0x4b0839[_0x5cc5a6(0x72e)]},'reloadRecoveryWitness':_0x4b0839};}case'reset':{const _0x337c0c=await this[_0x5cc5a6(0x5be)][_0x5cc5a6(0x423)](_0x5cc5a6(0x933));return{'success':_0x337c0c[_0x5cc5a6(0x6d0)],'error':_0x337c0c[_0x5cc5a6(0x3dd)],'details':{'dispatched':_0x337c0c['success']}};}default:{const _0x22700d=_0x13fbe0;return{'success':![],'error':'Unknown\x20step\x20action:\x20'+JSON['stringify'](_0x22700d)};}}}async['readErrors'](_0x2a80ef){const _0x5a0fbd=_0xf8ecb6;try{const _0x1961d4=await _0x4d5fc9(_0x2a80ef,'utf-8'),_0x2f5c13=JSON[_0x5a0fbd(0x981)](_0x1961d4),_0x29167=_0x2f5c13[_0x5a0fbd(0x5ac)]??[];return _0x29167[_0x5a0fbd(0x86b)](_0x163765=>({'message':_0x163765['message']??'','stack':_0x163765[_0x5a0fbd(0xade)]??'','timestamp':_0x163765[_0x5a0fbd(0x684)]??new Date()[_0x5a0fbd(0x471)](),'kind':_0x163765['kind'],'url':_0x163765[_0x5a0fbd(0x269)],'status':_0x163765['status'],'method':_0x163765['method'],'durationMs':_0x163765['durationMs'],'elementKey':_0x163765[_0x5a0fbd(0xa9a)],'prevText':_0x163765[_0x5a0fbd(0x9a5)],'nextText':_0x163765['nextText']}));}catch{return[];}}[_0xf8ecb6(0x7f8)](_0x51dbc0){const _0x353a78=_0xf8ecb6;return _0x51dbc0['timestamp']+'::'+_0x51dbc0['message']+'::'+_0x51dbc0[_0x353a78(0xade)][_0x353a78(0x795)](0x0,0xc8);}[_0xf8ecb6(0x655)](_0x520163){const _0x4171dc=_0xf8ecb6;if(_0x520163['objectiveSignals']['length']>0x0)return'objective-signal';if(_0x520163[_0x4171dc(0x394)]['length']>0x0)return'witness';if(_0x520163['reloadRecoveryWitness'])return _0x4171dc(0x4d5);const _0x30eda0=_0x520163['details']?.[_0x4171dc(0x8eb)];if(typeof _0x30eda0===_0x4171dc(0x2af)&&_0x30eda0>0x0)return'find-fallback';if(_0x520163[_0x4171dc(0x3ae)])return _0x4171dc(0x39e);return void 0x0;}['defaultExpectedRegion'](_0x1282f9){const _0xf4160f=_0xf8ecb6;let _0x4bd42d=0x0,_0x554235=0x0;for(const _0x34bf29 of _0x1282f9['nodes']){const _0x555ee1=_0x34bf29[_0xf4160f(0x268)]['x']+_0x34bf29['bounds']['w'],_0x47e8c4=_0x34bf29['bounds']['y']+_0x34bf29['bounds']['h'];if(_0x555ee1>_0x4bd42d)_0x4bd42d=_0x555ee1;if(_0x47e8c4>_0x554235)_0x554235=_0x47e8c4;}(_0x4bd42d<=0x0||_0x554235<=0x0)&&(_0x4bd42d=0x1f4,_0x554235=0x3e8);const _0x4d7726=_0x262d18;return{'x':0x0,'y':_0x4d7726,'w':_0x4bd42d,'h':Math[_0xf4160f(0x553)](0x0,_0x554235-_0x4d7726),..._0x1282f9[_0xf4160f(0x99b)]?{'screenName':_0x1282f9[_0xf4160f(0x99b)]}:{}};}[_0xf8ecb6(0x9af)](_0x3e3adc,_0x8dc3ca){const _0x4df93e=_0xf8ecb6,_0x459438=_0x3e3adc[_0x4df93e(0xb14)]??'metro-error';if(_0x459438==='metro-error'||_0x459438==='js-error'||_0x459438===_0x4df93e(0x215))return{'objective':{'kind':_0x4df93e(0x5d3),'message':_0x3e3adc[_0x4df93e(0x531)],'detail':_0x3e3adc['stack']||void 0x0,'flowId':_0x8dc3ca}};if(_0x459438===_0x4df93e(0x651)){const _0x5a1f2c=typeof _0x3e3adc[_0x4df93e(0x428)]!==_0x4df93e(0x2af);return{'objective':{'kind':_0x5a1f2c?_0x4df93e(0x727):_0x4df93e(0x57e),'message':_0x3e3adc[_0x4df93e(0x531)],'detail':this['formatNetworkDetail'](_0x3e3adc),'flowId':_0x8dc3ca}};}if(_0x459438===_0x4df93e(0x763)){if(_0x3e3adc['status']===0x191||_0x3e3adc[_0x4df93e(0x428)]===0x193)return{'objective':{'kind':_0x4df93e(0x57e),'message':_0x3e3adc['message'],'detail':this['formatNetworkDetail'](_0x3e3adc),'flowId':_0x8dc3ca}};return{'witness':{'kind':'http-client-error','message':_0x3e3adc[_0x4df93e(0x531)],'detail':this['formatNetworkDetail'](_0x3e3adc),'flowId':_0x8dc3ca}};}if(_0x459438==='mutation-fired')return{'mutationMarker':!![]};if(_0x459438===_0x4df93e(0x43f)){const _0x5af7e1=_0x2ea6dd(_0x3e3adc);return{'witness':{'kind':_0x4df93e(0xaba),'message':'optimistic\x20rollback:\x20'+(_0x3e3adc[_0x4df93e(0xa9a)]??'<unknown\x20element>'),..._0x5af7e1?{'detail':_0x5af7e1}:{},'flowId':_0x8dc3ca}};}if(_0x459438===_0x4df93e(0x858))return _0x4df93e(0x2cc)!=='BwGOU'?{'witness':{'kind':'console-error','message':_0x3e3adc['message'],'flowId':_0x8dc3ca}}:(_0x117127({'value':![],'fetchedAt':_0x5c0bb3()}),![]);return{'witness':{'kind':'verify-observation','message':_0x4df93e(0x90b)+_0x459438+_0x4df93e(0x97a)+_0x3e3adc['message'],'flowId':_0x8dc3ca}};}['formatNetworkDetail'](_0x1964f8){const _0x479d7c=_0xf8ecb6,_0xcdebff=[];if(_0x1964f8['method'])_0xcdebff[_0x479d7c(0x4d1)](_0x479d7c(0x8d7)+_0x1964f8['method']);if(_0x1964f8['url'])_0xcdebff[_0x479d7c(0x4d1)](_0x479d7c(0x591)+_0x1964f8['url']);if(typeof _0x1964f8['status']==='number')_0xcdebff[_0x479d7c(0x4d1)](_0x479d7c(0x796)+_0x1964f8['status']);if(typeof _0x1964f8['durationMs']==='number')_0xcdebff['push'](_0x479d7c(0x27d)+_0x1964f8['durationMs']);return _0xcdebff[_0x479d7c(0x3b7)]>0x0?_0xcdebff['join']('\x20'):void 0x0;}async['runVerifyMarkers'](_0x2339e0,_0x2acb3f){const _0x564213=_0xf8ecb6,_0x216be5=[];let _0x270372;if(_0x2339e0[_0x564213(0x41b)]){const _0x4efb4b=_0x2339e0[_0x564213(0x41b)][_0x564213(0x78b)];let _0x48652c=![],_0x3d1522;if(_0x4efb4b){const _0x18b28c=await this[_0x564213(0x5be)]['assertVisible'](_0x4efb4b)[_0x564213(0x48b)](()=>({'success':![],'visible':![]}));_0x48652c=_0x18b28c[_0x564213(0x6d0)]&&_0x18b28c['visible'],_0x3d1522='selector='+JSON[_0x564213(0x312)](_0x4efb4b)+_0x564213(0x1f3)+_0x48652c;}else _0x3d1522='route='+(_0x2339e0['verifyMutation'][_0x564213(0x2e8)]??_0x564213(0x3f8));_0x216be5['push']({'kind':'verify-observation','message':_0x564213(0x7bd)+_0x2339e0['verifyMutation']['sourceMethod']+'\x20'+_0x2339e0['verifyMutation']['sourceEndpoint']+'\x20'+(_0x48652c?_0x564213(0x9f6):_0x564213(0x3cd)),'detail':_0x3d1522,'flowId':_0x2acb3f});if(_0x2339e0['verifyMutation']['mutationKind']!==_0x564213(0x30e)){const _0x16060d=_0x2339e0[_0x564213(0x41b)][_0x564213(0x2a7)]??[];for(const _0x3f6639 of _0x16060d){const _0x2d4e17=await this[_0x564213(0x61e)](_0x3f6639);_0x2d4e17&&_0x216be5['push']({'kind':_0x564213(0x3c8),'message':_0x564213(0xa6e)+_0x2339e0[_0x564213(0x41b)]['sourceMethod']+'\x20'+_0x2339e0['verifyMutation'][_0x564213(0x317)]+_0x564213(0x55d)+(_0x3f6639[_0x564213(0xaae)]?'field='+_0x3f6639['responseField']+'\x20':'')+'value='+JSON['stringify'](_0x3f6639['responseValue'])+_0x564213(0x4bc),'detail':_0x2d4e17,'flowId':_0x2acb3f});}}}if(_0x2339e0[_0x564213(0x8c9)]){const _0x1b05e7=_0x2339e0[_0x564213(0x8c9)][_0x564213(0x986)];let _0x11b840=![],_0x2552ec;if(_0x1b05e7){if(_0x564213(0x776)!=='biwCX'){const _0x1aea36=await this['screen'][_0x564213(0xa0b)](_0x1b05e7)[_0x564213(0x48b)](()=>({'success':![],'visible':![]}));_0x11b840=_0x1aea36['success']&&_0x1aea36['visible'],_0x2552ec='protectedRoute='+_0x2339e0[_0x564213(0x8c9)][_0x564213(0x928)]+_0x564213(0x61d)+JSON[_0x564213(0x312)](_0x1b05e7)+'\x20visible='+_0x11b840;}else{if(_0x5672d2(_0x3592d7))_0x1272ce['push'](_0x327be8);else _0x3202f5['push'](_0x74ed5a);}}else _0x2552ec=_0x564213(0x88e)+_0x2339e0[_0x564213(0x8c9)][_0x564213(0x928)];_0x216be5[_0x564213(0x4d1)]({'kind':_0x564213(0xaba),'message':'verifyAuth:\x20'+(_0x11b840?'user-marker\x20visible\x20on\x20protected\x20route':_0x564213(0x9e8)),'detail':_0x2552ec,'flowId':_0x2acb3f});}if(_0x2339e0['verifyNavigation']){const _0x3c6cb3=_0x2339e0[_0x564213(0xa66)]['selectorHint'];let _0x32020d=![],_0x100b0a;if(_0x3c6cb3){const _0x3d62bb=await this[_0x564213(0x5be)][_0x564213(0xa0b)](_0x3c6cb3)['catch'](()=>({'success':![],'visible':![]}));_0x32020d=_0x3d62bb[_0x564213(0x6d0)]&&_0x3d62bb['visible'],_0x100b0a=_0x564213(0x401)+_0x2339e0[_0x564213(0xa66)][_0x564213(0xa90)]+_0x564213(0x568)+JSON[_0x564213(0x312)](_0x3c6cb3)+'\x20visible='+_0x32020d;}else _0x564213(0x311)!==_0x564213(0xac9)?_0x100b0a='destination='+_0x2339e0[_0x564213(0xa66)]['destinationRoute']:(this['session']=null,this[_0x564213(0xb00)][_0x564213(0xaf5)]());_0x216be5[_0x564213(0x4d1)]({'kind':'verify-observation','message':_0x564213(0x417)+(_0x32020d?'destination\x20primary\x20selector\x20visible':'destination\x20primary\x20selector\x20NOT\x20visible'),'detail':_0x100b0a,'flowId':_0x2acb3f});}if(_0x2339e0[_0x564213(0xa23)]){if(_0x564213(0xa9e)==='xPcQv'){const _0xc6bba5=_0x2339e0['verifyProfileTransition'][_0x564213(0x7ee)]??_0x2339e0['verifyProfileTransition'][_0x564213(0xb26)][_0x564213(0x86b)](_0xebfa68=>({'text':_0xebfa68,'route':_0xebfa68}));_0x270372=await this[_0x564213(0x37f)]({'expectedSelectors':_0xc6bba5});}else return this[_0x564213(0x4e7)][_0x564213(0x795)]();}return{'witnesses':_0x216be5,'reload':_0x270372};}async[_0xf8ecb6(0x61e)](_0xb0006e){const _0x123128=_0xf8ecb6,_0x5803ff=0x190,_0x22064a=0x5,_0x7d820f=_0x240df8(_0xb0006e[_0x123128(0x360)]);let _0x2754dd=null;for(let _0x1c29ba=0x0;_0x1c29ba<_0x22064a;_0x1c29ba++){const _0x5a16a7=await this['readSelectorText'](_0xb0006e['selector']);if(_0x5a16a7!==null){_0x2754dd=_0x5a16a7;const _0x1fcf8e=_0x240df8(_0x5a16a7);if(_0x3cd8b5(_0x7d820f,_0x1fcf8e,_0xb0006e[_0x123128(0x360)]))return null;}_0x1c29ba<_0x22064a-0x1&&await new Promise(_0x3c235a=>setTimeout(_0x3c235a,_0x5803ff));}if(_0x2754dd===null)return null;const _0x2d4f89=['selector='+JSON[_0x123128(0x312)](_0xb0006e['selector']),_0x123128(0x6ec)+JSON['stringify'](_0xb0006e[_0x123128(0x360)]),_0x123128(0x4f7)+JSON['stringify'](_0x2754dd)];if(_0xb0006e[_0x123128(0xaae)])_0x2d4f89['unshift'](_0x123128(0x896)+_0xb0006e['responseField']);return _0x2d4f89[_0x123128(0x4ec)]('\x20');}async['readSelectorText'](_0x23a84a){const _0x946c4d=_0xf8ecb6;if(typeof this['screen']['fetchSourceTree']!=='function'||typeof this[_0x946c4d(0x5be)][_0x946c4d(0x4da)]!=='function')return null;const _0x1691eb=await this['screen'][_0x946c4d(0x491)]()[_0x946c4d(0x48b)](()=>null);if(!_0x1691eb)return null;const _0x3b9ae3=this[_0x946c4d(0x5be)][_0x946c4d(0x4da)](_0x1691eb,_0x23a84a),_0x1e4d0b=_0x3b9ae3[0x0];if(!_0x1e4d0b)return null;const _0x555813=typeof _0x1e4d0b['value']===_0x946c4d(0x30d)&&_0x1e4d0b[_0x946c4d(0x39d)]||typeof _0x1e4d0b[_0x946c4d(0x960)]==='string'&&_0x1e4d0b[_0x946c4d(0x960)]||typeof _0x1e4d0b['name']===_0x946c4d(0x30d)&&_0x1e4d0b[_0x946c4d(0x9e5)]||'';if(_0x23a84a[_0x946c4d(0x3e0)]!==void 0x0&&_0x555813===_0x23a84a['text']&&(typeof _0x1e4d0b[_0x946c4d(0x39d)]!=='string'||!_0x1e4d0b['value'])&&(typeof _0x1e4d0b[_0x946c4d(0x960)]!==_0x946c4d(0x30d)||!_0x1e4d0b[_0x946c4d(0x960)]))return null;return _0x555813;}async['runReloadRecoveryWitness'](_0x30e03d){const _0x206f3c=_0xf8ecb6,_0x1d9587=_0x30e03d[_0x206f3c(0x7ee)][_0x206f3c(0x86b)]((_0x2dc102,_0x7036ec)=>_0x2dc102['route']??_0x2dc102['text']??_0x2dc102[_0x206f3c(0x444)]??_0x2dc102['type']??_0x206f3c(0x97e)+_0x7036ec),_0x7f8734=await this['snapshotReachable'](_0x30e03d['expectedSelectors'])[_0x206f3c(0x48b)](()=>null);if(_0x7f8734===null)return{'kind':'reload-recovery','outcome':_0x206f3c(0x4b0),'expectedRoutes':_0x1d9587,'reachableBeforeReload':[],'reason':_0x206f3c(0x89a),'reloadMechanism':'dev-settings-reload'};if(_0x7f8734[_0x206f3c(0x3b7)]===_0x1d9587[_0x206f3c(0x3b7)])return{'kind':'reload-recovery','outcome':_0x206f3c(0x6be),'expectedRoutes':_0x1d9587,'reachableBeforeReload':_0x7f8734,'reloadMechanism':'dev-settings-reload'};const _0x4b854b=await this['screen']['openUrl'](_0x206f3c(0x548));if(!_0x4b854b['success'])return{'kind':_0x206f3c(0x4d5),'outcome':_0x206f3c(0x4b0),'expectedRoutes':_0x1d9587,'reachableBeforeReload':_0x7f8734,'reason':_0x206f3c(0x774)+(_0x4b854b[_0x206f3c(0x3dd)]??_0x206f3c(0x6b2)),'reloadMechanism':'dev-settings-reload'};const _0x2c6d53=_0x30e03d['reloadTimeoutMs']??0x2710,_0x273283=await this['waitForAppReady'](_0x2c6d53);if(!_0x273283)return{'kind':'reload-recovery','outcome':'inconclusive','expectedRoutes':_0x1d9587,'reachableBeforeReload':_0x7f8734,'reason':_0x206f3c(0x692)+_0x2c6d53+'ms\x20after\x20reload','reloadMechanism':'dev-settings-reload'};const _0x4f9074=await this['snapshotReachable'](_0x30e03d[_0x206f3c(0x7ee)])['catch'](()=>null);if(_0x4f9074===null)return{'kind':'reload-recovery','outcome':_0x206f3c(0x4b0),'expectedRoutes':_0x1d9587,'reachableBeforeReload':_0x7f8734,'reason':'Post-reload\x20snapshot\x20failed\x20(WDA\x20unreachable\x20or\x20source\x20error)','reloadMechanism':'dev-settings-reload'};if(_0x4f9074['length']===_0x1d9587[_0x206f3c(0x3b7)])return _0x206f3c(0x613)==='ejWfD'?this['readyPromise']:{'kind':'reload-recovery','outcome':'stale-but-recoverable','expectedRoutes':_0x1d9587,'reachableBeforeReload':_0x7f8734,'reachableAfterReload':_0x4f9074,'reloadMechanism':'dev-settings-reload'};return{'kind':_0x206f3c(0x4d5),'outcome':'stale-unrecoverable','expectedRoutes':_0x1d9587,'reachableBeforeReload':_0x7f8734,'reachableAfterReload':_0x4f9074,'reloadMechanism':'dev-settings-reload'};}async[_0xf8ecb6(0x83a)](_0x5dc2ab){const _0x5a78d4=_0xf8ecb6,_0x5c83d9=[];for(let _0x22d481=0x0;_0x22d481<_0x5dc2ab['length'];_0x22d481++){const _0x267af1=_0x5dc2ab[_0x22d481],_0x32ba44=_0x267af1[_0x5a78d4(0x761)]??_0x267af1['text']??_0x267af1[_0x5a78d4(0x444)]??_0x267af1['type']??'selector-'+_0x22d481,_0x214850=await this['screen'][_0x5a78d4(0xa0b)]({'text':_0x267af1['text'],'accessibilityLabel':_0x267af1['accessibilityLabel'],'type':_0x267af1['type']})['catch'](()=>({'success':![],'visible':![]}));if(_0x214850[_0x5a78d4(0x6d0)]&&_0x214850['visible'])_0x5c83d9['push'](_0x32ba44);}return _0x5c83d9;}async[_0xf8ecb6(0x835)](_0xe55b0){const _0x79ad1c=_0xf8ecb6,_0x30d419=Date[_0x79ad1c(0x2f8)]();while(Date['now']()-_0x30d419<_0xe55b0){const _0xe244d0=await this['screen']['pingStatus']()[_0x79ad1c(0x48b)](()=>![]);if(_0xe244d0)return!![];await new Promise(_0x2a704f=>setTimeout(_0x2a704f,0xc8));}return![];}async[_0xf8ecb6(0x2f2)](_0x5a1e18){const _0x2e0b17=_0xf8ecb6,_0x3961b2=[];let _0x1494d0;if(_0x5a1e18!=null){if('hvaet'!==_0x2e0b17(0xa42))_0x1494d0=_0x5a1e18;else return typeof _0x1ae32e==='object'&&_0x49bc9e!==null&&'code'in _0x585119&&_0x27b1ed[_0x2e0b17(0x3aa)]===_0x2e0b17(0x5a8);}else try{const _0x22ab2a=await this[_0x2e0b17(0x5be)][_0x2e0b17(0x67e)]();if(!_0x22ab2a['success']||!_0x22ab2a['source'])return[];_0x1494d0=_0x22ab2a[_0x2e0b17(0x40e)];}catch{return[];}const _0x9b557e=/\b(error|failed|invalid|denied|something went wrong)\b/i,_0x147445=/alert|status/i,_0x1ea0b0=new Set(),_0x4231aa=_0x290518=>{const _0x2d4bbc=_0x2e0b17;if(!_0x290518||typeof _0x290518!==_0x2d4bbc(0x9e3))return;const _0x956da6=_0x290518,_0x1bf8f6=String(_0x956da6['value']??_0x956da6['label']??_0x956da6[_0x2d4bbc(0x9e5)]??'')['trim'](),_0x2966a2=String(_0x956da6[_0x2d4bbc(0x960)]??_0x956da6['name']??_0x956da6[_0x2d4bbc(0x45e)]??'<unnamed>'),_0xed3287=(_0x956da6['type']??'')+'::'+_0x2966a2+'::'+_0x1bf8f6;if(_0x956da6['type']===_0x2d4bbc(0x1f7))!_0x1ea0b0['has'](_0xed3287)&&(_0x1ea0b0['add'](_0xed3287),_0x3961b2['push']({'label':_0x2966a2,'text':_0xc3ad00(_0x1bf8f6,0xc8),'matchedSignal':_0x2d4bbc(0x413)}));else{if(_0x1bf8f6[_0x2d4bbc(0x3b7)]>0x0&&(_0x147445[_0x2d4bbc(0x8aa)](_0x2966a2)||_0x147445['test'](_0x1bf8f6)))!_0x1ea0b0['has'](_0xed3287)&&(_0x1ea0b0[_0x2d4bbc(0x856)](_0xed3287),_0x3961b2['push']({'label':_0x2966a2,'text':_0xc3ad00(_0x1bf8f6,0xc8),'matchedSignal':'role-alert'}));else _0x1bf8f6['length']>0x0&&_0x9b557e['test'](_0x1bf8f6)&&(!_0x1ea0b0['has'](_0xed3287)&&(_0x1ea0b0[_0x2d4bbc(0x856)](_0xed3287),_0x3961b2[_0x2d4bbc(0x4d1)]({'label':_0x2966a2,'text':_0xc3ad00(_0x1bf8f6,0xc8),'matchedSignal':'text-class-hint'})));}if(Array[_0x2d4bbc(0x200)](_0x956da6['children'])){for(const _0x5ea709 of _0x956da6['children'])_0x4231aa(_0x5ea709);}};try{_0x4231aa(_0x1494d0);}catch{}return _0x3961b2;}};function _0x2ea6dd(_0x1fcc0f){const _0x347e9e=_0xf8ecb6,_0x2087ae=[];if(_0x1fcc0f[_0x347e9e(0xa9a)])_0x2087ae[_0x347e9e(0x4d1)](_0x347e9e(0x2d7)+_0x1fcc0f[_0x347e9e(0xa9a)]);if(typeof _0x1fcc0f[_0x347e9e(0x9a5)]===_0x347e9e(0x30d))_0x2087ae['push'](_0x347e9e(0x74f)+_0xc3ad00(_0x1fcc0f[_0x347e9e(0x9a5)],0x50));if(typeof _0x1fcc0f[_0x347e9e(0x92a)]===_0x347e9e(0x30d))_0x2087ae[_0x347e9e(0x4d1)](_0x347e9e(0x35d)+_0xc3ad00(_0x1fcc0f[_0x347e9e(0x92a)],0x50));if(typeof _0x1fcc0f[_0x347e9e(0x270)]==='number')_0x2087ae[_0x347e9e(0x4d1)]('durationMs='+_0x1fcc0f[_0x347e9e(0x270)]);return _0x2087ae['length']>0x0?_0x2087ae['join']('\x20'):void 0x0;}function _0xc3ad00(_0x317803,_0x477c33){return _0x317803['length']<=_0x477c33?_0x317803:_0x317803['slice'](0x0,_0x477c33)+'…';}function _0x51e350(_0x1e741e){const _0x46d839=_0xf8ecb6;if(_0x1e741e[_0x46d839(0x3b7)]===0x0)return void 0x0;const _0x349d96=_0x1e741e['slice'](0x0,0x5)[_0x46d839(0x86b)](_0x5eeec6=>{const _0x249b20=_0x46d839;if(_0x249b20(0x34b)===_0x249b20(0x6a2))_0x52c849=null;else{const _0x11c9b9=_0x5eeec6[_0x249b20(0x803)]?_0x249b20(0x85e)+_0xc3ad00(_0x5eeec6[_0x249b20(0x803)],0x20):'';return _0x5eeec6['kind']+'/'+_0x5eeec6[_0x249b20(0x762)]+_0x11c9b9;}}),_0x21c2ec=_0x1e741e['length']>_0x349d96['length']?'\x20+'+(_0x1e741e['length']-_0x349d96['length'])+_0x46d839(0x955):'';return''+_0x349d96[_0x46d839(0x4ec)](',\x20')+_0x21c2ec;}function _0x240df8(_0x1f44a9){return String(_0x1f44a9)['trim']();}function _0x3cd8b5(_0x117d94,_0x1f515c,_0x1b4e2c){const _0x2c2019=_0xf8ecb6;if(typeof _0x1b4e2c==='number'){const _0x465ab5=Number(_0x1f515c);return Number[_0x2c2019(0xa89)](_0x465ab5)&&_0x465ab5===_0x1b4e2c;}if(_0x117d94[_0x2c2019(0x3b7)]===0x0)return _0x1f515c['length']===0x0;return _0x1f515c[_0x2c2019(0x5b5)]()[_0x2c2019(0x27e)](_0x117d94['toLowerCase']());}function _0x1bd9a8(_0x547184){const _0x365ddc=_0xf8ecb6;if(typeof _0x547184[_0x365ddc(0x3e0)]!=='string'||!_0x2ad63a(_0x547184[_0x365ddc(0x3e0)]))return;const _0x35aaa7=_0x346c6b(_0x547184[_0x365ddc(0x3e0)]);if(_0x35aaa7){if('bIIzT'!==_0x365ddc(0x96f))_0x547184[_0x365ddc(0x40e)]=_0x35aaa7[_0x365ddc(0x861)]+':'+_0x35aaa7[_0x365ddc(0x397)]+':'+_0x35aaa7['col'];else return _0x279824[_0x365ddc(0x9d3)]['filter'](_0x4334f7=>{const _0x4a3a21=_0x365ddc;if(_0x4334f7['severity']===_0x4a3a21(0x3dd))return![];if(_0x4334f7[_0x4a3a21(0x762)]===_0x4a3a21(0x696))return!_0x4334f7['ok'];if(_0x4334f7['severity']===_0x4a3a21(0x799))return!_0x4334f7['ok']||_0x4334f7[_0x4a3a21(0x638)]!=null;return![];});}}function _0x1ddfd3(_0x26a9e8){const _0x2a24aa=_0xf8ecb6;switch(_0x26a9e8['action']){case'type':{const _0x1c1842={'value':_0x26a9e8[_0x2a24aa(0x39d)]};if(_0x26a9e8['into']){const _0x1f8267={};if(_0x26a9e8[_0x2a24aa(0x2d5)]['text']!==void 0x0)_0x1f8267['text']=_0x26a9e8[_0x2a24aa(0x2d5)]['text'];_0x26a9e8['into'][_0x2a24aa(0x444)]!==void 0x0&&(_0x1f8267[_0x2a24aa(0x444)]=_0x26a9e8[_0x2a24aa(0x2d5)]['accessibilityLabel']);_0x1bd9a8(_0x1f8267);if(Object['keys'](_0x1f8267)['length']>0x0)_0x1c1842[_0x2a24aa(0xb00)]=_0x1f8267;}return _0x1c1842;}case'tap':case'longPress':case'clearText':case'scrollTo':case _0x2a24aa(0x588):case _0x2a24aa(0xa0b):case _0x2a24aa(0x88c):{const _0x4af41c={};if(_0x2a24aa(0x3e0)in _0x26a9e8&&_0x26a9e8[_0x2a24aa(0x3e0)]!==void 0x0)_0x4af41c[_0x2a24aa(0x3e0)]=_0x26a9e8['text'];'accessibilityLabel'in _0x26a9e8&&_0x26a9e8['accessibilityLabel']!==void 0x0&&(_0x4af41c['accessibilityLabel']=_0x26a9e8[_0x2a24aa(0x444)]);if('type'in _0x26a9e8&&_0x26a9e8['type']!==void 0x0)_0x4af41c['type']=_0x26a9e8['type'];return _0x1bd9a8(_0x4af41c),Object[_0x2a24aa(0x8c1)](_0x4af41c)[_0x2a24aa(0x3b7)]>0x0?{'target':_0x4af41c}:{};}case'pressKey':return{'value':_0x26a9e8['key']};case'swipe':return{'value':_0x26a9e8[_0x2a24aa(0x204)]};default:return{};}}import{spawn as _0x20c96b}from'child_process';var _0x35063a=0x1fa4,_0x4a817b=0x1fa4,_0x5517a0=0x32;function _0x4cf83e(_0x39699b){return new Promise(_0x3fd410=>{const _0x53941f=_0xc050;let _0x2d4a46='',_0x9e41a4=![];const _0x36523b=_0x20c96b('which',[_0x39699b],{'stdio':['ignore','pipe','ignore']});_0x36523b[_0x53941f(0x790)]['on'](_0x53941f(0x78f),_0x311fef=>{const _0x3c6f8a=_0x53941f;_0x2d4a46+=_0x311fef[_0x3c6f8a(0xafa)]();}),_0x36523b['on']('error',()=>{!_0x9e41a4&&(_0x9e41a4=!![],_0x3fd410(null));}),_0x36523b['on']('exit',_0x3008d4=>{if(_0x9e41a4)return;_0x9e41a4=!![];if(_0x3008d4!==0x0)_0x3fd410(null);else{const _0x27c060=_0x2d4a46['trim']();_0x3fd410(_0x27c060['length']>0x0?_0x27c060:null);}});});}var _0x5ee35c=class{[_0xf8ecb6(0x618)]=null;[_0xf8ecb6(0x5a2)]=null;[_0xf8ecb6(0x382)];['devicePort'];[_0xf8ecb6(0x7c2)]=[];['spawnFn'];['whichFn'];['startInFlight']=null;constructor(_0x2816ee={}){const _0x132fc2=_0xf8ecb6;this['localPort']=_0x2816ee[_0x132fc2(0x382)]??_0x35063a,this[_0x132fc2(0x840)]=_0x2816ee[_0x132fc2(0x840)]??_0x4a817b,this['spawnFn']=_0x2816ee['spawnFn']??_0x20c96b,this[_0x132fc2(0x7f3)]=_0x2816ee[_0x132fc2(0x7f3)]??_0x4cf83e;}['isRunning'](){const _0x4d181a=_0xf8ecb6;return this[_0x4d181a(0x618)]!==null&&this['child']['exitCode']===null;}async['start'](_0x1ece99){const _0x5ea36f=_0xf8ecb6;while(!![]){if(this['isRunning']())return{'ok':![],'reason':_0x5ea36f(0x245),'pid':this[_0x5ea36f(0x618)]?.['pid']};if(!this['startInFlight'])break;await this['startInFlight'][_0x5ea36f(0x48b)](()=>void 0x0);}const _0x1b3666=this[_0x5ea36f(0x376)](_0x1ece99);this[_0x5ea36f(0xa01)]=_0x1b3666;try{return await _0x1b3666;}finally{this['startInFlight']===_0x1b3666&&(this[_0x5ea36f(0xa01)]=null);}}async['startInner'](_0x3e9f15){const _0x36a04c=_0xf8ecb6;if(this['isRunning']()){if('UaAYE'===_0x36a04c(0x86a)){const _0x2baae2=_0x1cdfde['text'][_0x36a04c(0x5b5)](),_0x41a2c0=[_0x21461f[_0x36a04c(0x39d)],_0x17c02a[_0x36a04c(0x960)],_0x35ca34[_0x36a04c(0x9e5)]]['filter'](_0x58439d)['map'](_0x5691a4=>_0x35dea9(_0x5691a4)['toLowerCase']());if(!_0x41a2c0['some'](_0xa42144=>_0xa42144['includes'](_0x2baae2)))return![];}else return{'ok':![],'reason':_0x36a04c(0x245),'pid':this['child']?.[_0x36a04c(0x8e3)]};}const _0x4ec199=await this[_0x36a04c(0x7f3)]('iproxy');if(!_0x4ec199)return{'ok':![],'reason':_0x36a04c(0xacc)};this['udid']=_0x3e9f15,this['stderrBuffer']=[];let _0x5e965b;try{_0x5e965b=this['spawnFn'](_0x4ec199,[String(this[_0x36a04c(0x382)]),String(this[_0x36a04c(0x840)]),'-u',_0x3e9f15],{'stdio':[_0x36a04c(0x9fa),'pipe','pipe']});}catch(_0x25f710){return this['appendStderr']('iproxy\x20spawn\x20threw:\x20'+(_0x25f710 instanceof Error?_0x25f710[_0x36a04c(0x531)]:String(_0x25f710))),{'ok':![],'reason':_0x36a04c(0xa92),'stderr':[...this['stderrBuffer']]};}_0x5e965b['stderr']?.['on'](_0x36a04c(0x78f),_0x57bd07=>{const _0x3904a0=_0x36a04c,_0x4e4bc8=_0x57bd07[_0x3904a0(0xafa)]();for(const _0x27e75d of _0x4e4bc8['split'](/\r?\n/)){if(_0x27e75d[_0x3904a0(0x668)]()[_0x3904a0(0x3b7)]===0x0)continue;this['appendStderr'](_0x27e75d);}}),_0x5e965b['stdout']?.['on'](_0x36a04c(0x78f),_0x4508b5=>{const _0x28a1b9=_0x36a04c,_0x5b51c6=_0x4508b5[_0x28a1b9(0xafa)]();for(const _0x1b7260 of _0x5b51c6['split'](/\r?\n/)){if(_0x1b7260['trim']()[_0x28a1b9(0x3b7)]===0x0)continue;this['appendStderr'](_0x28a1b9(0x418)+_0x1b7260);}});const _0xa2c884=await this['detectEarlyExit'](_0x5e965b,0x32);if(_0xa2c884)return this[_0x36a04c(0x618)]=null,{'ok':![],'reason':_0x36a04c(0xa92),'stderr':[...this[_0x36a04c(0x7c2)]]};return this[_0x36a04c(0x618)]=_0x5e965b,_0x5e965b['on'](_0x36a04c(0x68c),()=>{this['child']===_0x5e965b&&(this['child']=null);}),{'ok':!![],'pid':_0x5e965b['pid'],'stderr':[...this['stderrBuffer']]};}async[_0xf8ecb6(0x8bc)](){const _0x1beb96=_0xf8ecb6;this[_0x1beb96(0xa01)]&&await this[_0x1beb96(0xa01)]['catch'](()=>void 0x0);const _0x3c7f9e=this['child'];if(!_0x3c7f9e)return;this['child']=null;if(_0x3c7f9e['exitCode']!==null)return;return new Promise(_0x228bbd=>{const _0x5dc882=_0x1beb96;let _0x1a740b=![],_0x5d4c67=null,_0x46c160=null;const _0x442f04=()=>{if(_0x1a740b)return;_0x1a740b=!![];if(_0x5d4c67)clearTimeout(_0x5d4c67);if(_0x46c160)clearTimeout(_0x46c160);_0x228bbd();};_0x3c7f9e[_0x5dc882(0x6b8)](_0x5dc882(0x68c),_0x442f04);try{_0x3c7f9e[_0x5dc882(0x6ee)]('SIGTERM');}catch{_0x442f04();return;}_0x5d4c67=setTimeout(()=>{const _0x3c3bdf=_0x5dc882;if(_0x1a740b)return;try{_0x3c7f9e['kill'](_0x3c3bdf(0x58f));}catch{}_0x46c160=setTimeout(_0x442f04,0x64),_0x46c160['unref']();},0x3e8),_0x5d4c67[_0x5dc882(0x2d6)]();});}async['restart'](_0x4a3f92){const _0x5706e4=_0xf8ecb6;return await this[_0x5706e4(0x8bc)](),this['start'](_0x4a3f92??this[_0x5706e4(0x5a2)]??'');}['getStderr'](){const _0x11432d=_0xf8ecb6;return[...this[_0x11432d(0x7c2)]];}[_0xf8ecb6(0x535)](_0x5e0db2){const _0x407359=_0xf8ecb6;this['stderrBuffer'][_0x407359(0x4d1)](_0x5e0db2),this[_0x407359(0x7c2)][_0x407359(0x3b7)]>_0x5517a0&&this['stderrBuffer'][_0x407359(0x9a6)]();}[_0xf8ecb6(0x854)](_0x103499,_0x47ef57){return new Promise(_0x38336e=>{const _0x96898c=_0xc050;let _0x10e2c3=![];const _0x255de3=_0x4992b8=>{if(_0x10e2c3)return;_0x10e2c3=!![],_0x38336e(_0x4992b8);},_0x158435=()=>_0x255de3(!![]);_0x103499['once'](_0x96898c(0x68c),_0x158435),setTimeout(()=>{_0x103499['off']('exit',_0x158435),_0x255de3(![]);},_0x47ef57)['unref']();});}};import{join as _0x238f64}from'path';var _0x51730e=/<<([A-Z][A-Z0-9_]*)>>/g;function _0x11fccc(_0x1692fb,_0x721106=process.env,_0xa8e8f={}){const _0x216b13=new Set(),_0x2c67c5=_0x3c76b1(_0x1692fb,_0x721106,_0x216b13,_0xa8e8f);return{'value':_0x2c67c5,'missing':_0x216b13};}function _0x3c76b1(_0x417908,_0x5eb8f6,_0x29cc96,_0x58fb20){const _0x2bc76f=_0xf8ecb6;if(typeof _0x417908===_0x2bc76f(0x30d))return _0x417908['replace'](_0x51730e,(_0x5941d4,_0x223e67)=>{const _0xc3f10c=_0x2bc76f,_0x51944a=_0x58fb20[_0x223e67];if(typeof _0x51944a===_0xc3f10c(0x30d)&&_0x51944a['length']>0x0)return _0x51944a;const _0x3b4cea=_0x5eb8f6[_0x223e67];if(typeof _0x3b4cea!=='string'||_0x3b4cea[_0xc3f10c(0x3b7)]===0x0)return _0x29cc96[_0xc3f10c(0x856)](_0x223e67),'<<'+_0x223e67+'>>';return _0x3b4cea;});if(Array[_0x2bc76f(0x200)](_0x417908))return _0x417908[_0x2bc76f(0x86b)](_0x56cf44=>_0x3c76b1(_0x56cf44,_0x5eb8f6,_0x29cc96,_0x58fb20));if(_0x417908&&typeof _0x417908===_0x2bc76f(0x9e3)){const _0xbc2140={};for(const [_0x46af7c,_0x4da0a1]of Object[_0x2bc76f(0x42a)](_0x417908)){_0xbc2140[_0x46af7c]=_0x3c76b1(_0x4da0a1,_0x5eb8f6,_0x29cc96,_0x58fb20);}return _0xbc2140;}return _0x417908;}function _0x1e792d(_0x504fd5){const _0x246dea=_0xf8ecb6;if(!_0x504fd5)return{};const _0x469274=_0x504fd5['getJitUser']();if(!_0x469274)return{};return{'CERAPH_TEST_EMAIL':_0x469274['email'],'CERAPH_TEST_PASSWORD':_0x469274[_0x246dea(0x98a)]};}var _0x1cc3d6=0x30d40,_0x5b2d6d=0xc8,_0x5a1d98=_0xf8ecb6(0x96e),_0x21266c='Could\x20not\x20resolve\x20GitHub\x20remote.\x20Run\x20from\x20a\x20git\x20repository\x20whose\x20origin\x20points\x20to\x20github.com.';function _0x1d9ba1(_0x2217ce){const _0x2a97db=_0xf8ecb6,_0x95df99={};if(!_0x2217ce)return _0x95df99;return typeof _0x2217ce['text']===_0x2a97db(0x30d)&&_0x2217ce[_0x2a97db(0x3e0)]['length']>0x0&&(_0x95df99['text']=_0x2217ce['text']),typeof _0x2217ce['testID']==='string'&&_0x2217ce['testID']['length']>0x0&&(_0x95df99['accessibilityLabel']=_0x2217ce[_0x2a97db(0x917)]),typeof _0x2217ce[_0x2a97db(0x924)]===_0x2a97db(0x30d)&&_0x2217ce[_0x2a97db(0x924)][_0x2a97db(0x3b7)]>0x0&&(_0x95df99[_0x2a97db(0x45e)]=_0x2217ce[_0x2a97db(0x924)]),_0x95df99;}function _0x16235a(_0x404289){const _0x3156c1=_0xf8ecb6,_0x1b6658=_0x404289;switch(_0x1b6658['action']){case'tap':case'longPress':case'scrollTo':case'clearText':case _0x3156c1(0x588):case _0x3156c1(0xa0b):case'assertNotVisible':return{..._0x1b6658,..._0x1d9ba1(_0x1b6658[_0x3156c1(0xb00)])};case _0x3156c1(0x45e):{if(!_0x1b6658[_0x3156c1(0xb00)])return _0x1b6658;const _0x4ef8b8=_0x1d9ba1(_0x1b6658['target']),_0x167c5b={};if(_0x4ef8b8[_0x3156c1(0x3e0)]!==void 0x0)_0x167c5b[_0x3156c1(0x3e0)]=_0x4ef8b8[_0x3156c1(0x3e0)];return _0x4ef8b8['accessibilityLabel']!==void 0x0&&(_0x167c5b['accessibilityLabel']=_0x4ef8b8['accessibilityLabel']),{..._0x1b6658,'into':_0x167c5b,'value':_0x1b6658['value']??''};}case _0x3156c1(0x6fe):return _0x1b6658['coords']?{..._0x1b6658,'x':_0x1b6658['coords']['x'],'y':_0x1b6658['coords']['y']}:_0x1b6658;case _0x3156c1(0x439):return _0x1b6658[_0x3156c1(0x9e5)]!==void 0x0?{..._0x1b6658,'label':_0x1b6658['name']}:_0x1b6658;default:return _0x1b6658;}}function _0x5d210f(_0x3d916f,_0x417863={}){const _0x36c2ab=_0xf8ecb6,_0x12fed2=_0x11fccc({'steps':_0x3d916f['steps']['map'](_0x16235a),'beforeAll':_0x3d916f['beforeAll']},process.env,_0x417863),_0xa2dab6=(_0x3d916f[_0x36c2ab(0xa9f)]??[])[_0x36c2ab(0x529)](_0xece08=>{const _0x5a8264=_0x36c2ab,_0x3670ad=_0x417863[_0xece08];if(typeof _0x3670ad===_0x5a8264(0x30d)&&_0x3670ad[_0x5a8264(0x3b7)]>0x0)return![];const _0x592649=process.env[_0xece08];return _0x592649===void 0x0||_0x592649==='';}),_0x384ca2=new Set([..._0x12fed2['missing'],..._0xa2dab6]);return{'source':_0x3d916f,'expandedSteps':_0x12fed2[_0x36c2ab(0x39d)][_0x36c2ab(0xa02)],'expandedBeforeAll':_0x12fed2[_0x36c2ab(0x39d)]['beforeAll'],'missingEnv':_0x384ca2};}async function _0x16599e(_0x1b4112,_0x1f66b5,_0x239c5e,_0x100f7b,_0x3a4b15){const _0x1dacbb=_0xf8ecb6;await _0x239c5e?.[_0x1dacbb(0xa3e)]();const _0x230de4=_0x1b4112[_0x1dacbb(0x942)];if(_0x1b4112['status']==='no-flows'||_0x1b4112['flows'][_0x1dacbb(0x3b7)]===0x0||_0x230de4===null)return{'runId':_0x1b4112['runId'],'status':_0x1dacbb(0xa2f),'results':[],'hint':_0x1b4112['hint']??'No\x20flows\x20to\x20run.'};const _0x224fa3=_0x1b4112[_0x1dacbb(0xa67)]&&_0x1b4112['affectedFlowNames']['length']>0x0?new Set(_0x1b4112[_0x1dacbb(0xa67)]):void 0x0,_0xdb9c9a=_0x3a4b15||_0x224fa3?{'runId':_0x230de4,..._0x3a4b15?{'store':_0x3a4b15}:{},..._0x224fa3?{'affectedFlowNames':_0x224fa3}:{}}:void 0x0,_0x1cef7c=[],_0x2f5911=new Set();let _0x23116a;const _0x9af20d=_0x1b4112[_0x1dacbb(0x628)][_0x1dacbb(0x3b7)],_0x5171f5=new Map(),_0x390e5f=_0x1e792d(_0x100f7b);for(const _0x3fc418 of _0x1b4112['flows']){_0x5171f5[_0x1dacbb(0x93e)](_0x3fc418['flowId'],_0x5d210f(_0x3fc418,_0x390e5f));}const _0x3b7b34=new Map(),_0x3d1e60=new Set();for(const _0x491966 of _0x1b4112['chains']??[]){if(_0x491966[_0x1dacbb(0x863)]['length']<0x2)continue;const _0x2b1753=[];let _0x4dfea8=!![];for(const _0x3922d0 of _0x491966[_0x1dacbb(0x863)]){const _0x27e056=_0x5171f5['get'](_0x3922d0);if(!_0x27e056){_0x4dfea8=![];break;}if(_0x27e056['missingEnv'][_0x1dacbb(0x952)]>0x0){_0x4dfea8=![];break;}_0x2b1753['push'](_0x27e056);}if(!_0x4dfea8)continue;_0x3b7b34['set'](_0x491966['flowIds'][0x0],{'entry':_0x491966,'flows':_0x2b1753});for(const _0x480c8a of _0x491966['flowIds'])_0x3d1e60['add'](_0x480c8a);}for(let _0xcaa844=0x0;_0xcaa844<_0x1b4112['flows'][_0x1dacbb(0x3b7)];_0xcaa844++){const _0x476f87=_0x1b4112[_0x1dacbb(0x628)][_0xcaa844],_0x4211d1=_0x5171f5['get'](_0x476f87[_0x1dacbb(0x930)]),_0x3b8712=_0x3b7b34[_0x1dacbb(0x3fd)](_0x476f87['flowId']);if(_0x3b8712){if('LRqfV'==='rPzhR')return{'changed':![],'previousScheme':[..._0x5183fd],'nextScheme':[..._0x2dc772]};else{const _0x30ed81={'chainId':_0x3b8712[_0x1dacbb(0x3c9)]['chainId'],'flows':_0x3b8712[_0x1dacbb(0x628)]['map'](_0x2f2ff4=>({'flowId':_0x2f2ff4['source']['flowId'],'name':_0x2f2ff4[_0x1dacbb(0x40e)][_0x1dacbb(0x9e5)],'steps':_0x2f2ff4['expandedSteps'],'beforeAll':_0x2f2ff4['expandedBeforeAll'],'timeoutMs':_0x2f2ff4[_0x1dacbb(0x40e)][_0x1dacbb(0x2f9)]})),'bridges':_0x3b8712[_0x1dacbb(0x3c9)]['bridges']},_0x4c2835=await _0x1f66b5['runChain'](_0x30ed81,_0xdb9c9a);let _0x386b0c=![];for(const _0x3e7a35 of _0x4c2835['flowResults']){if(_0x1dacbb(0x59b)==='fjFmv'){const _0x1e218a=_0x42766c({'input':_0x40ad9d['stdin'],'output':_0x4005fd['stdout']});_0x1e218a[_0x1dacbb(0xa2b)](_0x43fccf,_0x48f804=>{const _0x340ae7=_0x1dacbb;_0x1e218a[_0x340ae7(0x716)](),_0x1ff5ea(_0x48f804);});}else{_0x1cef7c[_0x1dacbb(0x4d1)](_0x3e7a35);const _0x384774=_0x1b4112[_0x1dacbb(0x628)]['findIndex'](_0x511509=>_0x511509[_0x1dacbb(0x930)]===_0x3e7a35[_0x1dacbb(0x930)]);await _0x239c5e?.['write']({'flow':_0x3e7a35[_0x1dacbb(0x8f8)],'index':_0x384774>=0x0?_0x384774:_0xcaa844,'total':_0x9af20d,'success':_0x3e7a35[_0x1dacbb(0x6d0)],'durationMs':_0x3e7a35['totalDurationMs'],'timestamp':new Date()['toISOString']()}),!_0x3e7a35[_0x1dacbb(0x6d0)]&&!_0x386b0c&&(_0x23116a=_0x384774>=0x0?_0x384774:_0xcaa844,_0x386b0c=!![]);}}if(_0x386b0c)break;continue;}}if(_0x3d1e60['has'](_0x476f87[_0x1dacbb(0x930)]))continue;const _0x202e86=Date['now']();if(_0x4211d1[_0x1dacbb(0x859)]['size']>0x0){for(const _0x200dcd of _0x4211d1['missingEnv'])_0x2f5911['add'](_0x200dcd);_0x1cef7c[_0x1dacbb(0x4d1)]({'flow':_0x476f87[_0x1dacbb(0x9e5)],'flowId':_0x476f87[_0x1dacbb(0x930)],'skipped':!![],'requiresEnv':Array[_0x1dacbb(0x56c)](_0x4211d1['missingEnv'])['sort']()}),await _0x239c5e?.[_0x1dacbb(0xaac)]({'flow':_0x476f87[_0x1dacbb(0x9e5)],'index':_0xcaa844,'total':_0x9af20d,'success':![],'durationMs':Date['now']()-_0x202e86,'timestamp':new Date()[_0x1dacbb(0x471)]()});continue;}const _0x48c94f=await _0x1f66b5[_0x1dacbb(0x7f0)]({'flowId':_0x476f87[_0x1dacbb(0x930)],'name':_0x476f87['name'],'steps':_0x4211d1[_0x1dacbb(0x794)],'beforeAll':_0x4211d1[_0x1dacbb(0x34a)],'timeoutMs':_0x476f87['timeoutMs']},_0xdb9c9a);_0x1cef7c[_0x1dacbb(0x4d1)](_0x48c94f),await _0x239c5e?.['write']({'flow':_0x476f87['name'],'index':_0xcaa844,'total':_0x9af20d,'success':_0x48c94f[_0x1dacbb(0x6d0)],'durationMs':_0x48c94f['totalDurationMs'],'timestamp':new Date()['toISOString']()});if(!_0x48c94f['success']){_0x23116a=_0xcaa844;break;}}const _0x1f67d5={'runId':_0x230de4,'status':_0x1b4112[_0x1dacbb(0x428)],'results':_0x1cef7c,'failedAt':_0x23116a,'hint':_0x1b4112['hint']};return _0x2f5911[_0x1dacbb(0x952)]>0x0&&(_0x1f67d5[_0x1dacbb(0xa9f)]=Array[_0x1dacbb(0x56c)](_0x2f5911)[_0x1dacbb(0x426)]()),_0x1f67d5;}function _0x1f44f8(_0xdb156a){const _0x45e325=_0xf8ecb6;return'WARNING:\x20the\x20working\x20tree\x20was\x20too\x20large\x20to\x20attach\x20to\x20this\x20request\x20('+_0xdb156a['detail']+_0x45e325(0xa3b);}async function _0x4c910c(_0x5f35c7){const _0x36b586=_0xf8ecb6;if(!_0x5f35c7['getWorkingTreeDiff']||!_0x5f35c7[_0x36b586(0x39f)]||!_0x5f35c7[_0x36b586(0x42c)])return void 0x0;const _0x16fdfc=_0x5f35c7[_0x36b586(0x878)]?await _0x5f35c7[_0x36b586(0x878)](_0x5f35c7[_0x36b586(0x7f5)]):'main',[_0x52186f,_0x1aaacc,_0x2f05ed]=await Promise[_0x36b586(0x2d4)]([_0x5f35c7[_0x36b586(0x389)](_0x5f35c7[_0x36b586(0x7f5)],_0x16fdfc),_0x5f35c7[_0x36b586(0x344)](_0x5f35c7['cwd'],_0x16fdfc),_0x5f35c7[_0x36b586(0x39f)](_0x5f35c7['cwd'],_0x16fdfc)]);if(!_0x52186f['trim']()&&_0x2f05ed[_0x36b586(0x3b7)]===0x0)return void 0x0;if(_0x52186f[_0x36b586(0x3b7)]>_0x1cc3d6)return{'omitted':'diff-too-large','detail':_0x36b586(0x971)+_0x16fdfc+_0x36b586(0x677)+_0x52186f['length']+'\x20bytes;\x20the\x20limit\x20is\x20'+_0x1cc3d6};if(_0x2f05ed['length']>_0x5b2d6d)return _0x36b586(0xa50)===_0x36b586(0x6fa)?{'message':'Signal\x20listener\x20bound\x20on\x20port\x20'+_0x44f328[_0x36b586(0x21a)],'fatal':![],'status':'bound'}:{'omitted':'too-many-files','detail':_0x2f05ed['length']+'\x20files\x20changed\x20vs\x20'+_0x16fdfc+';\x20the\x20limit\x20is\x20'+_0x5b2d6d};const _0x17922a=await _0x5f35c7[_0x36b586(0x42c)](_0x5f35c7['cwd'],_0x2f05ed);return{'baseSha':_0x1aaacc,'diff':_0x52186f,'changedFiles':_0x2f05ed,'appFiles':_0x17922a};}async function _0x17592c(_0x14b94f,_0x114f17){const _0x8dd4a7=_0xf8ecb6,_0xdcc211=await _0x114f17[_0x8dd4a7(0x2c1)]();if(!_0xdcc211)throw new Error(_0x5a1d98);if(_0x14b94f[_0x8dd4a7(0x863)]['length']===0x0)throw new Error('flowIds\x20is\x20required\x20and\x20must\x20not\x20be\x20empty.');let _0x32d438,_0x2234a0;try{({owner:_0x32d438,repo:_0x2234a0}=await _0x114f17[_0x8dd4a7(0x7c0)](_0x114f17['cwd']));}catch{throw new Error(_0x21266c);}const [_0x3239f6,_0x226903]=await Promise['all']([_0x114f17[_0x8dd4a7(0x703)](_0x114f17['cwd']),_0x114f17[_0x8dd4a7(0x344)](_0x114f17[_0x8dd4a7(0x7f5)],_0x8dd4a7(0xa12))]);let _0x143bad,_0x26a46a;try{const _0x48298e=await _0x4c910c(_0x114f17);_0x48298e&&'omitted'in _0x48298e?_0x26a46a=_0x1f44f8(_0x48298e):_0x143bad=_0x48298e;}catch(_0x41ea3b){if('sYQdX'!=='sYQdX')this[_0x8dd4a7(0x6f3)][_0x8dd4a7(0x265)](_0x3860b5),this[_0x8dd4a7(0x978)]=this['commandQueue'][_0x8dd4a7(0x529)](_0x2a11dc=>_0x2a11dc['id']!==_0x4d47aa),_0x4117cc({'acked':![]});else{await _0x114f17[_0x8dd4a7(0x90a)]?.[_0x8dd4a7(0xa3e)]();throw _0x41ea3b;}}await _0x114f17['ensureGraph']?.();const _0x30eb6c=_0x114f17[_0x8dd4a7(0x82f)]?await _0x114f17[_0x8dd4a7(0x82f)]():![],_0x3cd069=await _0x114f17[_0x8dd4a7(0x772)](_0x8dd4a7(0x9b5),{'repoOwner':_0x32d438,'repoName':_0x2234a0,'branch':_0x3239f6,'headSha':_0x226903,'flowIds':_0x14b94f[_0x8dd4a7(0x863)],..._0x143bad??{},..._0x30eb6c?{'testIdReady':!![]}:{}},_0xdcc211),_0x37be85=await _0x16599e(_0x3cd069,_0x114f17[_0x8dd4a7(0x4ac)],_0x114f17[_0x8dd4a7(0x90a)],_0x114f17[_0x8dd4a7(0xad4)],_0x114f17[_0x8dd4a7(0x3d0)]);return _0x26a46a?{..._0x37be85,'warning':_0x26a46a}:_0x37be85;}async function _0x553c87(_0x2284c9,_0x1422b0){const _0x29d716=_0xf8ecb6,_0x331fab=await _0x1422b0[_0x29d716(0x2c1)]();if(!_0x331fab)throw new Error(_0x5a1d98);if(_0x2284c9[_0x29d716(0x48c)][_0x29d716(0x668)]()[_0x29d716(0x3b7)]===0x0)throw new Error('query\x20is\x20required\x20and\x20must\x20not\x20be\x20empty.');let _0x3f1d73,_0x252c1c;try{({owner:_0x3f1d73,repo:_0x252c1c}=await _0x1422b0['resolveRepo'](_0x1422b0['cwd']));}catch{throw new Error(_0x21266c);}const [_0x4a00dd,_0x12b54f]=await Promise['all']([_0x1422b0[_0x29d716(0x703)](_0x1422b0['cwd']),_0x1422b0['getGitSha'](_0x1422b0[_0x29d716(0x7f5)],_0x29d716(0xa12))]),_0x203b53=await _0x4c910c(_0x1422b0);let _0x35b727,_0x495b18;_0x203b53&&'omitted'in _0x203b53?_0x495b18=_0x1f44f8(_0x203b53):_0x35b727=_0x203b53;await _0x1422b0['ensureGraph']?.();const _0x477b1b=_0x1422b0[_0x29d716(0x82f)]?await _0x1422b0['getTestIdReady']():![],_0x385ed8=await _0x1422b0[_0x29d716(0x772)]('/rn-find-flows',{'repoOwner':_0x3f1d73,'repoName':_0x252c1c,'branch':_0x4a00dd,'headSha':_0x12b54f,'query':_0x2284c9['query'],..._0x35b727??{},..._0x477b1b?{'testIdReady':!![]}:{}},_0x331fab);return _0x495b18?{..._0x385ed8,'warning':_0x495b18}:_0x385ed8;}async function _0x2cdf6d(_0x222962,_0x2312e3){const _0x384701=_0xf8ecb6,_0xad7b8c=await _0x2312e3['loadAuth']();if(!_0xad7b8c)throw new Error(_0x5a1d98);let _0x519a12,_0x14c2cd;try{({owner:_0x519a12,repo:_0x14c2cd}=await _0x2312e3[_0x384701(0x7c0)](_0x2312e3['cwd']));}catch{throw new Error(_0x21266c);}const _0x532ab5=_0x222962[_0x384701(0xa73)]?Array['isArray'](_0x222962[_0x384701(0xa73)])?_0x222962['filePaths']:[_0x222962[_0x384701(0xa73)]]:void 0x0;if(_0x532ab5&&_0x532ab5[_0x384701(0x3b7)]>_0x5b2d6d)throw new Error('Too\x20many\x20file\x20paths\x20('+_0x532ab5[_0x384701(0x3b7)]+'\x20>\x20'+_0x5b2d6d+_0x384701(0x5a1));const [_0x4c6d42,_0x167dbb]=await Promise['all']([_0x2312e3[_0x384701(0x703)](_0x2312e3['cwd']),_0x2312e3['getGitSha'](_0x2312e3[_0x384701(0x7f5)],'HEAD')]);let _0x22b36e,_0x338837;if(_0x532ab5&&_0x532ab5[_0x384701(0x3b7)]>0x0){const _0x4d785c=_0x2312e3[_0x384701(0x42c)]?await _0x2312e3[_0x384701(0x42c)](_0x2312e3['cwd'],_0x532ab5):void 0x0;_0x22b36e={'repoOwner':_0x519a12,'repoName':_0x14c2cd,'branch':_0x4c6d42,'headSha':_0x167dbb,'filePaths':_0x532ab5,..._0x4d785c?{'appFiles':_0x4d785c}:{}};}else{if(!_0x2312e3['getWorkingTreeDiff']||!_0x2312e3['listChangedFiles']||!_0x2312e3['readChangedFileContents'])throw new Error(_0x384701(0x580));const _0x2ac483=_0x222962['base']??(_0x2312e3[_0x384701(0x878)]?await _0x2312e3['getDefaultBranch'](_0x2312e3[_0x384701(0x7f5)]):_0x384701(0x7e9));_0x338837=_0x2ac483;const [_0x2f8810,_0x59b970,_0x56bea1]=await Promise[_0x384701(0x2d4)]([_0x2312e3[_0x384701(0x389)](_0x2312e3['cwd'],_0x2ac483),_0x2312e3['getGitSha'](_0x2312e3['cwd'],_0x2ac483),_0x2312e3[_0x384701(0x39f)](_0x2312e3[_0x384701(0x7f5)],_0x2ac483)]);if(_0x2f8810[_0x384701(0x3b7)]>_0x1cc3d6)throw new Error(_0x384701(0x87b)+_0x1cc3d6+'\x20byte\x20limit\x20('+_0x2f8810['length']+'\x20bytes).\x20Commit\x20your\x20changes\x20in\x20smaller\x20chunks.');if(_0x56bea1['length']>_0x5b2d6d)throw new Error('Too\x20many\x20changed\x20files\x20('+_0x56bea1[_0x384701(0x3b7)]+_0x384701(0xafd)+_0x5b2d6d+_0x384701(0x9cd));const _0x109fba=await _0x2312e3[_0x384701(0x42c)](_0x2312e3[_0x384701(0x7f5)],_0x56bea1);_0x22b36e={'repoOwner':_0x519a12,'repoName':_0x14c2cd,'branch':_0x4c6d42,'headSha':_0x167dbb,'baseSha':_0x59b970,'diff':_0x2f8810,'changedFiles':_0x56bea1,'appFiles':_0x109fba};}await _0x2312e3['ensureGraph']?.();const _0x21c951=_0x2312e3[_0x384701(0x82f)]?await _0x2312e3['getTestIdReady']():![];_0x21c951&&(_0x22b36e['testIdReady']=!![]);const _0x3f70c2=await _0x2312e3['fetcher'](_0x384701(0x674),_0x22b36e,_0xad7b8c),_0x2a9525={};return _0x532ab5&&_0x532ab5['length']>0x0?_0x2a9525['filePaths']=_0x532ab5:_0x2a9525['base']=_0x338837??'main',{'flows':_0x3f70c2[_0x384701(0x628)]??[],'totalCount':_0x3f70c2['totalCount']??(_0x3f70c2[_0x384701(0x628)]?.[_0x384701(0x3b7)]??0x0),'scope':_0x2a9525,..._0x3f70c2[_0x384701(0x9a7)]?{'truncated':!![]}:{},..._0x3f70c2['hint']?{'hint':_0x3f70c2['hint']}:{}};}var _0xdbf1a6=0x1e*0x3c*0x3e8,_0x1134ea=0x5dc,_0x50a380=0x1f4,_0x331fce=0x64,_0x44fc26=0x32*0x400,_0xae6a38=0x7d0,_0x186442=0x3a98,_0x354bc0=0x5*0x400,_0x3adec7=0x0;function _0x5e1687(){const _0x4ffaea=_0xf8ecb6;return _0x3adec7+=0x1,_0x4ffaea(0x2b3)+Date['now']()[_0x4ffaea(0xafa)](0x24)+'-'+_0x3adec7[_0x4ffaea(0xafa)](0x24);}var _0xb95bb1=0x0;function _0x2362a7(){const _0x11b23f=_0xf8ecb6;_0xb95bb1+=0x1;const _0x17c063=Math['random']()[_0x11b23f(0xafa)](0x24)['slice'](0x2,0xa);return _0x11b23f(0x704)+Date[_0x11b23f(0x2f8)]()['toString'](0x24)+'-'+_0xb95bb1['toString'](0x24)+'-'+_0x17c063;}function _0xa85944(_0x276353){const _0x433412=_0xf8ecb6;if(!_0x276353)return[];return _0x276353['filter'](_0x2b2d43=>typeof _0x2b2d43===_0x433412(0x30d)&&_0x2b2d43['length']>0x0&&!_0x2b2d43[_0x433412(0x27e)](','));}function _0x2cd458(_0x4a46a4,_0x5d07a3,_0x3e26ee,_0xf930d,_0x2161c1){const _0x2e3c3e=_0xf8ecb6,_0x46817f=_0x3e26ee['readSet'];if(!_0x46817f)return _0x2e3c3e(0x9ad);if(_0x46817f[_0x2e3c3e(0x428)]==='unresolved')return _0x2e3c3e(0x9ad);if(_0x46817f['hasFullyDynamicRead']){if(_0x4a46a4['size']>0x0||_0x5d07a3)return _0x2e3c3e(0x79a);}for(const _0x57c840 of _0x46817f[_0x2e3c3e(0x8c1)]){const _0x496045=_0x57c840[_0x2e3c3e(0xb14)]+':'+_0x57c840['key'];if(_0x4a46a4['has'](_0x496045))return'recreate';if(_0x57c840[_0x2e3c3e(0x4d3)]){if(_0x5d07a3)return _0x2e3c3e(0x79a);if(_0x57c840['key']===''){const _0x5363ff=_0x57c840[_0x2e3c3e(0xb14)]+':';for(const _0x53c172 of _0x4a46a4){if(_0x53c172[_0x2e3c3e(0x746)](_0x5363ff))return'recreate';}}if(_0x57c840['key']){const _0x173716=_0x57c840[_0x2e3c3e(0xb14)]+':'+_0x57c840['key'];for(const _0x3733c3 of _0x4a46a4){if(_0x3733c3['endsWith'](':*'))continue;if(_0x3733c3['startsWith'](_0x173716))return'recreate';}}}for(const _0x24b73d of _0x4a46a4){if(!_0x24b73d[_0x2e3c3e(0xaa5)](':*'))continue;const _0x1fa96a=_0x24b73d[_0x2e3c3e(0x795)](0x0,-0x2),_0x2d334e=_0x1fa96a['indexOf'](':');if(_0x2d334e<0x0)continue;const _0x477e9a=_0x1fa96a['slice'](0x0,_0x2d334e);if(_0x477e9a!==_0x57c840['kind'])continue;const _0x1a6777=_0x1fa96a[_0x2e3c3e(0x795)](_0x2d334e+0x1);if(_0x1a6777==='')return'recreate';if(_0x57c840['key'][_0x2e3c3e(0x746)](_0x1a6777))return _0x2e3c3e(0x79a);if(_0x57c840['wildcard']&&_0x57c840[_0x2e3c3e(0x88a)]&&_0x1a6777['startsWith'](_0x57c840['key']))return _0x2e3c3e(0x79a);}}if(_0x3e26ee[_0x2e3c3e(0x1f6)]&&_0x3e26ee['mutexWith']['length']>0x0){const _0x515864=new Set(_0x2161c1);for(const _0x4d236b of _0x3e26ee['mutexWith']){if(_0x515864[_0x2e3c3e(0x979)](_0x4d236b))return _0x2e3c3e(0x79a);}}return'continue';}var _0x28bbaf=class{constructor(_0x13000d,_0x183f6f,_0x3c867a,_0x42fa2f,_0x3363e3={}){const _0xaf60df=_0xf8ecb6;this['flowRunner']=_0x13000d,this[_0xaf60df(0x5be)]=_0x183f6f,this[_0xaf60df(0x508)]=_0x3c867a,this['ttlMs']=_0x3363e3['ttlMs']??_0xdbf1a6,this[_0xaf60df(0x260)]=_0x3363e3[_0xaf60df(0x260)]??_0x1134ea,this['bootDebounceMs']=_0x3363e3[_0xaf60df(0x82d)]??_0xae6a38,this[_0xaf60df(0x218)]=_0x3363e3['bootMaxWaitMs']??_0x186442,this[_0xaf60df(0x214)]=_0x42fa2f,this['runsStore']=_0x3363e3['runsStore'],this['testDataManager']=_0x3363e3[_0xaf60df(0xad4)],this[_0xaf60df(0x2a4)]=_0x3363e3[_0xaf60df(0x2a4)];}['runs']=new Map();[_0xf8ecb6(0x988)];[_0xf8ecb6(0x260)];['bootDebounceMs'];['bootMaxWaitMs'];['bootSource'];['runsStore'];['testDataManager'];['videoRecorderFactory'];['accumulatedBootDrains']=null;[_0xf8ecb6(0x754)]=Promise['resolve']();['setVideoRecorderFactory'](_0x2d14ff){this['videoRecorderFactory']=_0x2d14ff;}[_0xf8ecb6(0x721)](_0x344f2b){this['testDataManager']=_0x344f2b;}['getTestDataManager'](){const _0x13693e=_0xf8ecb6;return this[_0x13693e(0xad4)];}async[_0xf8ecb6(0x5cf)](_0x46faf7){const _0x3a87aa=_0xf8ecb6;this[_0x3a87aa(0x741)]();const _0x2131c3=Array['from'](this['runs'][_0x3a87aa(0x32f)]())[_0x3a87aa(0x415)](_0x5786e6=>_0x5786e6['busy']);if(_0x2131c3)return{'runId':'','status':_0x3a87aa(0x3dd),'completedSegments':[],'error':_0x3a87aa(0x80b)+_0x2131c3[_0x3a87aa(0x942)]+')\x20is\x20currently\x20executing.\x20The\x20chain\x20runner\x20serializes\x20chains\x20because\x20JIT-provisioned\x20auth\x20credentials\x20are\x20process-singleton\x20state.\x20Wait\x20for\x20the\x20in-flight\x20chain\x20to\x20complete\x20(poll\x20its\x20status\x20via\x20the\x20protocol\x27s\x20resume\x20mechanism),\x20then\x20retry.'};this['testDataManager']&&void this[_0x3a87aa(0xad4)][_0x3a87aa(0x95e)]()[_0x3a87aa(0x48b)](()=>void 0x0);const _0xea5242=_0x2685ab(_0x46faf7);if(_0xea5242)return{'runId':'','status':_0x3a87aa(0x3dd),'completedSegments':[],'error':_0xea5242};const _0x27860a=_0x5e1687(),_0xf3582c=Date['now'](),_0x4c5b09={'runId':_0x27860a,'chain':_0x46faf7,'nextFlowIndex':0x0,'completed':[],'mutations':[],'lastTouchedMs':_0xf3582c,'startedAt':_0xf3582c,'busy':!![],'accumulatedWriteKeys':new Set(),'accumulatedHasFullyDynamicWrite':![],'authWallRetries':new Map(),'videoRecorder':null,'videoPath':null,'videoStartError':null,..._0x46faf7['affectedFlowNames']&&_0x46faf7[_0x3a87aa(0xa67)][_0x3a87aa(0x3b7)]>0x0?{'affectedFlowNames':new Set(_0x46faf7[_0x3a87aa(0xa67)])}:{}};this[_0x3a87aa(0x631)]['set'](_0x27860a,_0x4c5b09);if(this[_0x3a87aa(0x2a4)])try{if(_0x3a87aa(0x88f)!=='SQWth')return{'success':![],'apps':[],'error':_0x3a87aa(0x625)};else{const _0x80aec1=this[_0x3a87aa(0x2a4)]({'runId':_0x27860a}),_0x4dddf0=await _0x80aec1[_0x3a87aa(0x5cf)]();_0x4dddf0['ok']?_0x4c5b09[_0x3a87aa(0x212)]=_0x80aec1:(_0x4c5b09['videoStartError']=_0x4dddf0[_0x3a87aa(0x3dd)],process['stderr'][_0x3a87aa(0xaac)]('[ceraph]\x20video\x20recorder\x20start\x20failed\x20for\x20runId='+_0x27860a+':\x20'+_0x4dddf0[_0x3a87aa(0x3dd)]+'\x0a'));}}catch(_0x2447f0){const _0x13bdb1=_0x2447f0 instanceof Error?_0x2447f0[_0x3a87aa(0x531)]:String(_0x2447f0);_0x4c5b09[_0x3a87aa(0x96d)]=_0x13bdb1,process['stderr'][_0x3a87aa(0xaac)]('[ceraph]\x20video\x20recorder\x20threw\x20for\x20runId='+_0x27860a+':\x20'+_0x13bdb1+'\x0a');}try{return _0x4c5b09[_0x3a87aa(0x33b)]=await this['runWithBootCaptureLock'](()=>this['captureInitialObservation'](_0x46faf7['bootRequestPatterns'])),await this[_0x3a87aa(0xa34)](_0x4c5b09);}catch(_0x1d312b){const _0x10e375=_0x1d312b instanceof Error?_0x1d312b[_0x3a87aa(0x531)]:String(_0x1d312b);return _0x4c5b09['errorMessage']='Chain\x20crashed\x20before\x20reaching\x20a\x20snap\x20point:\x20'+_0x10e375,await this[_0x3a87aa(0x70b)](_0x4c5b09);}finally{_0x4c5b09['busy']=![];}}async['runWithBootCaptureLock'](_0x25f685){const _0x4ebaeb=_0xf8ecb6,_0x355845=this[_0x4ebaeb(0x754)];let _0x19e45c;this['bootCaptureTail']=new Promise(_0x446635=>{_0x19e45c=_0x446635;});try{if('yraWx'==='yraWx')return await _0x355845[_0x4ebaeb(0x48b)](()=>void 0x0),await _0x25f685();else _0x522bd6+=_0xf41c19['toString']();}finally{_0x19e45c();}}async['continueRun'](_0xe9beb2,_0x5409c8){const _0x3decff=_0xf8ecb6;this[_0x3decff(0x741)]();const _0x3a4fb0=this[_0x3decff(0x631)][_0x3decff(0x3fd)](_0xe9beb2);if(!_0x3a4fb0)return{'runId':_0xe9beb2,'status':'error','completedSegments':[],'error':_0x3decff(0x9e0)};_0x3a4fb0[_0x3decff(0x7eb)]=Date[_0x3decff(0x2f8)]();if(_0x3a4fb0[_0x3decff(0x81b)])return{'runId':_0xe9beb2,'status':_0x3decff(0x3dd),'initialObservation':_0x3a4fb0['initialObservation'],'completedSegments':_0x3a4fb0['completed'],'error':_0x3a4fb0['errorMessage'],..._0x3a4fb0[_0x3decff(0x276)]?{'videoPath':_0x3a4fb0[_0x3decff(0x276)]}:{}};if(_0x3a4fb0[_0x3decff(0x567)])return{'runId':_0xe9beb2,'status':'error','initialObservation':_0x3a4fb0['initialObservation'],'completedSegments':_0x3a4fb0['completed'],'error':_0x3decff(0x621)};const _0x2116e8=_0x3a4fb0[_0x3decff(0x8a1)]!==void 0x0,_0x162f70=_0x5409c8==='retry'||_0x5409c8===_0x3decff(0x3c0);if(_0x2116e8!==_0x162f70){const _0x18f1a7=_0x2116e8?'awaiting_error_decision':'awaiting_decision',_0xb96237=_0x2116e8?'`retry`\x20or\x20`halt`':'`continue`\x20or\x20`recreate`';return{'runId':_0xe9beb2,'status':_0x3decff(0x3dd),'initialObservation':_0x3a4fb0[_0x3decff(0x33b)],'completedSegments':_0x3a4fb0[_0x3decff(0xb13)],'error':_0x3decff(0x5ba)+_0x5409c8+_0x3decff(0x9ac)+_0x18f1a7+_0x3decff(0x318)+_0xb96237+'.'};}_0x3a4fb0['busy']=!![];try{if(_0x3a4fb0[_0x3decff(0x8a1)]){const _0x152778=_0x3a4fb0['awaitingErrorDecision'];if(_0x5409c8===_0x3decff(0x3c0)){const _0x3b3867=_0x3a4fb0[_0x3decff(0xb13)][_0x3a4fb0['completed'][_0x3decff(0x3b7)]-0x1];return _0x3a4fb0['errorMessage']='Chain\x20halted\x20by\x20LLM\x20at\x20flow\x20\x22'+(_0x3b3867?.[_0x3decff(0x8f8)]??'?')+'\x22\x20('+(_0x3b3867?.['errorSummary']??_0x3decff(0x29e))+').',_0x3a4fb0['awaitingErrorDecision']=void 0x0,await this['stopVideoRecording'](_0x3a4fb0),await this[_0x3decff(0x3e9)](_0x3a4fb0,!![])[_0x3decff(0x48b)](()=>void 0x0),await this['buildErrorResponse'](_0x3a4fb0);}return _0x152778[_0x3decff(0x551)]+=0x1,_0x3a4fb0['completed']['pop'](),await this['advanceUntilPauseOrEnd'](_0x3a4fb0);}return _0x5409c8==='recreate'&&await this[_0x3decff(0x42f)](_0x3a4fb0),await this[_0x3decff(0xa34)](_0x3a4fb0);}catch(_0x277fa2){const _0x3139b2=_0x277fa2 instanceof Error?_0x277fa2[_0x3decff(0x531)]:String(_0x277fa2);return _0x3a4fb0['errorMessage']='Chain\x20crashed\x20while\x20advancing:\x20'+_0x3139b2,await this[_0x3decff(0x7e5)](_0x3a4fb0),await this[_0x3decff(0x70b)](_0x3a4fb0);}finally{if(_0x3decff(0x833)!=='PdeQz'){_0x19f094[_0x3decff(0x66c)]=0xcc,_0x3273b8[_0x3decff(0x5b3)]();return;}else _0x3a4fb0['busy']=![];}}async[_0xf8ecb6(0xa34)](_0x998b91){const _0x5d6743=_0xf8ecb6;while(_0x998b91['nextFlowIndex']<_0x998b91[_0x5d6743(0xa1c)]['flows'][_0x5d6743(0x3b7)]){const _0x560225=_0x998b91[_0x5d6743(0x83b)],_0x4e6e87=_0x998b91[_0x5d6743(0xa1c)][_0x5d6743(0x628)][_0x560225];if(_0x560225>0x0){const _0x3c8277=await this[_0x5d6743(0xa24)](_0x998b91['chain'][_0x5d6743(0x9f2)][_0x560225-0x1]??[]);if(!_0x3c8277['ok']){const _0x23d14e=this['buildFailureReport'](_0x4e6e87[_0x5d6743(0x9e5)],0x0,_0x5d6743(0x9d0),_0x5d6743(0x297),_0x998b91);return _0x998b91[_0x5d6743(0xb13)]['push'](_0x23d14e),_0x998b91[_0x5d6743(0x81b)]='Chain\x20aborted:\x20'+_0x23d14e[_0x5d6743(0x366)],await this['stopVideoRecording'](_0x998b91),await this[_0x5d6743(0x70b)](_0x998b91);}}const _0x162e41=_0x998b91['affectedFlowNames']&&_0x998b91[_0x5d6743(0xa67)][_0x5d6743(0x952)]>0x0?_0x998b91['affectedFlowNames']:void 0x0,_0x23b8c9=this['runsStore']||_0x162e41?{'runId':_0x998b91[_0x5d6743(0x942)],...this[_0x5d6743(0x3d0)]?{'store':this['runsStore']}:{},..._0x162e41?{'affectedFlowNames':_0x162e41}:{}}:void 0x0,_0xb92d43=_0x998b91[_0x5d6743(0xa7d)]['length'],_0x37b801=this['expandFlowPlaceholders'](_0x4e6e87),_0x5ac10c=await this[_0x5d6743(0x4ac)]['run'](_0x37b801,_0x23b8c9),_0x3d70a1=this[_0x5d6743(0x6ed)](_0x5ac10c,_0x998b91,_0x560225);_0x998b91['completed'][_0x5d6743(0x4d1)](_0x3d70a1),_0x998b91[_0x5d6743(0x7eb)]=Date['now'](),await this['updateRunIndex'](_0x998b91)[_0x5d6743(0x48b)](()=>void 0x0);_0x5ac10c[_0x5d6743(0x6d0)]&&_0x998b91['awaitingErrorDecision']?.[_0x5d6743(0xad5)]===_0x560225&&(_0x998b91['awaitingErrorDecision']=void 0x0);this['recordMutations'](_0x4e6e87,_0x998b91),this['accumulateWriteSet'](_0x998b91,_0x4e6e87);if(!_0x5ac10c[_0x5d6743(0x6d0)]){const _0x542643=_0x3d70a1[_0x5d6743(0x9bc)],_0x23a399=_0x4e6e87['flowId']??_0x4e6e87[_0x5d6743(0x9e5)],_0x5c397f=_0x998b91['authWallRetries']['get'](_0x23a399)??0x0;if(_0x542643===_0x5d6743(0x61b)&&this[_0x5d6743(0xad4)]&&_0x5c397f<0x1){_0x998b91[_0x5d6743(0x445)]['set'](_0x23a399,_0x5c397f+0x1),process['stderr']['write']('[ceraph]\x20auth_wall\x20at\x20flow\x20\x22'+_0x4e6e87[_0x5d6743(0x9e5)]+_0x5d6743(0x656)),await this['applyRecreate'](_0x998b91),_0x998b91['completed']['pop']();_0x998b91['mutations'][_0x5d6743(0x3b7)]>_0xb92d43&&(_0x998b91[_0x5d6743(0xa7d)]['length']=_0xb92d43);continue;}if(_0x542643===_0x5d6743(0x61b)&&this[_0x5d6743(0xad4)]&&_0x5c397f>=0x1)return _0x998b91[_0x5d6743(0x81b)]=_0x5d6743(0x851)+_0x4e6e87[_0x5d6743(0x9e5)]+'\x22\x20failed\x20at\x20auth\x20wall\x20after\x20JIT\x20recovery\x20attempt\x20—\x20verify\x20your\x20auth\x20provider\x20is\x20configured\x20correctly\x20in\x20ceraph.config.js',await this['stopVideoRecording'](_0x998b91),await this[_0x5d6743(0x3e9)](_0x998b91,!![])['catch'](()=>void 0x0),await this[_0x5d6743(0x70b)](_0x998b91);const _0x3f9b87=_0x998b91['awaitingErrorDecision'];if(_0x3f9b87&&_0x3f9b87['failedFlowIndex']===_0x560225&&_0x3f9b87[_0x5d6743(0x551)]>=0x1)return _0x998b91[_0x5d6743(0x81b)]='Chain\x20aborted\x20at\x20flow\x20\x22'+_0x4e6e87[_0x5d6743(0x9e5)]+'\x22\x20('+(_0x3d70a1[_0x5d6743(0x366)]??_0x5d6743(0x29e))+')\x20after\x20'+_0x3d70a1[_0x5d6743(0x270)]+'ms\x20—\x20second\x20failure\x20after\x20LLM-issued\x20retry.',_0x998b91['awaitingErrorDecision']=void 0x0,await this['stopVideoRecording'](_0x998b91),await this['updateRunIndex'](_0x998b91,!![])[_0x5d6743(0x48b)](()=>void 0x0),await this['buildErrorResponse'](_0x998b91);return _0x998b91['mutations']['length']>_0xb92d43&&(_0x998b91[_0x5d6743(0xa7d)][_0x5d6743(0x3b7)]=_0xb92d43),_0x998b91['awaitingErrorDecision']=_0x3f9b87??{'failedFlowIndex':_0x560225,'retriesUsed':0x0},await this['updateRunIndex'](_0x998b91)[_0x5d6743(0x48b)](()=>void 0x0),{'runId':_0x998b91['runId'],'status':_0x5d6743(0x37b),'initialObservation':_0x998b91[_0x5d6743(0x33b)],'completedSegments':_0x998b91['completed'],'errorEvent':{'flow':_0x4e6e87['name'],'failureCause':_0x542643,'errorSummary':_0x3d70a1[_0x5d6743(0x366)]??_0x5d6743(0x2b9)}};}_0x998b91['nextFlowIndex']+=0x1;if(_0x998b91[_0x5d6743(0xa1c)]['snapPointFlowIndices'][_0x5d6743(0x27e)](_0x560225)&&_0x998b91[_0x5d6743(0x83b)]<_0x998b91[_0x5d6743(0xa1c)][_0x5d6743(0x628)]['length']){const _0x5c04a5=_0x998b91[_0x5d6743(0xa1c)][_0x5d6743(0x628)][_0x998b91[_0x5d6743(0x83b)]],_0x383748=_0x998b91['chain']['perFlowStatedDependencies']?.[_0x998b91['nextFlowIndex']]??[],_0xced15c=_0x998b91['completed'][_0x5d6743(0x86b)](_0x527e49=>_0x527e49[_0x5d6743(0x8f8)]),_0x3dca80=_0x2cd458(_0x998b91[_0x5d6743(0x56a)],_0x998b91[_0x5d6743(0x3d9)],_0x5c04a5,_0x383748,_0xced15c);if(_0x3dca80===_0x5d6743(0x75b))continue;if(_0x3dca80==='recreate'){await this['applyRecreate'](_0x998b91);continue;}const _0x298df7=this[_0x5d6743(0x4be)](_0x998b91,_0x4e6e87,_0x560225);if(_0x298df7)return{'runId':_0x998b91[_0x5d6743(0x942)],'status':_0x5d6743(0x78a),'initialObservation':_0x998b91[_0x5d6743(0x33b)],'completedSegments':_0x998b91[_0x5d6743(0xb13)],'snapPoint':_0x298df7};}}await this['stopVideoRecording'](_0x998b91),await this[_0x5d6743(0x3e9)](_0x998b91,!![])['catch'](()=>void 0x0),this['runs']['delete'](_0x998b91['runId']);this['testDataManager']&&void this[_0x5d6743(0xad4)]['cleanupJit']()[_0x5d6743(0x48b)](()=>void 0x0);const _0xc8dbb2=_0x998b91[_0x5d6743(0xb13)]['reduce']((_0x2d0029,_0x461d7a)=>_0x2d0029+_0x461d7a['durationMs'],0x0);return{'runId':_0x998b91[_0x5d6743(0x942)],'status':'chain_complete','initialObservation':_0x998b91[_0x5d6743(0x33b)],'completedSegments':_0x998b91['completed'],'finalResult':{'success':_0x998b91[_0x5d6743(0xb13)]['every'](_0x504e47=>_0x504e47['success']),'totalDurationMs':_0xc8dbb2},..._0x998b91['videoPath']?{'videoPath':_0x998b91['videoPath']}:{}};}async['buildErrorResponse'](_0x2bfbe9){const _0x158e79=_0xf8ecb6;return _0x2bfbe9[_0x158e79(0x7eb)]=Date[_0x158e79(0x2f8)](),await this['stopVideoRecording'](_0x2bfbe9),{'runId':_0x2bfbe9[_0x158e79(0x942)],'status':'error','initialObservation':_0x2bfbe9[_0x158e79(0x33b)],'completedSegments':_0x2bfbe9[_0x158e79(0xb13)],'error':_0x2bfbe9[_0x158e79(0x81b)]??'Unknown\x20chain\x20error',..._0x2bfbe9[_0x158e79(0x276)]?{'videoPath':_0x2bfbe9[_0x158e79(0x276)]}:{}};}async['stopVideoRecording'](_0x5de426){const _0x334017=_0xf8ecb6,_0x471645=_0x5de426[_0x334017(0x212)];if(!_0x471645)return;_0x5de426[_0x334017(0x212)]=null;try{await _0x471645['stop']();if(!_0x5de426[_0x334017(0x276)]){const _0x2f324d=this[_0x334017(0x3d0)]?_0x238f64(this[_0x334017(0x3d0)][_0x334017(0xae2)],_0x5de426['runId']):null;if(_0x2f324d)_0x5de426['videoPath']=_0x238f64(_0x2f324d,_0x334017(0x74e));}}catch(_0x3095bb){process[_0x334017(0x910)]['write'](_0x334017(0x3e5)+(_0x3095bb instanceof Error?_0x3095bb['message']:String(_0x3095bb))+'\x0a');}}['buildSnapPoint'](_0x2938a8,_0x32cb5f,_0xfc0f3a){const _0x151803=_0xf8ecb6,_0x5e575b=_0x32cb5f['steps'][_0x151803(0x415)](_0x1b3a59=>_0x1b3a59[_0x151803(0x41b)]&&_0x3fa7c2(_0x1b3a59[_0x151803(0x41b)]));if(!_0x5e575b?.[_0x151803(0x41b)])return null;const _0x290180=_0x2938a8[_0x151803(0xb13)]['map'](_0x1abcde=>_0x1abcde['flow']),_0xf3faf5=_0x2938a8['chain']['flows'][_0x151803(0x795)](_0xfc0f3a+0x1)[_0x151803(0x86b)]((_0xa67de3,_0x3a5bb9)=>{const _0x492ba1=_0x151803,_0x35a141=_0xfc0f3a+0x1+_0x3a5bb9,_0x18c275=_0x2938a8[_0x492ba1(0xa1c)]['perFlowStatedDependencies']?.[_0x35a141]??[],_0x3f6e4a=_0x2938a8['chain'][_0x492ba1(0xa40)]?.[_0x35a141],_0x17a9ae=_0x2cd458(_0x2938a8[_0x492ba1(0x56a)],_0x2938a8[_0x492ba1(0x3d9)],_0xa67de3,_0x18c275,_0x290180);return{'flow':_0xa67de3['name'],'statedDependencies':_0x18c275,..._0x3f6e4a&&_0x3f6e4a['length']>0x0?{'mutexWith':_0x3f6e4a}:{},'staticDecision':_0x17a9ae};});return{'flow':_0x32cb5f['name'],'flowIndex':_0xfc0f3a,'mutation':{'method':_0x5e575b[_0x151803(0x41b)][_0x151803(0x9de)][_0x151803(0x57c)](),'endpoint':_0x5e575b[_0x151803(0x41b)][_0x151803(0x317)],..._0x5e575b[_0x151803(0x41b)]['affectedDisplayRoute']?{'affectedDisplayRoute':_0x5e575b['verifyMutation'][_0x151803(0x2e8)]}:{}},'remainingChain':_0xf3faf5,'nextFlowStatedDependencies':_0xf3faf5[0x0]?.[_0x151803(0x562)]??[]};}['buildFlowReport'](_0x39e7bc,_0x5e40b5,_0x3a6258){const _0x492433=_0xf8ecb6,_0x535125=_0x39e7bc[_0x492433(0xa02)]['reduce']((_0x3a53fe,_0x5a44cc)=>_0x3a53fe+(_0x5a44cc[_0x492433(0x801)]?0x1:0x0),0x0),_0x5c0c9f=_0x39e7bc[_0x492433(0x669)]??0x0,_0x4914f1=_0x4f694f(_0x39e7bc);if(_0x39e7bc[_0x492433(0x6d0)]){if('eiGkb'!==_0x492433(0x2b5))return{'flow':_0x39e7bc[_0x492433(0x8f8)],'success':!![],'durationMs':_0x39e7bc[_0x492433(0x7d3)],'screenshotCount':_0x535125,'screenshotsAvailable':_0x5c0c9f,..._0x4914f1};else{let _0x41337b;try{_0x41337b=_0x4ed9bb('which',[_0x353457],{'stdio':['ignore','pipe','pipe']});}catch{_0x5e5bec(![]);return;}let _0x55b34e='';_0x41337b['stdout']?.['on'](_0x492433(0x78f),_0x2ad227=>{const _0x568ac9=_0x492433;_0x55b34e+=_0x2ad227[_0x568ac9(0xafa)]();}),_0x41337b['on']('error',()=>_0xf29f1f(![])),_0x41337b['on'](_0x492433(0x68c),_0x1cce81=>_0x4ad98f(_0x1cce81===0x0&&_0x55b34e[_0x492433(0x668)]()['length']>0x0));}}const _0x5e1690=_0x5e40b5['chain'][_0x492433(0x4c0)]?.[_0x3a6258]??[],_0x7a53fd=_0x3b8190(_0x39e7bc,_0x5e1690),_0x4ddcf4=_0x6f43f7(_0x39e7bc);return{'flow':_0x39e7bc['flow'],'success':![],'durationMs':_0x39e7bc['totalDurationMs'],'errorSummary':_0x4ddcf4,'screenshotCount':_0x535125,'screenshotsAvailable':_0x5c0c9f,'failureCause':_0x7a53fd,..._0x7a53fd===_0x492433(0x7a3)?{'expectedState':{'statedDependencies':_0x5e1690},'actualState':{'screen':this['screenFromResult'](_0x39e7bc)}}:{},'precedingMutations':_0x5e40b5[_0x492433(0xa7d)][_0x492433(0x3b7)]>0x0?[..._0x5e40b5[_0x492433(0xa7d)]]:void 0x0,..._0x4914f1};}['buildFailureReport'](_0x3e4a62,_0x27a252,_0x5e16ce,_0x50b414,_0x4d9ec3){const _0x508f54=_0xf8ecb6;return{'flow':_0x3e4a62,'success':![],'durationMs':_0x27a252,'errorSummary':_0x5e16ce,'screenshotCount':0x0,'screenshotsAvailable':0x0,'failureCause':_0x50b414,'precedingMutations':_0x4d9ec3['mutations']['length']>0x0?[..._0x4d9ec3[_0x508f54(0xa7d)]]:void 0x0};}async['updateRunIndex'](_0x1b5151,_0x4d3cd5=![]){const _0x6456ad=_0xf8ecb6;if(!this[_0x6456ad(0x3d0)])return;const _0xd0ffa1=_0x1b5151[_0x6456ad(0xb13)][_0x6456ad(0x86b)](_0x13b9c1=>{const _0x236f84=_0x6456ad;if('mDFdr'===_0x236f84(0x5d5)){_0x53c70d=null;return;}else{const _0x4bfdf1=_0x13b9c1['success']?'success':_0x236f84(0x54f),_0x397b69=_0x1b5151['mutations'][_0x236f84(0x275)](_0x52070c=>_0x52070c['flow']===_0x13b9c1['flow']);return{'flowName':_0x13b9c1['flow'],'stepCount':_0x13b9c1['screenshotsAvailable'],'mutates':_0x397b69,'status':_0x4bfdf1};}}),_0x40bc5c={'runId':_0x1b5151['runId'],'startedAt':_0x1b5151['startedAt'],..._0x4d3cd5?{'finishedAt':Date[_0x6456ad(0x2f8)]()}:{},'flows':_0xd0ffa1,..._0x1b5151['videoPath']?{'videoPath':_0x1b5151['videoPath']}:{}};await this[_0x6456ad(0x3d0)]['saveRunIndex'](_0x1b5151['runId'],_0x40bc5c);}[_0xf8ecb6(0x1ed)](_0x571349){const _0xc04b28=_0xf8ecb6;for(let _0x4f9666=_0x571349[_0xc04b28(0xa02)][_0xc04b28(0x3b7)]-0x1;_0x4f9666>=0x0;_0x4f9666--){const _0x2be463=_0x571349['steps'][_0x4f9666];if(_0x2be463[_0xc04b28(0x5a0)]!=='assertVisible')continue;const _0x4eaf70=_0x2be463[_0xc04b28(0x65d)],_0x2b3fda=_0x4eaf70?.[_0xc04b28(0x820)]?.[_0xc04b28(0x9e5)];if(typeof _0x2b3fda===_0xc04b28(0x30d)&&_0x2b3fda['length']>0x0)return _0x2b3fda;}return null;}['accumulateWriteSet'](_0xf6a116,_0x19b7e1){const _0x2c7483=_0xf8ecb6;if(!_0x19b7e1['writeSet']||_0x19b7e1['writeSet'][_0x2c7483(0x428)]===_0x2c7483(0x8e6))return;_0x19b7e1['writeSet']['hasFullyDynamicWrite']&&(_0xf6a116['accumulatedHasFullyDynamicWrite']=!![]);for(const _0x5bdc9e of _0x19b7e1[_0x2c7483(0x94b)]['keys']){_0x5bdc9e['wildcard']?_0xf6a116['accumulatedWriteKeys']['add'](_0x5bdc9e[_0x2c7483(0xb14)]+':'+_0x5bdc9e['key']+':*'):_0xf6a116['accumulatedWriteKeys'][_0x2c7483(0x856)](_0x5bdc9e['kind']+':'+_0x5bdc9e['key']);}}['expandFlowPlaceholders'](_0x28c675){const _0x566c2b=_0xf8ecb6,_0x29fac5=_0x1e792d(this[_0x566c2b(0xad4)]),{value:_0x245c74}=_0x11fccc({'steps':_0x28c675[_0x566c2b(0xa02)],'beforeAll':_0x28c675[_0x566c2b(0x4df)]},process.env,_0x29fac5);return{..._0x28c675,'steps':_0x245c74['steps'],'beforeAll':_0x245c74[_0x566c2b(0x4df)]};}['recordMutations'](_0x55dac3,_0x44adf0){const _0x329c9f=_0xf8ecb6;for(const _0x498847 of _0x55dac3[_0x329c9f(0xa02)]){if(!_0x498847[_0x329c9f(0x41b)])continue;if(!_0x3fa7c2(_0x498847['verifyMutation']))continue;_0x44adf0[_0x329c9f(0xa7d)]['push']({'method':_0x498847[_0x329c9f(0x41b)]['sourceMethod'][_0x329c9f(0x57c)](),'endpoint':_0x498847['verifyMutation'][_0x329c9f(0x317)],'flow':_0x55dac3[_0x329c9f(0x9e5)]});}}async[_0xf8ecb6(0xa24)](_0x15cdec){const _0x382c52=_0xf8ecb6;for(const _0x2384ae of _0x15cdec){const _0x66e773=_0x2384ae[_0x382c52(0x20b)]??_0x2384ae[_0x382c52(0x751)],_0x3dd00b=await this['flowRunner'][_0x382c52(0x810)]({'action':'tap','text':_0x66e773});if(!_0x3dd00b['success'])return{'ok':![],'failedHopTarget':_0x66e773};}return{'ok':!![]};}async['waitForAppTerminated'](_0x3c8941,_0x1ccd45){const _0x3cf236=_0xf8ecb6,_0x42b972=Date['now']();while(Date['now']()-_0x42b972<_0x1ccd45){const _0x495930=await this[_0x3cf236(0x508)][_0x3cf236(0xa2a)]()['catch'](()=>null);if(_0x495930&&_0x495930['success']&&_0x495930[_0x3cf236(0x369)]!==_0x3c8941)return;await new Promise(_0x2eee7a=>setTimeout(_0x2eee7a,_0x331fce));}}async['waitForAppForeground'](_0xd1d01f,_0x2489d2){const _0x1fe026=_0xf8ecb6,_0x207722=Date['now']();while(Date[_0x1fe026(0x2f8)]()-_0x207722<_0x2489d2){const _0x4dc223=await this['apps']['getActiveApp']()[_0x1fe026(0x48b)](()=>null);if(_0x4dc223&&_0x4dc223['success']&&_0x4dc223[_0x1fe026(0x369)]===_0xd1d01f)return;await new Promise(_0x52e1d3=>setTimeout(_0x52e1d3,_0x331fce));}}async['applyRecreate'](_0x4209cb){const _0x4737b5=_0xf8ecb6,_0x2c0472=_0x4209cb['completed'][_0x4209cb[_0x4737b5(0xb13)][_0x4737b5(0x3b7)]-0x1]?.['failureCause'],_0x457b55=_0x4209cb[_0x4737b5(0xa1c)][_0x4737b5(0x628)][_0x4209cb[_0x4737b5(0x83b)]],_0x3435d8=_0x457b55?.[_0x4737b5(0x4df)]?.['ensureLaunched']??_0x4209cb['chain'][_0x4737b5(0x628)][_0x4209cb[_0x4737b5(0x83b)]>0x0?_0x4209cb['nextFlowIndex']-0x1:0x0]?.['beforeAll']?.['ensureLaunched']??_0x4209cb[_0x4737b5(0xa1c)]['flows'][0x0]?.[_0x4737b5(0x4df)]?.['ensureLaunched'];if(this['testDataManager']&&this['testDataManager']['hasAdapter']()&&_0x2c0472===_0x4737b5(0x61b))try{await this[_0x4737b5(0xad4)]['provisionJit']();}catch(_0x1c3a30){console['error'](_0x4737b5(0x7cc)+(_0x1c3a30?.['message']??String(_0x1c3a30)));}const _0x1eb4d7=_0xa85944(_0x457b55?.[_0x4737b5(0x4c4)]),_0x4debcc=Boolean(_0x1eb4d7[_0x4737b5(0x3b7)]>0x0&&_0x3435d8);let _0x137209=![];_0x4debcc&&(_0x137209=await this[_0x4737b5(0x6b7)](_0x1eb4d7,_0x3435d8)['catch'](()=>![])===!![]),_0x3435d8&&(await this['apps']['terminateApp'](_0x3435d8)['catch'](()=>void 0x0),await this[_0x4737b5(0xaab)](_0x3435d8,_0x50a380),await this[_0x4737b5(0x508)][_0x4737b5(0xadd)](_0x3435d8)[_0x4737b5(0x48b)](()=>void 0x0)),!_0x4debcc&&await this['screen'][_0x4737b5(0x423)](_0x4737b5(0x933))[_0x4737b5(0x48b)](()=>void 0x0),_0x4debcc&&_0x137209&&_0x3435d8?await this[_0x4737b5(0x9b1)](_0x3435d8,this[_0x4737b5(0x260)]):await new Promise(_0x268194=>setTimeout(_0x268194,this[_0x4737b5(0x260)]));}async['deleteAsyncStorageKeys'](_0x3d0b16,_0x976bb5){const _0x13baaf=_0xf8ecb6;if(!_0x3d0b16[_0x13baaf(0x3b7)])return![];const _0x2eb1da=_0xa85944(_0x3d0b16);if(!_0x2eb1da['length'])return![];const _0x26f662=_0x2362a7(),_0x17cd32=encodeURIComponent(_0x2eb1da[_0x13baaf(0x4ec)](',')),_0x969215=_0x13baaf(0x77c)+_0x17cd32+_0x13baaf(0x236)+encodeURIComponent(_0x26f662),_0x5dffb1=this[_0x13baaf(0x214)]?.['waitForStorageAck']?.[_0x13baaf(0x2d8)](this[_0x13baaf(0x214)]);try{if(!_0x5dffb1)return process['stderr']['write']('[ceraph][ceraph-infra]\x20deleteAsyncStorageKeys:\x20no\x20waitForStorageAck\x20on\x20boot\x20source;\x20dispatched\x20delete\x20without\x20ACK\x20confirmation\x0a'),await this[_0x13baaf(0x5be)][_0x13baaf(0x423)](_0x969215),![];const _0x19371d=_0x5dffb1(0x7d0,_0x26f662)['catch'](()=>null);await this['screen'][_0x13baaf(0x423)](_0x969215);const _0x4f24e1=await _0x19371d;if(!_0x4f24e1?.['success'])return process['stderr'][_0x13baaf(0xaac)](_0x13baaf(0x3b3)+_0x2eb1da['join'](',')+'\x0a'),![];return!![];}catch(_0x5a9b06){return process[_0x13baaf(0x910)][_0x13baaf(0xaac)](_0x13baaf(0x480)+(_0x5a9b06 instanceof Error?_0x5a9b06[_0x13baaf(0x531)]:String(_0x5a9b06))+'\x0a'),![];}}async[_0xf8ecb6(0x61a)](_0xf6662){const _0x176a8d=_0xf8ecb6;let _0xa9c9a8='unknown',_0x28d843=null,_0xf98022=[],_0x204ec=[],_0xb76741=![],_0x8ce33b;if(this['bootSource'])try{this['bootSource']['setBootCaptureMode'](!![]);}catch{}try{const _0x1410f7=await this[_0x176a8d(0x5be)]['getSource']()[_0x176a8d(0x48b)](()=>null),_0x589cf2=await this[_0x176a8d(0x508)]['getActiveApp']()[_0x176a8d(0x48b)](()=>null);_0x28d843=_0x589cf2&&_0x589cf2['success']?_0x589cf2[_0x176a8d(0x369)]??null:null;_0x1410f7?.[_0x176a8d(0x6d0)]&&_0x1410f7['source']&&(_0xa9c9a8=_0x28abd4(_0x1410f7['source']));this[_0x176a8d(0x214)]&&await this['waitForBootSettle']();const _0x6dc17c=await this['screen']['getSource']()[_0x176a8d(0x48b)](()=>null);if(_0x6dc17c?.['success']&&_0x6dc17c[_0x176a8d(0x40e)]){if(_0x176a8d(0xb15)===_0x176a8d(0xb15))_0xf98022=_0x89ff4d(_0x6dc17c['source']);else{let _0x4b890d=0x0,_0x913187=0x0;for(const _0x55986c of _0x133312[_0x176a8d(0x8c5)]){const _0x23ff83=_0x55986c['bounds']['x']+_0x55986c[_0x176a8d(0x268)]['w'],_0x1a5cd6=_0x55986c[_0x176a8d(0x268)]['y']+_0x55986c['bounds']['h'];if(_0x23ff83>_0x4b890d)_0x4b890d=_0x23ff83;if(_0x1a5cd6>_0x913187)_0x913187=_0x1a5cd6;}(_0x4b890d<=0x0||_0x913187<=0x0)&&(_0x4b890d=0x1f4,_0x913187=0x3e8);const _0x32667f=_0x12c58f;return{'x':0x0,'y':_0x32667f,'w':_0x4b890d,'h':_0x3236a2['max'](0x0,_0x913187-_0x32667f),..._0x1a1456['screenName']?{'screenName':_0x16b467['screenName']}:{}};}}else _0x1410f7?.['success']&&_0x1410f7['source']&&(_0xf98022=_0x89ff4d(_0x1410f7['source']));if(this[_0x176a8d(0x214)]){const _0x2e68b0=this['accumulatedBootDrains']??[];this[_0x176a8d(0x71c)]=null;const _0xb89168=[..._0x2e68b0,...this['bootSource']['drainBootRequests']()],_0x4b1eb6=_0x3c0d7e(_0xb89168,_0xf6662??[],_0x44fc26);_0x204ec=_0x4b1eb6[_0x176a8d(0x42a)],_0xb76741=_0x4b1eb6['truncated'];if(typeof this['bootSource']['drainAsyncStorageReads']==='function')try{_0x8ce33b=this[_0x176a8d(0x214)]['drainAsyncStorageReads']();}catch{_0x8ce33b=void 0x0;}}}catch{}finally{if(this[_0x176a8d(0x214)])try{this['bootSource']['setBootCaptureMode'](![]),this[_0x176a8d(0x214)]['clearBootRequests']();}catch{}}return{'sessionMode':_0xa9c9a8,'screen':_0x28d843,'accessibilityTree':_0xf98022,'bootRequests':_0x204ec,..._0xb76741?{'bootRequestsFiltered':!![]}:{},..._0x8ce33b!==void 0x0?{'asyncStorageReads':_0x8ce33b}:{}};}async['waitForBootSettle'](){const _0x13ba9a=_0xf8ecb6;if(!this['bootSource'])return;let _0x3eb5fd=0x0;const _0x4862e1=()=>{const _0x19fea8=_0xc050;if(typeof this['bootSource'][_0x19fea8(0xaef)]==='function')return this[_0x19fea8(0x214)][_0x19fea8(0xaef)]();const _0x13b216=this['bootSource'][_0x19fea8(0x9dd)]();if(_0x13b216['length']>0x0){if(!this['accumulatedBootDrains'])this[_0x19fea8(0x71c)]=[];this['accumulatedBootDrains'][_0x19fea8(0x4d1)](..._0x13b216),_0x3eb5fd+=_0x13b216[_0x19fea8(0x3b7)];}return _0x3eb5fd;},_0x5c770c=Date['now']();let _0x53bfc4=_0x4862e1(),_0x2e2d47=Date[_0x13ba9a(0x2f8)]();const _0x31feab=0x64;while(!![]){const _0x422012=Date['now']();if(_0x422012-_0x5c770c>=this[_0x13ba9a(0x218)])return;if(_0x422012-_0x2e2d47>=this['bootDebounceMs'])return;await new Promise(_0x3a4ab8=>setTimeout(_0x3a4ab8,_0x31feab));const _0x2ba91f=_0x4862e1();_0x2ba91f!==_0x53bfc4&&(_0x53bfc4=_0x2ba91f,_0x2e2d47=Date['now']());}}['evictExpired'](){const _0x545424=_0xf8ecb6,_0x4545f6=Date['now']();for(const [_0xcc6221,_0x76e284]of this['runs']['entries']()){if(_0x76e284[_0x545424(0x567)])continue;if(_0x4545f6-_0x76e284['lastTouchedMs']>this[_0x545424(0x988)]){const _0x5bcf8a=_0x76e284[_0x545424(0x212)];_0x5bcf8a&&(_0x76e284['videoRecorder']=null,void _0x5bcf8a['stop']()['catch'](_0x2e5dbb=>{const _0x340d3c=_0x545424;process['stderr']['write'](_0x340d3c(0x94e)+(_0x2e5dbb instanceof Error?_0x2e5dbb[_0x340d3c(0x531)]:String(_0x2e5dbb))+'\x0a');})),this[_0x545424(0x631)]['delete'](_0xcc6221);}}}[_0xf8ecb6(0x952)](){const _0x2a9d44=_0xf8ecb6;return this['evictExpired'](),this['runs'][_0x2a9d44(0x952)];}async[_0xf8ecb6(0x247)](){const _0x3dc6c1=_0xf8ecb6,_0x4f3e07=[];for(const _0x56691c of this['runs'][_0x3dc6c1(0x32f)]()){const _0x5c15f7=_0x56691c[_0x3dc6c1(0x212)];_0x5c15f7&&(_0x56691c['videoRecorder']=null,_0x4f3e07[_0x3dc6c1(0x4d1)](_0x5c15f7[_0x3dc6c1(0x8bc)]()['catch'](_0x1ef9c2=>{const _0x5aaeeb=_0x3dc6c1;process[_0x5aaeeb(0x910)]['write']('[ceraph]\x20video\x20recorder\x20shutdown\x20stop\x20failed:\x20'+(_0x1ef9c2 instanceof Error?_0x1ef9c2['message']:String(_0x1ef9c2))+'\x0a');})));}await Promise[_0x3dc6c1(0x2d4)](_0x4f3e07);}[_0xf8ecb6(0x689)](_0x350a53){const _0x142dce=_0xf8ecb6;return this[_0x142dce(0x631)]['get'](_0x350a53)?.[_0x142dce(0x96d)]??void 0x0;}};function _0x89ff4d(_0x55e136){const _0x1d95ce=[];let _0x2c44b2=0x2;const _0x10dde6=_0x17ddcf=>{const _0x4c055c=_0xc050;if(!_0x17ddcf||typeof _0x17ddcf!=='object')return;const _0x55c9c7=_0x17ddcf,_0x27566e=_0x4f9b1c(_0x55c9c7[_0x4c055c(0x45e)]);if(_0x27566e){const _0x5f04d4=_0x4214be(_0x55c9c7);if(_0x5f04d4){const _0x291fc6={'kind':_0x27566e,'text':_0x5f04d4},_0x266fba=_0x1d95ce[_0x1d95ce['length']-0x1],_0x5a8b68=_0x266fba&&_0x266fba[_0x4c055c(0xb14)]===_0x291fc6['kind']&&_0x266fba['text']===_0x291fc6[_0x4c055c(0x3e0)],_0x1dfc6a=JSON[_0x4c055c(0x312)](_0x291fc6)['length']+0x1;!_0x5a8b68&&_0x2c44b2+_0x1dfc6a<=_0x354bc0&&(_0x1d95ce[_0x4c055c(0x4d1)](_0x291fc6),_0x2c44b2+=_0x1dfc6a);}}if(Array[_0x4c055c(0x200)](_0x55c9c7[_0x4c055c(0x4e3)])){for(const _0x404259 of _0x55c9c7['children'])_0x10dde6(_0x404259);}};return _0x10dde6(_0x55e136),_0x1d95ce;}function _0x4f9b1c(_0x282b35){const _0x4124e4=_0xf8ecb6;if(!_0x282b35)return null;const _0x5eba9e=_0x282b35[_0x4124e4(0x42e)](/^XCUIElementType/,'');if(_0x5eba9e==='Button')return _0x4124e4(0x86e);if(_0x5eba9e===_0x4124e4(0x839)||_0x5eba9e==='SecureTextField'||_0x5eba9e==='SearchField')return'input';if(_0x5eba9e===_0x4124e4(0x8a5))return _0x4124e4(0x569);if(_0x5eba9e===_0x4124e4(0xa8e))return _0x4124e4(0x3e0);return null;}function _0x4214be(_0x2b0074){const _0x595231=_0xf8ecb6,_0x36d808=[_0x2b0074[_0x595231(0x9e5)],_0x2b0074['label'],_0x2b0074[_0x595231(0x39d)],_0x2b0074[_0x595231(0x7c1)]];for(const _0x2f4a14 of _0x36d808){if(typeof _0x2f4a14==='string'&&_0x2f4a14['trim']()[_0x595231(0x3b7)]>0x0)return _0x2f4a14['trim']();}return'';}function _0x28abd4(_0x4a7e5d){const _0x4c95be=_0xf8ecb6;if(!_0x4a7e5d||typeof _0x4a7e5d!==_0x4c95be(0x9e3))return'unknown';let _0xc348db=![],_0x298928=![];const _0x37d40c=_0x23c21e=>{const _0x1eb5c2=_0x4c95be;if(_0xc348db&&_0x298928)return;if(!_0x23c21e||typeof _0x23c21e!=='object')return;const _0x39430b=_0x23c21e,_0x52d1f0=_0x4214be(_0x39430b)['toLowerCase']();if(_0x52d1f0){if(_0x1a2549[_0x1eb5c2(0x8aa)](_0x52d1f0))_0xc348db=!![];}if(_0x39430b[_0x1eb5c2(0x45e)]===_0x1eb5c2(0xa98)||_0x39430b[_0x1eb5c2(0x45e)]===_0x1eb5c2(0x47d)){const _0x1dbfac=((_0x39430b['name']??'')+'\x20'+(_0x39430b[_0x1eb5c2(0x960)]??'')+'\x20'+(_0x39430b['placeholder']??''))[_0x1eb5c2(0x5b5)]();(_0x39430b['type']===_0x1eb5c2(0x47d)||_0x4834be['test'](_0x1dbfac))&&(_0x298928=!![]);}if(Array[_0x1eb5c2(0x200)](_0x39430b[_0x1eb5c2(0x4e3)])){for(const _0x2a7f4c of _0x39430b['children'])_0x37d40c(_0x2a7f4c);}};_0x37d40c(_0x4a7e5d);if(_0xc348db||_0x298928)return'fresh';return _0x4c95be(0xb28);}var _0x1a2549=/\b(sign in|sign up|log in|login|signup|welcome back|create account)\b/i,_0x4834be=/\b(email|password|e-mail)\b/i;function _0x3b8190(_0x5d6c3f,_0x159fc){const _0x3b5376=_0xf8ecb6,_0x2bbb5e=_0x5d6c3f['objectiveSignals']??[];if(_0x2bbb5e[_0x3b5376(0x275)](_0x17fd12))return'timeout';if(_0x2bbb5e['some'](_0x2dee17))return _0x3b5376(0x61b);if(_0x2bbb5e['length']>0x0&&_0x159fc&&_0x159fc[_0x3b5376(0x3b7)]>0x0){if(_0x294183(_0x5d6c3f,_0x159fc))return'unexpected_state';}if(_0x2bbb5e['length']>0x0)return _0x3b5376(0xb07);return _0x3b5376(0x297);}function _0x17fd12(_0x284f13){const _0x5aa251=_0xf8ecb6,_0x4bb8ef=_0x284f13[_0x5aa251(0x531)]['toLowerCase']();if(!_0x4bb8ef['includes']('timeout')&&!_0x4bb8ef['includes'](_0x5aa251(0x24b)))return![];return _0x284f13[_0x5aa251(0xb14)]===_0x5aa251(0x5d3)||_0x284f13['kind']===_0x5aa251(0x727);}function _0x2dee17(_0x5655f4){const _0x3c3b77=_0xf8ecb6;if(_0x5655f4['kind']!==_0x3c3b77(0x57e)&&_0x5655f4['kind']!==_0x3c3b77(0x727))return![];const _0x35e7b3=_0x5655f4[_0x3c3b77(0x363)]??'';return/\bstatus=(401|403)\b/[_0x3c3b77(0x8aa)](_0x35e7b3);}function _0x294183(_0x2aedd7,_0x16c014){const _0x28402b=_0xf8ecb6,_0x222efe=new Set();for(const _0xe38065 of _0x16c014){for(const _0x177f4a of _0xe38065['split'](/[^A-Za-z0-9]+/)){if(_0x177f4a['length']<0x3)continue;_0x222efe[_0x28402b(0x856)](_0x177f4a['toLowerCase']());}}if(_0x222efe[_0x28402b(0x952)]===0x0)return![];for(const _0x14f582 of _0x2aedd7['steps']){if(_0x14f582[_0x28402b(0x6d0)])continue;const _0x39f9ab=_0x2198d9(_0x14f582)[_0x28402b(0x5b5)]();if(!_0x39f9ab)continue;const _0x3235f4=new Set();for(const _0x3d9c73 of _0x39f9ab[_0x28402b(0x51a)](/[^a-z0-9]+/)){if(_0x3d9c73['length']<0x3)continue;_0x3235f4['add'](_0x3d9c73);}for(const _0x189467 of _0x222efe){if(_0x3235f4[_0x28402b(0x979)](_0x189467))return!![];}}return![];}function _0x2198d9(_0x32014c){const _0x21b061=_0xf8ecb6;if(_0x32014c[_0x21b061(0xb00)]){if(typeof _0x32014c[_0x21b061(0xb00)]['text']===_0x21b061(0x30d)&&_0x32014c[_0x21b061(0xb00)][_0x21b061(0x3e0)][_0x21b061(0x3b7)]>0x0)return _0x32014c[_0x21b061(0xb00)][_0x21b061(0x3e0)];if(typeof _0x32014c[_0x21b061(0xb00)]['accessibilityLabel']==='string'&&_0x32014c['target']['accessibilityLabel']['length']>0x0)return _0x32014c['target']['accessibilityLabel'];}const _0x12c85b=_0x32014c['details'];return _0x12c85b?.[_0x21b061(0x820)]?.[_0x21b061(0x9e5)]??_0x12c85b?.['element']?.['label']??'';}function _0x2685ab(_0x18d445){const _0x195ceb=_0xf8ecb6;if(!_0x18d445||typeof _0x18d445!==_0x195ceb(0x9e3))return _0x195ceb(0x2e7);if(!Array['isArray'](_0x18d445['flows']))return _0x195ceb(0x300);if(_0x18d445['flows']['length']===0x0)return _0x195ceb(0x216);if(!Array[_0x195ceb(0x200)](_0x18d445[_0x195ceb(0x9f2)]))return _0x195ceb(0x4ea);if(_0x18d445['bridges'][_0x195ceb(0x3b7)]>Math['max'](0x0,_0x18d445[_0x195ceb(0x628)][_0x195ceb(0x3b7)]-0x1))return'PlannedChainInput.bridges\x20length\x20('+_0x18d445[_0x195ceb(0x9f2)]['length']+_0x195ceb(0x301)+(_0x18d445['flows']['length']-0x1)+').';if(!Array['isArray'](_0x18d445['snapPointFlowIndices']))return'PlannedChainInput.snapPointFlowIndices\x20must\x20be\x20an\x20array.';for(const _0x301d21 of _0x18d445['snapPointFlowIndices']){if(typeof _0x301d21!==_0x195ceb(0x2af)||!Number['isInteger'](_0x301d21)||_0x301d21<0x0)return _0x195ceb(0x9a1)+String(_0x301d21)+'.';if(_0x301d21>=_0x18d445['flows'][_0x195ceb(0x3b7)]-0x1)return _0x195ceb(0x464)+_0x301d21+'\x20has\x20no\x20successor\x20flow\x20(flows.length='+_0x18d445[_0x195ceb(0x628)]['length']+').';}if(_0x18d445['affectedFlowNames']!==void 0x0){if(!Array['isArray'](_0x18d445['affectedFlowNames']))return _0x195ceb(0x25b);const _0x55069a=new Set(_0x18d445[_0x195ceb(0x628)]['map'](_0x410323=>_0x410323['name'])),_0x471101=_0x18d445['affectedFlowNames'][_0x195ceb(0x529)](_0x329ee4=>typeof _0x329ee4!=='string'||!_0x55069a[_0x195ceb(0x979)](_0x329ee4));if(_0x471101[_0x195ceb(0x3b7)]>0x0){const _0x27cc77=_0x471101[_0x195ceb(0x86b)](_0x3a1c7a=>String(_0x3a1c7a))[_0x195ceb(0x4ec)](',\x20');process['stderr'][_0x195ceb(0xaac)](_0x195ceb(0x24d)+_0x471101['length']+'\x20unknown\x20affectedFlowName(s)\x20from\x20PlannedChainInput:\x20'+_0x27cc77+_0x195ceb(0x766)),_0x18d445['affectedFlowNames']=_0x18d445['affectedFlowNames'][_0x195ceb(0x529)](_0x3263ed=>typeof _0x3263ed==='string'&&_0x55069a['has'](_0x3263ed));}}return null;}function _0x23f53f(_0x3f7d38){const _0x128a11=_0xf8ecb6,_0x33e0f9=_0x3f7d38[_0x128a11(0x57c)]();return _0x33e0f9==='POST'||_0x33e0f9==='PUT'||_0x33e0f9===_0x128a11(0x58b)||_0x33e0f9===_0x128a11(0x554);}function _0x3fa7c2(_0x49be6b){const _0x3c0931=_0xf8ecb6;if(_0x49be6b[_0x3c0931(0x98f)]===_0x3c0931(0x30e))return!![];return _0x23f53f(_0x49be6b[_0x3c0931(0x9de)]);}function _0x4e5d78(_0x37e9da,_0x12797a){const _0x29e8aa=_0xf8ecb6;for(const _0x2da570 of _0x12797a){if(_0x2da570[_0x29e8aa(0x3b7)]===0x0)continue;const _0x4ec492=_0x30cc8c(_0x2da570[_0x29e8aa(0x450)](0x0)),_0x3ed876=_0x30cc8c(_0x2da570[_0x29e8aa(0x450)](_0x2da570[_0x29e8aa(0x3b7)]-0x1));let _0x2d1b98=0x0;while(_0x2d1b98<=_0x37e9da[_0x29e8aa(0x3b7)]){const _0x11f45e=_0x37e9da['indexOf'](_0x2da570,_0x2d1b98);if(_0x11f45e<0x0)break;const _0x2c01f9=_0x11f45e+_0x2da570[_0x29e8aa(0x3b7)],_0xcd3887=_0x11f45e===0x0||_0x4ec492||_0x30cc8c(_0x37e9da[_0x29e8aa(0x450)](_0x11f45e-0x1)),_0x4dd3f8=_0x2c01f9===_0x37e9da['length']||_0x3ed876||_0x30cc8c(_0x37e9da['charCodeAt'](_0x2c01f9));if(_0xcd3887&&_0x4dd3f8)return!![];_0x2d1b98=_0x11f45e+0x1;}}return![];}function _0x30cc8c(_0x4e14fc){return _0x4e14fc===0x2f||_0x4e14fc===0x3f||_0x4e14fc===0x23||_0x4e14fc===0x2e;}function _0x598ac1(_0xbe2404){const _0x5f4ea4=_0xf8ecb6;let _0x570239=_0xbe2404;const _0x146aa2=_0x570239['indexOf']('?');if(_0x146aa2>=0x0)_0x570239=_0x570239['slice'](0x0,_0x146aa2);const _0x57104f=_0x570239[_0x5f4ea4(0x4ca)]('#');if(_0x57104f>=0x0)_0x570239=_0x570239['slice'](0x0,_0x57104f);return _0x570239;}function _0x3c0d7e(_0x56f19d,_0x4e95cb,_0x14ca18){const _0x5e3cce=_0xf8ecb6;if(_0x56f19d[_0x5e3cce(0x3b7)]===0x0)return{'entries':[],'truncated':![]};const _0x4d79f3=Array[_0x5e3cce(0x200)](_0x4e95cb)?_0x4e95cb:[],_0x12758b=_0x4d79f3[_0x5e3cce(0x86b)](_0x419180=>typeof _0x419180==='string'?_0x419180[_0x5e3cce(0x5b5)]():'')['filter'](_0x585159=>_0x585159[_0x5e3cce(0x668)]()[_0x5e3cce(0x3b7)]>0x0),_0x1fa813=_0x12758b[_0x5e3cce(0x3b7)]===0x0,_0xd607e=_0x56f19d['map'](_0x658c39=>{const _0x35db45=_0x5e3cce;if(_0x35db45(0x894)===_0x35db45(0x894)){const _0xc479c5=typeof _0x658c39[_0x35db45(0x2c7)]==='string'?_0x658c39['path']:'',_0x1352c7=_0x598ac1(_0xc479c5['toLowerCase']()),_0x4d6f03=_0x1fa813||_0x4e5d78(_0x1352c7,_0x12758b);if(!_0x4d6f03){const {response:_0x3ce892,..._0x10c30c}=_0x658c39;return void _0x3ce892,{'entry':_0x10c30c,'matched':![],'bodyBytes':0x0};}const _0x1009b5=_0x658c39['response']?Buffer['byteLength'](_0x658c39[_0x35db45(0x90e)],'utf8'):0x0;return{'entry':_0x658c39,'matched':!![],'bodyBytes':_0x1009b5};}else{_0x2313dc['statusCode']=0x190,_0x3b9d60['end'](_0x35db45(0x748));return;}});let _0x3ef096=_0xd607e[_0x5e3cce(0xad3)]((_0x3afd48,_0x1a9069)=>_0x3afd48+(_0x1a9069['matched']?_0x1a9069['bodyBytes']:0x0),0x0),_0x54e8be=![];if(_0x3ef096>_0x14ca18)for(let _0x41d998=0x0;_0x41d998<_0xd607e['length']&&_0x3ef096>_0x14ca18;_0x41d998++){const _0x589f5f=_0xd607e[_0x41d998];if(!_0x589f5f[_0x5e3cce(0x804)]||_0x589f5f['bodyBytes']===0x0)continue;const {response:_0x54a5cb,..._0x27a0bf}=_0x589f5f[_0x5e3cce(0x3c9)];void _0x54a5cb,_0x589f5f[_0x5e3cce(0x3c9)]=_0x27a0bf,_0x3ef096-=_0x589f5f['bodyBytes'],_0x589f5f['bodyBytes']=0x0,_0x54e8be=!![];}return{'entries':_0xd607e['map'](_0x14fbde=>_0x14fbde['entry']),'truncated':_0x54e8be};}function _0x4f694f(_0x12a94b){const _0x1e3d08=_0xf8ecb6;return{..._0x12a94b['witnesses']&&_0x12a94b[_0x1e3d08(0x394)][_0x1e3d08(0x3b7)]>0x0?{'witnesses':_0x12a94b[_0x1e3d08(0x394)]}:{},..._0x12a94b['objectiveSignals']&&_0x12a94b['objectiveSignals']['length']>0x0?{'objectiveSignals':_0x12a94b['objectiveSignals']}:{},..._0x12a94b[_0x1e3d08(0x86d)]&&_0x12a94b[_0x1e3d08(0x86d)]['length']>0x0?{'reloadRecoveryWitnesses':_0x12a94b[_0x1e3d08(0x86d)]}:{}};}function _0x6f43f7(_0x3da99e){const _0x168928=_0xf8ecb6;if((_0x3da99e[_0x168928(0x364)]?.['length']??0x0)>0x0){const _0x62405c=_0x3da99e[_0x168928(0x364)][0x0];return _0x62405c['kind']+':\x20'+_0x62405c[_0x168928(0x531)];}for(const _0x373f4d of _0x3da99e['steps']){if(!_0x373f4d[_0x168928(0x6d0)]){const _0x19b794=_0x373f4d[_0x168928(0x5a0)],_0x19631d=_0x373f4d['error']??_0x168928(0x6f5);return _0x19b794+_0x168928(0x252)+_0x19631d;}}return _0x168928(0x40b);}import{z}from'zod';var _0x90f27e=z['object']({'text':z['string']()['optional'](),'accessibilityLabel':z['string']()['optional'](),'type':z[_0xf8ecb6(0x30d)]()['optional'](),'index':z[_0xf8ecb6(0x2af)]()['int']()['nonnegative']()['optional']()});function _0x1f04e8(_0x1d258d){const _0x129e85=_0xf8ecb6;if(!_0x1d258d[_0x129e85(0x3e0)]&&!_0x1d258d['accessibilityLabel']&&!_0x1d258d[_0x129e85(0x45e)]&&_0x1d258d[_0x129e85(0x977)]===void 0x0)return'Each\x20query\x20needs\x20at\x20least\x20one\x20of\x20text,\x20accessibilityLabel,\x20type,\x20or\x20index.';return null;}function _0x948d06(_0x46b97c,_0x59cc25){const _0x45f036=_0xf8ecb6,{screenManager:_0x508a9f,toolErrorContent:_0x2f844f,jsonText:_0x353614,requireWDA:_0x15cbff}=_0x59cc25;_0x46b97c['tool']('screen_tap_and_verify','Compound\x20primitive:\x20find\x20an\x20element\x20by\x20text/accessibilityLabel/type,\x20tap\x20its\x20center,\x20and\x20optionally\x20assert\x20a\x20follow-up\x20selector\x20becomes\x20visible\x20—\x20all\x20in\x20one\x20logical\x20step.\x20Sends\x20the\x20tap\x20via\x20the\x20W3C\x20bulk-actions\x20endpoint\x20when\x20WDA\x20supports\x20it\x20(batched:\x20true)\x20and\x20falls\x20back\x20to\x20the\x20legacy\x20serial\x20tap\x20path\x20otherwise\x20(batched:\x20false).',{'text':z[_0x45f036(0x30d)]()[_0x45f036(0x768)](),'accessibilityLabel':z['string']()[_0x45f036(0x768)](),'type':z['string']()[_0x45f036(0x768)](),'index':z[_0x45f036(0x2af)]()[_0x45f036(0x732)]()[_0x45f036(0x8b3)]()['optional'](),'verifySelector':_0x90f27e['optional']()[_0x45f036(0x3f0)]('Optional\x20follow-up\x20assertion.\x20The\x20tool\x20reports\x20the\x20visibility\x20of\x20this\x20selector\x20in\x20`verifyResult`\x20after\x20the\x20tap.\x20Omit\x20to\x20perform\x20the\x20tap\x20only.')},async _0x54295b=>{const _0x556648=_0x45f036;try{const _0x177deb=await _0x15cbff();if(!_0x177deb['ok'])return{..._0x353614(_0x177deb['payload']),'isError':!![]};const _0x4a555b=_0x54295b,_0x13dc35=_0x1f04e8(_0x4a555b);if(_0x13dc35)return{..._0x353614({'success':![],'error':_0x13dc35}),'isError':!![]};const _0x41cd22={'text':_0x4a555b['text'],'accessibilityLabel':_0x4a555b[_0x556648(0x444)],'type':_0x4a555b['type'],'index':_0x4a555b['index']},_0x13be2b=_0x4a555b['verifySelector'];if(_0x13be2b){const _0x3aa8ae=_0x1f04e8(_0x13be2b);if(_0x3aa8ae){if(_0x556648(0x451)===_0x556648(0xb1b)){const _0x5dff77=_0x4e19e1;if(_0x5dff77?.['name']===_0x556648(0xace))throw new _0x497d82(_0x556648(0x651),0x0,_0x556648(0x823)+_0x39fc62+_0x556648(0x8ea),_0x4cb530);throw new _0x6667a0(_0x556648(0x651),0x0,_0x556648(0x900),_0x10e57c);}else return{..._0x353614({'success':![],'error':'verifySelector:\x20'+_0x3aa8ae}),'isError':!![]};}}const _0x4b77d8=await _0x508a9f['tapAndVerify'](_0x41cd22,{'verifySelector':_0x13be2b});return{..._0x353614(_0x4b77d8),'isError':!_0x4b77d8[_0x556648(0x6d0)]};}catch(_0x954de1){return _0x2f844f(_0x556648(0xa04),_0x954de1);}}),_0x46b97c[_0x45f036(0x34e)](_0x45f036(0x57f),'Compound\x20primitive:\x20focus\x20an\x20input\x20field\x20matched\x20by\x20text/accessibilityLabel/type\x20and\x20type\x20into\x20it.\x20Sends\x20the\x20tap-to-focus\x20and\x20per-character\x20keypresses\x20as\x20ONE\x20W3C\x20actions\x20call\x20when\x20WDA\x20supports\x20it\x20(batched:\x20true);\x20falls\x20back\x20to\x20serial\x20findAndTap\x20+\x20wda/keys\x20otherwise\x20(batched:\x20false).\x20Set\x20`clearFirst:\x20true`\x20to\x20clear\x20an\x20existing\x20value\x20before\x20typing\x20—\x20off\x20by\x20default\x20so\x20we\x20never\x20silently\x20overwrite\x20form\x20state.',{'fieldQuery':_0x90f27e['describe']('Query\x20identifying\x20the\x20input\x20field\x20to\x20focus.'),'text':z[_0x45f036(0x30d)]()[_0x45f036(0x3f0)](_0x45f036(0x6e7)),'clearFirst':z[_0x45f036(0xa6d)]()['optional']()['describe'](_0x45f036(0x92b))},async _0xc700c0=>{const _0xbccec4=_0x45f036;try{const _0x380295=await _0x15cbff();if(!_0x380295['ok'])return{..._0x353614(_0x380295['payload']),'isError':!![]};const _0x574d66=_0xc700c0,_0x2ed3ba=_0x1f04e8(_0x574d66[_0xbccec4(0x849)]);if(_0x2ed3ba)return{..._0x353614({'success':![],'error':'fieldQuery:\x20'+_0x2ed3ba}),'isError':!![]};const _0x5b1297=await _0x508a9f[_0xbccec4(0x38c)](_0x574d66['fieldQuery'],_0x574d66['text'],{'clearFirst':_0x574d66[_0xbccec4(0x9f8)]});return{..._0x353614(_0x5b1297),'isError':!_0x5b1297[_0xbccec4(0x6d0)]};}catch(_0x4959f9){return _0x2f844f(_0xbccec4(0x57f),_0x4959f9);}}),_0x46b97c[_0x45f036(0x34e)]('screen_tap_chain','Compound\x20primitive:\x20tap\x20a\x20sequence\x20of\x20elements\x20as\x20ONE\x20W3C\x20actions\x20call.\x20The\x20AX\x20tree\x20is\x20fetched\x20once;\x20each\x20query\x20resolves\x20against\x20that\x20snapshot.\x20If\x20any\x20query\x20fails\x20to\x20resolve,\x20the\x20chain\x20stops\x20and\x20ZERO\x20gestures\x20are\x20sent\x20(we\x20never\x20partial-tap\x20an\x20intent).\x20On\x20bulk-endpoint\x20failure,\x20falls\x20back\x20to\x20serial\x20taps\x20(batched:\x20false).\x20Useful\x20for\x20short\x20fixed\x20sequences\x20(open\x20menu\x20→\x20pick\x20option\x20→\x20confirm)\x20where\x20each\x20tap\x20doesn\x27t\x20depend\x20on\x20intermediate\x20re-rendering.',{'queries':z[_0x45f036(0x20f)](_0x90f27e)[_0x45f036(0x488)](0x1)['describe']('Ordered\x20list\x20of\x20element\x20queries\x20to\x20tap.\x20Resolved\x20against\x20ONE\x20AX-tree\x20snapshot\x20—\x20don\x27t\x20use\x20this\x20for\x20sequences\x20that\x20require\x20re-rendering\x20between\x20taps.')},async _0x2fd191=>{const _0x4d605d=_0x45f036;try{const _0x23e612=await _0x15cbff();if(!_0x23e612['ok'])return{..._0x353614(_0x23e612['payload']),'isError':!![]};const _0x519874=_0x2fd191;for(let _0x44e6df=0x0;_0x44e6df<_0x519874[_0x4d605d(0xb0d)]['length'];_0x44e6df++){const _0x593570=_0x1f04e8(_0x519874[_0x4d605d(0xb0d)][_0x44e6df]);if(_0x593570)return{..._0x353614({'success':![],'error':_0x4d605d(0xa18)+_0x44e6df+_0x4d605d(0x4f4)+_0x593570}),'isError':!![]};}const _0x2bf9b5=await _0x508a9f[_0x4d605d(0x8fd)](_0x519874[_0x4d605d(0xb0d)]);return{..._0x353614(_0x2bf9b5),'isError':!_0x2bf9b5[_0x4d605d(0x6d0)]};}catch(_0x310c1f){return _0x2f844f(_0x4d605d(0x868),_0x310c1f);}});}import{lstat,mkdir as _0x404880,readdir as _0x2fe032,readFile as _0x3fa777,rename,rm,writeFile as _0x114d2a}from'fs/promises';import{randomBytes}from'crypto';import{dirname,join as _0x37a9a0}from'path';var _0x19a053='.ceraph',_0x2d6c52=_0xf8ecb6(0x631),_0x18ae34=class extends Error{constructor(_0x5bb28b){const _0x42190a=_0xf8ecb6;super(_0x5bb28b),this[_0x42190a(0x9e5)]='InvalidRunArgumentError';}};function _0x5c1bac(_0x47de26){const _0x4febad=_0xf8ecb6;return _0x47de26['toLowerCase']()[_0x4febad(0x42e)](/[^a-z0-9]+/g,'-')[_0x4febad(0x42e)](/^-+|-+$/g,'')['slice'](0x0,0x50)||'flow';}function _0x857296(_0x447c42){const _0x5d0c51=_0xf8ecb6;if(typeof _0x447c42!=='string'||_0x447c42[_0x5d0c51(0x3b7)]===0x0)throw new _0x18ae34(_0x5d0c51(0x504));if(_0x447c42[_0x5d0c51(0x3b7)]>0x80)throw new _0x18ae34('runId\x20exceeds\x20128\x20characters.');if(_0x447c42['startsWith']('.')){if('MzODB'===_0x5d0c51(0xab7))throw new _0x18ae34(_0x5d0c51(0x438)+_0x447c42+_0x5d0c51(0x4ef));else this['targetResolver']=_0x4b7cc5;}if(!/^[A-Za-z0-9._-]+$/[_0x5d0c51(0x8aa)](_0x447c42))throw new _0x18ae34(_0x5d0c51(0x438)+_0x447c42+'\x22\x20must\x20match\x20[A-Za-z0-9._-]+\x20(no\x20separators,\x20control\x20chars,\x20or\x20unicode).');return _0x447c42;}function _0x45fe7a(_0x208798){const _0x19d9d0=_0xf8ecb6;if(typeof _0x208798!=='string'||_0x208798['length']===0x0)throw new _0x18ae34(_0x19d9d0(0x79e));if(_0x208798[_0x19d9d0(0x3b7)]>0x100)throw new _0x18ae34('flow\x20name\x20exceeds\x20256\x20characters.');return _0x208798;}function _0x22561e(_0x5a1cf5){if(typeof _0x5a1cf5!=='number'||!Number['isFinite'](_0x5a1cf5)||!Number['isInteger'](_0x5a1cf5)||_0x5a1cf5<0x0||_0x5a1cf5>0xf4240)throw new _0x18ae34('stepIndex\x20must\x20be\x20a\x20non-negative\x20integer\x20≤\x201000000\x20(got\x20'+String(_0x5a1cf5)+').');return _0x5a1cf5;}var _0x153604=class{[_0xf8ecb6(0x489)];constructor(_0x506ed2){this['root']=_0x37a9a0(_0x506ed2['projectDir'],_0x19a053,_0x2d6c52);}get[_0xf8ecb6(0xae2)](){const _0x1b2925=_0xf8ecb6;return this[_0x1b2925(0x489)];}async[_0xf8ecb6(0x943)](_0x377de3,_0x1820f2,_0x36e530,_0x184e99){const _0x140701=_0xf8ecb6,_0x41c5bc=_0x857296(_0x377de3),_0x21621e=_0x45fe7a(_0x1820f2),_0x54efa8=_0x22561e(_0x36e530),_0x1297c2=this['stepPath'](_0x41c5bc,_0x21621e,_0x54efa8);await _0x404880(dirname(_0x1297c2),{'recursive':!![]});const _0x3a2fbe=Buffer[_0x140701(0x56c)](_0x184e99,_0x140701(0x343));return await _0x4d5d83(_0x1297c2,_0x3a2fbe),{'path':_0x1297c2};}async['saveRunIndex'](_0x5ef124,_0x2b6e17){const _0x16bd39=_0xf8ecb6,_0x1523f7=_0x857296(_0x5ef124),_0x1a02e6=this['runDir'](_0x1523f7);await _0x404880(_0x1a02e6,{'recursive':!![]});const _0x459e40=_0x37a9a0(_0x1a02e6,_0x16bd39(0x7c7));await _0x4d5d83(_0x459e40,Buffer['from'](JSON[_0x16bd39(0x312)](_0x2b6e17,null,0x2)));}async[_0xf8ecb6(0xa27)](_0x1c6364){const _0x232b8e=_0xf8ecb6,_0x395943=_0x857296(_0x1c6364),_0xfaa8f1=_0x37a9a0(this[_0x232b8e(0x819)](_0x395943),'run.json');try{const _0x515c20=await _0x3fa777(_0xfaa8f1,'utf8'),_0x15221d=JSON[_0x232b8e(0x981)](_0x515c20);if(_0x15221d&&typeof _0x15221d[_0x232b8e(0x942)]==='string'&&typeof _0x15221d[_0x232b8e(0x25e)]===_0x232b8e(0x2af)&&Array['isArray'](_0x15221d['flows']))return _0x15221d;return null;}catch(_0x38317b){if('RzTfy'!=='AOTAk'){if(_0x207744(_0x38317b))return null;return null;}else return{'ok':!![],'severity':_0x232b8e(0x799),'message':'ffmpeg\x20not\x20required\x20for\x20simulator\x20targets\x20—\x20`xcrun\x20simctl\x20io\x20recordVideo`\x20(shipped\x20with\x20Xcode)\x20handles\x20video\x20capture.'};}}async[_0xf8ecb6(0xac1)](){const _0x266362=_0xf8ecb6;let _0x2585f7;try{_0x2585f7=await _0x2fe032(this[_0x266362(0x489)]);}catch(_0x1c656f){if(_0x207744(_0x1c656f))return[];throw _0x1c656f;}const _0x245469=[];for(const _0x37c30c of _0x2585f7){try{_0x857296(_0x37c30c);}catch{continue;}const _0x5a711b=_0x37a9a0(this['root'],_0x37c30c);let _0x1a3570;try{_0x1a3570=await lstat(_0x5a711b);}catch{continue;}if(!_0x1a3570['isDirectory']())continue;const _0x45786f=await this['getRunIndex'](_0x37c30c),_0x118700=_0x45786f?.['startedAt']??_0x1a3570['mtime']?.[_0x266362(0xa31)]()??0x0,_0x435053=await this['dirBytes'](_0x5a711b);_0x245469[_0x266362(0x4d1)]({'runId':_0x37c30c,'startedAt':_0x118700,'bytes':_0x435053,'path':_0x5a711b});}return _0x245469['sort']((_0x57db73,_0x26a0d9)=>_0x26a0d9[_0x266362(0x25e)]-_0x57db73[_0x266362(0x25e)]),_0x245469;}async['purgeRun'](_0x4f3fa8){const _0x5e6fe2=_0xf8ecb6,_0x5b9907=_0x857296(_0x4f3fa8),_0x4e3a06=this[_0x5e6fe2(0x819)](_0x5b9907);await rm(_0x4e3a06,{'recursive':!![],'force':!![]});}async['sweepOlderThan'](_0x1985d2){const _0x5d808b=_0xf8ecb6,_0x30d0c8=await this[_0x5d808b(0xac1)](),_0x17818f=Date[_0x5d808b(0x2f8)]()-_0x1985d2,_0x284391=[];let _0x456135=0x0;for(const _0x231eb6 of _0x30d0c8){if(_0x231eb6[_0x5d808b(0x25e)]<_0x17818f)try{await this[_0x5d808b(0x62a)](_0x231eb6[_0x5d808b(0x942)]),_0x284391[_0x5d808b(0x4d1)](_0x231eb6['runId']),_0x456135+=_0x231eb6[_0x5d808b(0x73e)];}catch{}}return{'swept':_0x284391,'freedBytes':_0x456135};}async['enforceCapacityCap'](_0x15d0b1){const _0x17a7d7=_0xf8ecb6,_0x537eec=await this[_0x17a7d7(0xac1)]();let _0x4f5736=_0x537eec[_0x17a7d7(0xad3)]((_0x321521,_0x4beeb7)=>_0x321521+_0x4beeb7['bytes'],0x0);if(_0x4f5736<=_0x15d0b1)return{'evicted':[],'freedBytes':0x0};const _0x2bf3c3=[..._0x537eec]['sort']((_0x5f25fd,_0x266aa1)=>_0x5f25fd['startedAt']-_0x266aa1['startedAt']),_0x4435ab=[];let _0x3b434c=0x0;for(const _0x3a61a6 of _0x2bf3c3){if(_0x4f5736<=_0x15d0b1)break;try{await this[_0x17a7d7(0x62a)](_0x3a61a6['runId']),_0x4435ab['push'](_0x3a61a6[_0x17a7d7(0x942)]),_0x3b434c+=_0x3a61a6['bytes'],_0x4f5736-=_0x3a61a6['bytes'];}catch{}}return{'evicted':_0x4435ab,'freedBytes':_0x3b434c};}[_0xf8ecb6(0x819)](_0x4b29be){const _0x350710=_0xf8ecb6;return _0x37a9a0(this[_0x350710(0x489)],_0x4b29be);}[_0xf8ecb6(0x355)](_0x13360e,_0x895663,_0x484695){const _0x127f70=_0xf8ecb6,_0xa56d29=_0x5c1bac(_0x895663);return _0x37a9a0(this[_0x127f70(0x819)](_0x13360e),_0xa56d29,_0x127f70(0x5c6)+_0x484695+'.png');}async['dirBytes'](_0x36856e){const _0x1dc55d=_0xf8ecb6;let _0x1223a4=0x0,_0x52a6d8;try{_0x52a6d8=await _0x2fe032(_0x36856e);}catch{return 0x0;}for(const _0xc5b8a4 of _0x52a6d8){const _0x329c67=_0x37a9a0(_0x36856e,_0xc5b8a4);let _0x34802c;try{_0x34802c=await lstat(_0x329c67);}catch{continue;}if(_0x34802c['isDirectory']()){if('nzyWW'!==_0x1dc55d(0x891))_0x1223a4+=await this['dirBytes'](_0x329c67);else return{'name':_0x1dc55d(0x55e),'status':_0x1dc55d(0x3dd),'details':{'error':_0x842d53(_0x47a57e)},'remediation':'Dry-run\x20camera\x20preview\x20failed.\x20Re-run\x20without\x20--dry-run\x20after\x20fixing\x20the\x20error\x20above,\x20or\x20pass\x20--project-dir\x20if\x20the\x20path\x20is\x20wrong.'};}else _0x34802c['isFile']()&&(_0x1223a4+=_0x34802c['size']);}return _0x1223a4;}};function _0x207744(_0x5336c2){const _0x37048a=_0xf8ecb6;return typeof _0x5336c2==='object'&&_0x5336c2!==null&&_0x37048a(0x3aa)in _0x5336c2&&_0x5336c2[_0x37048a(0x3aa)]==='ENOENT';}async function _0x4d5d83(_0x3937c5,_0x473ee0){const _0x457121=_0xf8ecb6,_0x4de628=_0x3937c5+'.'+randomBytes(0x8)[_0x457121(0xafa)]('hex')+'.tmp';try{await _0x114d2a(_0x4de628,_0x473ee0),await rename(_0x4de628,_0x3937c5);}catch(_0x50dad8){await rm(_0x4de628,{'force':!![]})['catch'](()=>void 0x0);throw _0x50dad8;}}async function _0x504d31(_0x501075,_0x3c35e6){const _0x58473d=_0xf8ecb6,_0x1d3747=_0x3c35e6['olderThan']??_0x58473d(0x843);if(_0x1d3747===_0x58473d(0x2d4)){const _0x5e3a3d=await _0x501075['listRuns']();let _0x586ee8=0x0,_0x1c2f27=0x0;const _0x214662=[];for(const _0x5889a8 of _0x5e3a3d){try{await _0x501075[_0x58473d(0x62a)](_0x5889a8['runId']),_0x214662['push'](_0x5889a8['runId']),_0x586ee8+=_0x5889a8['bytes'];}catch{_0x1c2f27++;}}const _0x5d705b=(await _0x501075[_0x58473d(0xac1)]())['length'];return{'swept':_0x214662,'freedBytes':_0x586ee8,'remainingRuns':_0x5d705b,'failedToPurge':_0x1c2f27};}const _0x10fa4c=_0x1d3747===_0x58473d(0xa71)?0x1e*0x18*0x3c*0x3c*0x3e8:0xe*0x18*0x3c*0x3c*0x3e8,{swept:_0x3c9daa,freedBytes:_0x589667}=await _0x501075['sweepOlderThan'](_0x10fa4c),_0x5d4618=(await _0x501075['listRuns']())[_0x58473d(0x3b7)];return{'swept':_0x3c9daa,'freedBytes':_0x589667,'remainingRuns':_0x5d4618,'failedToPurge':0x0};}import{spawn as _0x1fd61d}from'child_process';import{readdir as _0x133c7b,readFile as _0x2ac9eb}from'fs/promises';import{join as _0x23e013,relative as _0x4f44fc,sep}from'path';import{spawn as _0x1a43af}from'child_process';import{mkdir as _0x354cd1,rm as _0x5a2381,stat as _0x525a58}from'fs/promises';import{dirname as _0x599cc3,join as _0x50c014}from'path';var _0x58e606=0xbb8,_0x492468=0x1000,_0x252fac=new Map(),_0x4f72d1=_0xf8ecb6(0x1f1),_0x324c91=null;function _0x3ce50b(){return _0x4f72d1;}var _0x5cf829=class{['resolver'];[_0xf8ecb6(0x922)];['spawnFn'];['setTimeoutFn'];['mkdirFn'];[_0xf8ecb6(0x357)];[_0xf8ecb6(0x991)];['child']=null;['childExit']=null;['hasStarted']=![];['hasStopped']=![];constructor(_0x1a86e0){const _0x13657c=_0xf8ecb6;this[_0x13657c(0x4fe)]=_0x1a86e0[_0x13657c(0x4fe)],this[_0x13657c(0x922)]=_0x1a86e0['outputPath'],this[_0x13657c(0x7f6)]=_0x1a86e0[_0x13657c(0x7f6)]??_0x1a43af,this['setTimeoutFn']=_0x1a86e0['setTimeoutFn']??setTimeout,this[_0x13657c(0x575)]=_0x1a86e0['mkdirFn']??_0x354cd1,this[_0x13657c(0x357)]=_0x1a86e0[_0x13657c(0x357)]??_0x525a58,this['rmFn']=_0x1a86e0['rmFn']??_0x5a2381;}async[_0xf8ecb6(0x7b1)](_0xd91741){return _0x152bfa(_0xd91741,{'statFn':this['statFn'],'rmFn':this['rmFn']});}async[_0xf8ecb6(0x5cf)](){const _0x136f74=_0xf8ecb6;if(this[_0x136f74(0x6b3)])return{'ok':![],'error':'VideoRecorder.start()\x20called\x20twice\x20on\x20the\x20same\x20instance.'};if(this[_0x136f74(0x89c)]){if('cThXQ'!=='cThXQ'){if(_0x550182['nonInteractive']!==void 0x0)return _0x1c5b87[_0x136f74(0x3a1)];if(_0x1e7b5d.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!_0x4d7b7e['stdin'][_0x136f74(0x4b9)];}else return{'ok':![],'error':'VideoRecorder\x20already\x20stopped;\x20construct\x20a\x20fresh\x20recorder.'};}this['hasStarted']=!![];try{await this[_0x136f74(0x575)](_0x599cc3(this['outputPath']),{'recursive':!![]});}catch(_0x4b3252){return{'ok':![],'error':_0x136f74(0x7ef)+_0x3ef2fe(_0x4b3252)};}const _0x3bde1c=await this['resolver']['resolve']()[_0x136f74(0x48b)](_0x1dceac=>{const _0x248c1e=_0x136f74;if('vIrJf'!==_0x248c1e(0x53d))return{'error':_0x3ef2fe(_0x1dceac)};else switch(_0x36c0ee){case'pnpm':return{'bin':'pnpm','args':['add',_0x3e703d]};case'yarn':return{'bin':_0x248c1e(0x2d0),'args':[_0x248c1e(0x856),_0x102d2c]};case _0x248c1e(0x524):return{'bin':'bun','args':[_0x248c1e(0x856),_0x52d853]};case'npm':return{'bin':_0x248c1e(0x26d),'args':['install',_0x25014f]};}});if(_0x136f74(0x3dd)in _0x3bde1c)return{'ok':![],'error':'Failed\x20to\x20resolve\x20target:\x20'+_0x3bde1c[_0x136f74(0x3dd)]};const _0x4d357b=await this[_0x136f74(0x63e)](_0x3bde1c);if(!_0x4d357b['ok'])return{'ok':![],'error':_0x4d357b['error']};let _0x15d5e8;try{_0x15d5e8=this['spawnFn'](_0x4d357b[_0x136f74(0x43d)],_0x4d357b['args'],{'stdio':[_0x136f74(0x9fa),_0x136f74(0x9e1),_0x136f74(0x9e1)]});}catch(_0xd86ad1){return{'ok':![],'error':'Failed\x20to\x20spawn\x20'+_0x4d357b['argv0']+':\x20'+_0x3ef2fe(_0xd86ad1)};}return this['child']=_0x15d5e8,this[_0x136f74(0xaf2)]=new Promise(_0x39da0f=>{const _0x1ccbf2=_0x136f74,_0x1b7d80=()=>_0x39da0f();_0x15d5e8['once']('exit',_0x1b7d80),_0x15d5e8[_0x1ccbf2(0x6b8)](_0x1ccbf2(0x3dd),_0x1b7d80);}),{'ok':!![],'path':this[_0x136f74(0x922)]};}async['stop'](){const _0x1d23b3=_0xf8ecb6;if(!this['hasStarted']){this['hasStopped']=!![];return;}if(this[_0x1d23b3(0x89c)])return;this[_0x1d23b3(0x89c)]=!![];const _0xd29fab=this[_0x1d23b3(0x618)],_0x168839=this['childExit'];this['child']=null,this[_0x1d23b3(0xaf2)]=null;if(!_0xd29fab||_0xd29fab['exitCode']!==null)return;try{if(_0x1d23b3(0x220)===_0x1d23b3(0x220))_0xd29fab['kill'](_0x1d23b3(0x8b8));else{if(_0x32f952[_0x1d23b3(0x979)](_0xe3632b))return!![];}}catch{}let _0x82934e=null;const _0x16f39d=new Promise(_0x2124fa=>{const _0x4d5758=_0x1d23b3;_0x82934e=this[_0x4d5758(0x267)](()=>{const _0x2d4d55=_0x4d5758;try{_0xd29fab['kill'](_0x2d4d55(0x58f));}catch{}_0x2124fa();},_0x58e606),_0x82934e?.['unref']?.();});try{await Promise[_0x1d23b3(0x37c)]([_0x168839??Promise['resolve'](),_0x16f39d]);if(_0x168839)await _0x168839;}finally{if(_0x82934e)clearTimeout(_0x82934e);}}async[_0xf8ecb6(0x63e)](_0x5f52d5){const _0x18a03f=_0xf8ecb6;if(_0x5f52d5['target']===_0x18a03f(0x25a)){const _0x347217=this['resolver'][_0x18a03f(0x687)]()??_0x5f52d5[_0x18a03f(0x5a2)]??null;if(!_0x347217)return{'ok':![],'error':_0x18a03f(0x6a3)};return{'ok':!![],'argv0':_0x18a03f(0x244),'args':[_0x18a03f(0x825),'io',_0x347217,'recordVideo','--type=mp4',this[_0x18a03f(0x922)]]};}const _0x4bd6ab=_0x5f52d5['udid'];if(!_0x4bd6ab)return{'ok':![],'error':'Real-device\x20UDID\x20unavailable\x20—\x20plug\x20in\x20your\x20iPhone\x20and\x20trust\x20this\x20Mac,\x20then\x20retry.'};const _0x2d841f=await _0x3281ae(_0x4bd6ab);if(_0x2d841f===null)return{'ok':![],'error':'Could\x20not\x20resolve\x20AVFoundation\x20index\x20for\x20device\x20'+_0x4bd6ab+'.\x20The\x20device\x20may\x20not\x20appear\x20in\x20ffmpeg\x27s\x20device\x20list\x20yet\x20—\x20unplug\x20and\x20replug\x20the\x20USB-C\x20cable,\x20accept\x20the\x20\x22Trust\x20This\x20Computer\x22\x20prompt,\x20and\x20retry.'};return{'ok':!![],'argv0':'ffmpeg','args':['-f',_0x18a03f(0x46f),_0x18a03f(0x870),'30','-i',_0x2d841f+':',_0x18a03f(0x361),'h264','-y',this['outputPath']]};}},_0x15cdbf={'spawnFn':_0x1a43af};async function _0x3281ae(_0x3a0f2b){const _0x161137=_0xf8ecb6,_0x274c20=_0x252fac['get'](_0x3a0f2b);if(_0x274c20!==void 0x0)return _0x274c20;const _0x3b77b8=await _0x51851d()['catch'](()=>[]);if(_0x3b77b8[_0x161137(0x3b7)]===0x0)return null;const _0x54d1ff=await _0x7e650a(_0x3a0f2b)[_0x161137(0x48b)](()=>null);if(!_0x54d1ff)return null;const _0x6fc00a=_0x54d1ff['name']['toLowerCase']();let _0xa0e75e=_0x3b77b8[_0x161137(0x415)](_0x56b3cd=>_0x56b3cd[_0x161137(0x9e5)]===_0x54d1ff[_0x161137(0x9e5)]);!_0xa0e75e&&(_0xa0e75e=_0x3b77b8['find'](_0x50da3f=>_0x50da3f['name']['toLowerCase']()===_0x6fc00a));if(!_0xa0e75e)return null;return _0x252fac[_0x161137(0x93e)](_0x3a0f2b,_0xa0e75e['index']),_0xa0e75e[_0x161137(0x977)];}async function _0x51851d(){const _0x5e578f=_0xf8ecb6,_0xf603a=await _0x5f4c9d(_0x5e578f(0x219),['-hide_banner','-f',_0x5e578f(0x46f),_0x5e578f(0x97c),'true','-i','']),_0x501f48=_0xf603a[_0x5e578f(0x910)]||_0xf603a[_0x5e578f(0x790)];return _0x4a613c(_0x501f48);}function _0x4a613c(_0x544163){const _0x336b72=_0xf8ecb6,_0x375853=[];let _0x36001f=![];const _0x2f9f76=/^(?:\[AVFoundation[^\]]*\]\s+)?\[(\d+)\]\s+(.+?)\s*$/;for(const _0x5ad2a8 of _0x544163[_0x336b72(0x51a)](/\r?\n/)){const _0x5c9d5e=_0x5ad2a8[_0x336b72(0x668)]();if(/AVFoundation\s+video\s+devices/i[_0x336b72(0x8aa)](_0x5c9d5e)){_0x36001f=!![];continue;}if(/AVFoundation\s+audio\s+devices/i[_0x336b72(0x8aa)](_0x5c9d5e)){_0x36001f=![];continue;}if(!_0x36001f)continue;const _0x190a0b=_0x2f9f76['exec'](_0x5c9d5e);if(!_0x190a0b)continue;_0x375853['push']({'index':_0x190a0b[0x1],'name':_0x190a0b[0x2]});}return _0x375853;}async function _0x7e650a(_0x4599a0){const _0x28917c=_0xf8ecb6,_0x174063=await _0x5f4c9d(_0x28917c(0x1fb),[_0x28917c(0x817),'-json']);if(_0x174063['code']!==0x0&&!_0x174063[_0x28917c(0x790)])return null;try{const _0x5a0e07=JSON[_0x28917c(0x981)](_0x174063['stdout']);return _0x4292c7(_0x5a0e07[_0x28917c(0x817)],_0x4599a0);}catch{return null;}}function _0x4292c7(_0x361bf5,_0x278f6a){const _0x5cc056=_0xf8ecb6;if(_0x361bf5===null||_0x361bf5===void 0x0)return null;if(Array[_0x5cc056(0x200)](_0x361bf5)){for(const _0x554018 of _0x361bf5){const _0x50fd7d=_0x4292c7(_0x554018,_0x278f6a);if(_0x50fd7d)return _0x50fd7d;}return null;}if(typeof _0x361bf5!==_0x5cc056(0x9e3))return null;const _0x4b6d13=_0x361bf5,_0x229ac8=_0x4b6d13[_0x5cc056(0x48e)];if(typeof _0x229ac8===_0x5cc056(0x30d)&&_0x229ac8[_0x5cc056(0x5b5)]()===_0x278f6a[_0x5cc056(0x5b5)]()){const _0x3847df=typeof _0x4b6d13[_0x5cc056(0x68d)]==='string'?_0x4b6d13[_0x5cc056(0x68d)]:_0x278f6a;return{'name':_0x3847df,'serial':_0x229ac8};}for(const _0x365dd3 of Object['values'](_0x4b6d13)){if(Array[_0x5cc056(0x200)](_0x365dd3)||typeof _0x365dd3==='object'&&_0x365dd3!==null){if('rWVmG'!=='rWVmG')return{'name':'claude-hooks','status':'error','details':{'error':_0x44f5d1(_0x11e798),'dryRun':!![]}};else{const _0x16882e=_0x4292c7(_0x365dd3,_0x278f6a);if(_0x16882e)return _0x16882e;}}}return null;}async function _0x152bfa(_0x8143c8,_0x60622d={}){const _0x14e901=_0xf8ecb6;if(_0x4f72d1==='granted')return _0x14e901(0xafc)==='KhdSH'?{'status':_0x14e901(0x368),'message':''}:this[_0x14e901(0x82e)](_0x2c1c4b,_0x2594ba);if(_0x4f72d1==='denied')return{'status':'denied','message':_0x85c37a};if(_0x324c91){const _0x9c6dfd=await _0x324c91;return{'status':_0x9c6dfd,'message':_0x9c6dfd===_0x14e901(0x368)?'':_0x85c37a};}const _0x4049fb=((async()=>{try{return await _0x56b579(_0x8143c8,_0x60622d);}finally{_0x324c91=null;}})());_0x324c91=_0x4049fb;const _0x59e41c=await _0x4049fb;return _0x4f72d1=_0x59e41c,{'status':_0x59e41c,'message':_0x59e41c===_0x14e901(0x368)?'':_0x85c37a};}var _0x85c37a=_0xf8ecb6(0x31b);async function _0x56b579(_0x4a1795,_0x10a23b={}){const _0x2c0f67=_0xf8ecb6,_0x853726=_0x10a23b[_0x2c0f67(0x357)]??_0x525a58,_0x56485d=_0x10a23b['rmFn']??_0x5a2381,_0x2de189=await _0x3281ae(_0x4a1795);if(_0x2de189===null)return'denied';const _0x5e1d5e=_0x50c014('/tmp','ceraph-permission-dryrun-'+process['pid']+'-'+Date['now']()+'.mp4'),_0x5a4535=await _0x5f4c9d('ffmpeg',[_0x2c0f67(0x733),'-f',_0x2c0f67(0x46f),'-framerate','30','-i',_0x2de189+':','-c:v','h264','-t','1','-y',_0x5e1d5e]);let _0x3e1edd=![];if(_0x5a4535['code']===0x0)try{const _0x44dbe6=await _0x853726(_0x5e1d5e);_0x3e1edd=_0x44dbe6[_0x2c0f67(0x952)]>=_0x492468;}catch{_0x3e1edd=![];}return await _0x56485d(_0x5e1d5e,{'force':!![]})[_0x2c0f67(0x48b)](()=>void 0x0),_0x3e1edd?_0x2c0f67(0x368):_0x2c0f67(0x576);}async function _0x5f4c9d(_0x3a2e67,_0x29f532){return new Promise(_0x41aff4=>{const _0x443dae=_0xc050;let _0x4f59d2='',_0x52d6fd='',_0x4442c4;try{if(_0x443dae(0x40c)!=='gIXGi')_0x4442c4=_0x15cdbf['spawnFn'](_0x3a2e67,_0x29f532,{'stdio':[_0x443dae(0x9fa),_0x443dae(0x9e1),_0x443dae(0x9e1)]});else return{'status':'seeded','flavor':_0x98ae54['flavor'],'screenCount':_0x39c146[_0x443dae(0x984)],'layoutCount':_0x3490c9['layoutCount'],'bundleId':_0x496fff[_0x443dae(0x369)]??null,'persisted':_0x577d9f['persisted']===!![]};}catch(_0x3058d2){_0x41aff4({'code':0x7f,'stdout':'','stderr':_0x3ef2fe(_0x3058d2)});return;}const _0x12cc52=setTimeout(()=>{const _0x3e5541=_0x443dae;try{_0x4442c4[_0x3e5541(0x6ee)]('SIGKILL');}catch{}},0x2710);_0x12cc52[_0x443dae(0x2d6)]?.(),_0x4442c4[_0x443dae(0x790)]?.['on']('data',_0x29cd0e=>{const _0x1adb48=_0x443dae;_0x4f59d2+=typeof _0x29cd0e===_0x1adb48(0x30d)?_0x29cd0e:_0x29cd0e[_0x1adb48(0xafa)]();}),_0x4442c4['stderr']?.['on'](_0x443dae(0x78f),_0x3b76ae=>{const _0x22cbf7=_0x443dae;_0x52d6fd+=typeof _0x3b76ae==='string'?_0x3b76ae:_0x3b76ae[_0x22cbf7(0xafa)]();});let _0x927474=![];const _0x37c13a=_0x3f818b=>{if(_0x927474)return;_0x927474=!![],clearTimeout(_0x12cc52),_0x41aff4({'code':_0x3f818b,'stdout':_0x4f59d2,'stderr':_0x52d6fd});};_0x4442c4['on']('error',_0x3c244e=>{const _0x5aa2e2=_0x443dae;_0x52d6fd+=_0x3c244e[_0x5aa2e2(0x531)]??String(_0x3c244e),_0x37c13a(0x7f);}),_0x4442c4['on'](_0x443dae(0x68c),_0x3b8d47=>{_0x37c13a(_0x3b8d47??0x1);});});}function _0x3ef2fe(_0x547ec4){const _0x4f8183=_0xf8ecb6;if(_0x547ec4 instanceof Error)return _0x547ec4[_0x4f8183(0x531)];return String(_0x547ec4);}import{readdir as _0x549bf5,readFile as _0x5d8575,writeFile as _0x5f5476,mkdir as _0x34f1e9,stat as _0x45c60a}from'fs/promises';import{join as _0x41dc83,relative}from'path';var _0x572612=['.jpg',_0xf8ecb6(0x78c),_0xf8ecb6(0xa39),_0xf8ecb6(0x6c5),'.heic'],_0x51e11a='_registry.ts',_0x33bb6a=_0x41dc83(_0xf8ecb6(0x4b1),_0xf8ecb6(0x80d));function _0x1d65b2(_0x2ad57d){return _0x572612['includes'](_0x2ad57d);}function _0xd9ee33(_0x7e8ac9){return _0x572612['indexOf'](_0x7e8ac9);}function _0x4c07a9(_0x15f79f){const _0x3e7bd0=_0xf8ecb6,_0x429339=_0x15f79f[_0x3e7bd0(0x95b)]('.');if(_0x429339<=0x0)return null;const _0xdc5db2=_0x15f79f[_0x3e7bd0(0x795)](0x0,_0x429339),_0x37468f=_0x15f79f['slice'](_0x429339)['toLowerCase']();if(!_0x1d65b2(_0x37468f))return null;if(_0xdc5db2[_0x3e7bd0(0x3b7)]===0x0)return null;return{'stem':_0xdc5db2,'ext':_0x37468f};}function _0x3b6a85(_0x463f4a){const _0x591095=_0xf8ecb6,_0x1e8976='//\x20AUTO-GENERATED\x20by\x20@ceraph/react-native-mcp\x20—\x20do\x20not\x20edit\x20by\x20hand.\x0a//\x20Re-run\x20`rn_sync_camera_registry`\x20after\x20adding\x20or\x20removing\x20images.\x0aimport\x20{\x20configureTestImage\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x0aexport\x20function\x20applyCameraImageRegistry():\x20void\x20{\x0a';if(_0x463f4a[_0x591095(0x3b7)]===0x0)return _0x1e8976+'\x20\x20//\x20No\x20images\x20registered\x20yet.\x20Drop\x20files\x20into\x20.ceraph/camera-images/\x0a\x20\x20//\x20and\x20re-run\x20`rn_sync_camera_registry`.\x0a}\x0a';const _0x33cae4=Math[_0x591095(0x553)](..._0x463f4a['map'](_0x475310=>_0x475310[_0x591095(0x88a)][_0x591095(0x3b7)]+0x2)),_0x30969f=_0x463f4a['map'](_0x599e3b=>{const _0x126a00=_0x591095;if('uEzte'==='uEzte'){const _0x419817='\x22'+_0x599e3b[_0x126a00(0x88a)]+'\x22,',_0x510471=_0x419817[_0x126a00(0xaf7)](_0x33cae4+0x1,'\x20');return _0x126a00(0x9bf)+_0x510471+_0x126a00(0x7ae)+_0x599e3b[_0x126a00(0x3a3)]+'\x22));';}else _0x8bfb0b(_0x29f97a('Skipped\x20installCeraph()\x20injection.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20wire\x20it.'));});return _0x1e8976+_0x30969f[_0x591095(0x4ec)]('\x0a')+_0x591095(0x324);}async function _0x112a0a(_0xf6c7b3){const _0x15b98e=_0xf8ecb6,_0x76d021=_0x41dc83(_0xf6c7b3,_0x33bb6a),_0x259b2f=_0x41dc83(_0x76d021,_0x51e11a);let _0x516caa;try{const _0x2df2e2=await _0x45c60a(_0x76d021);if(!_0x2df2e2['isDirectory']())return{'registered':[],'registryPath':_0x259b2f,'writtenOrUnchanged':'missing-dir'};_0x516caa=await _0x549bf5(_0x76d021);}catch{return{'registered':[],'registryPath':_0x259b2f,'writtenOrUnchanged':_0x15b98e(0x737)};}const _0xba1760=new Map();for(const _0x230faa of _0x516caa){if(_0x230faa===_0x51e11a)continue;if(_0x230faa[_0x15b98e(0x746)]('_')||_0x230faa['startsWith']('.'))continue;if(_0x230faa==='README.md')continue;const _0x1cb698=_0x4c07a9(_0x230faa);if(!_0x1cb698)continue;const _0x365696={'key':_0x1cb698['stem'],'relativePath':'./'+_0x230faa,'ext':_0x1cb698[_0x15b98e(0x208)]},_0x3f7253=_0xba1760['get'](_0x1cb698[_0x15b98e(0x4c8)]);if(!_0x3f7253){if('rJiAh'===_0x15b98e(0x6dc)){_0x64507e(_0x1c6cf1);if(_0x318dac)_0x45855e(_0xa4d848);_0x3c2160();}else{_0xba1760[_0x15b98e(0x93e)](_0x1cb698['stem'],_0x365696);continue;}}_0xd9ee33(_0x365696['ext'])<_0xd9ee33(_0x3f7253[_0x15b98e(0x208)])&&_0xba1760['set'](_0x1cb698[_0x15b98e(0x4c8)],_0x365696);}const _0x3777bd=Array['from'](_0xba1760[_0x15b98e(0x32f)]())[_0x15b98e(0x426)]((_0x3e1121,_0x24efec)=>_0x3e1121[_0x15b98e(0x88a)]<_0x24efec['key']?-0x1:_0x3e1121[_0x15b98e(0x88a)]>_0x24efec['key']?0x1:0x0),_0x379e5c=_0x3b6a85(_0x3777bd);let _0x47c8d3=null;try{_0x47c8d3=await _0x5d8575(_0x259b2f,_0x15b98e(0x827));}catch{_0x47c8d3=null;}if(_0x47c8d3===_0x379e5c)return{'registered':_0x3777bd,'registryPath':_0x259b2f,'writtenOrUnchanged':_0x15b98e(0x784)};return await _0x34f1e9(_0x76d021,{'recursive':!![]}),await _0x5f5476(_0x259b2f,_0x379e5c,'utf-8'),{'registered':_0x3777bd,'registryPath':_0x259b2f,'writtenOrUnchanged':'written'};}function _0x1718c0(_0x105c0f,_0x3a5d64){const _0x42f7fd=_0xf8ecb6,_0x36af17=relative(_0x105c0f,_0x3a5d64);return _0x36af17[_0x42f7fd(0x3b7)]>0x0?_0x36af17:_0x3a5d64;}import{spawn as _0x42ae39}from'child_process';import{access as _0x440733}from'fs/promises';import{join as _0x427bf4}from'path';import{spawn as _0x8b2958}from'child_process';import{createRequire}from'module';import{createServer}from'net';import{dirname as _0x4fec64,join as _0x4db89f}from'path';async function _0xf85c4(){return new Promise((_0x1726c5,_0x9e4d9b)=>{const _0x5d077a=_0xc050,_0x17687a=createServer();_0x17687a[_0x5d077a(0x6b8)](_0x5d077a(0x3dd),_0x9e4d9b),_0x17687a['listen'](0x0,'127.0.0.1',()=>{const _0x51058d=_0x5d077a,_0x1e3641=_0x17687a['address']();if(_0x1e3641&&typeof _0x1e3641===_0x51058d(0x9e3)){const _0x3d858b=_0x1e3641['port'];_0x17687a['close'](()=>_0x1726c5(_0x3d858b));}else _0x17687a[_0x51058d(0x716)](()=>_0x9e4d9b(new Error('failed\x20to\x20bind\x20a\x20free\x20port')));});});}function _0x15f5fe(_0x67f6b6){const _0x48c0b8=_0xf8ecb6,_0x47cd75=_0x16e434=>{const _0x3cc538=_0xc050;try{const _0x3b8683=createRequire(_0x16e434),_0x5c0704=_0x3b8683['resolve'](_0x3cc538(0x7c9)),_0x42b794=_0x4fec64(_0x5c0704);return _0x4db89f(_0x42b794,_0x3cc538(0x3d3));}catch{return null;}};if(_0x67f6b6){const _0x1b6da0=_0x47cd75(new URL('package.json',_0x48c0b8(0x691)+(_0x67f6b6[_0x48c0b8(0xaa5)]('/')?_0x67f6b6:_0x67f6b6+'/')));if(_0x1b6da0)return _0x1b6da0;}return _0x47cd75(import.meta.url);}async function _0x266a61(_0x34a8b3){const _0x2f7ed8=_0xf8ecb6,_0x3dc36f=_0x15f5fe(_0x34a8b3['projectDir']);if(!_0x3dc36f)return{'ok':![],'reason':'wda-package-missing','error':_0x2f7ed8(0x84d)};const _0x4379a3=await _0x247e67('xcodebuild');if(!_0x4379a3)return{'ok':![],'reason':_0x2f7ed8(0x495),'error':'`xcodebuild`\x20not\x20found\x20on\x20PATH.\x20Install\x20Xcode\x20(full\x20app,\x20not\x20just\x20Command\x20Line\x20Tools)\x20and\x20accept\x20the\x20license:\x20`sudo\x20xcodebuild\x20-license\x20accept`.'};await _0x1dacae(_0x34a8b3[_0x2f7ed8(0x5a2)]);const _0x1a98db=[_0x2f7ed8(0x8aa),_0x2f7ed8(0x919),_0x3dc36f,_0x2f7ed8(0x2e4),'WebDriverAgentRunner',_0x2f7ed8(0x771),'platform=iOS\x20Simulator,id='+_0x34a8b3['udid']];_0x34a8b3['derivedDataPath']&&_0x1a98db['push'](_0x2f7ed8(0x65a),_0x34a8b3['derivedDataPath']);_0x1a98db['push']('-quiet');const _0x4429d6=await _0xf85c4();let _0x4094fd;try{if('cbfCC'==='xOlOi')return{'status':_0x2f7ed8(0x485),'settingsPath':_0x140823};else _0x4094fd=_0x8b2958(_0x2f7ed8(0x7b8),_0x1a98db,{'stdio':['ignore',_0x2f7ed8(0x9e1),'pipe'],'env':{...process.env,'TEST_RUNNER_USE_PORT':String(_0x4429d6)}});}catch(_0x1f64f5){return{'ok':![],'reason':'xcodebuild-spawn-failed','error':'Failed\x20to\x20spawn\x20xcodebuild:\x20'+(_0x1f64f5 instanceof Error?_0x1f64f5['message']:String(_0x1f64f5))};}try{_0x34a8b3[_0x2f7ed8(0x316)]?.(_0x4094fd);}catch(_0x2abcf9){if('lHsGc'==='lHsGc'){try{_0x4094fd[_0x2f7ed8(0x6ee)](_0x2f7ed8(0x72c));}catch{}return{'ok':![],'reason':_0x2f7ed8(0x3c4),'error':_0x2f7ed8(0x4d4)+(_0x2abcf9 instanceof Error?_0x2abcf9[_0x2f7ed8(0x531)]:String(_0x2abcf9))};}else return{'success':![],'matchCount':0x0,'error':'No\x20element\x20found\x20matching\x20field\x20query:\x20'+_0x179538[_0x2f7ed8(0x312)](_0x1d6732),'batched':![]};}const _0xc9b883=[],_0x51833c=_0xc3b1b2=>{const _0x3cd56e=_0x2f7ed8;for(const _0x3e7f41 of _0xc3b1b2[_0x3cd56e(0x51a)]('\x0a')){if(!_0x3e7f41['trim']())continue;_0xc9b883[_0x3cd56e(0x4d1)](_0x3e7f41);if(_0xc9b883['length']>0xc8)_0xc9b883[_0x3cd56e(0x9a6)]();}};let _0x157e6c=null;const _0x529ca8=_0xfbec82=>{const _0x32da86=_0x2f7ed8;if(_0x157e6c!==null)return;const _0x2751c9=_0x2efbb5(_0xc9b883[_0x32da86(0x4ec)]('\x0a')+'\x0a'+_0xfbec82);if(_0x2751c9!==null)_0x157e6c=_0x2751c9;};_0x4094fd[_0x2f7ed8(0x790)]?.['on'](_0x2f7ed8(0x78f),_0x396e29=>{const _0x30b4cd=_0x2f7ed8,_0x409e75=_0x396e29[_0x30b4cd(0xafa)]();_0x51833c(_0x409e75),_0x529ca8(_0x409e75);}),_0x4094fd[_0x2f7ed8(0x910)]?.['on'](_0x2f7ed8(0x78f),_0x3288a1=>{const _0x570a00=_0x2f7ed8,_0x38247a=_0x3288a1[_0x570a00(0xafa)]();_0x51833c(_0x38247a),_0x529ca8(_0x38247a);});let _0x34a076=![],_0x15837c=null;_0x4094fd['on']('exit',_0x3cec84=>{_0x34a076=!![],_0x15837c=_0x3cec84;});const _0xc1a4c9=_0x34a8b3[_0x2f7ed8(0xab9)]??0x668a0,_0x116638=0xfa,_0x1b5498=Date['now']();while(Date['now']()-_0x1b5498<_0xc1a4c9){if(_0x157e6c!==null)break;if(_0x34a076)break;await new Promise(_0x4e1b6c=>setTimeout(_0x4e1b6c,_0x116638));}if(_0x157e6c!==null&&!_0x34a076){const _0x3667cf=_0x157e6c;return{'ok':!![],'session':_0x5a916a({'port':_0x3667cf,'udid':_0x34a8b3['udid'],'projectPath':_0x3dc36f,'child':_0x4094fd,'output':_0xc9b883})};}if(_0x157e6c!==null&&_0x34a076)return{'ok':![],'reason':'xcodebuild-exited-early','error':'xcodebuild\x20printed\x20the\x20WDA\x20port\x20marker\x20but\x20then\x20exited\x20with\x20code\x20'+_0x15837c+'\x20before\x20the\x20session\x20could\x20be\x20handed\x20off.\x20This\x20usually\x20means\x20the\x20test\x20target\x20crashed\x20during\x20boot\x20(check\x20the\x20simulator\x20logs)\x20or\x20the\x20simulator\x20was\x20shut\x20down\x20mid-build.\x20Last\x2020\x20lines\x20of\x20xcodebuild\x20output\x20below.','output':_0xc9b883[_0x2f7ed8(0x795)](-0x14)};try{_0x4094fd['kill']('SIGTERM');}catch{}if(_0x34a076)return{'ok':![],'reason':'xcodebuild-exited-early','error':'xcodebuild\x20exited\x20with\x20code\x20'+_0x15837c+_0x2f7ed8(0x329)+_0x3dc36f+_0x2f7ed8(0x98c),'output':_0xc9b883[_0x2f7ed8(0x795)](-0x14)};return{'ok':![],'reason':'port-not-detected','error':'The\x20simulator\x20WebDriverAgent\x20build\x20ran\x20for\x20'+Math[_0x2f7ed8(0x281)](_0xc1a4c9/0x3e8)+'s\x20without\x20coming\x20up\x20(no\x20`ServerURLHere->...<-ServerURLHere`\x20marker).\x20This\x20is\x20almost\x20always\x20a\x20cold\x20first\x20build\x20that\x27s\x20still\x20compiling\x20—\x20it\x20can\x20take\x20a\x20few\x20minutes.\x20The\x20compiled\x20output\x20is\x20cached\x20under\x20the\x20project\x27s\x20derivedData,\x20so\x20simply\x20retrying\x20usually\x20succeeds\x20(the\x20next\x20build\x20is\x20incremental).\x20If\x20retries\x20keep\x20timing\x20out,\x20build\x20the\x20runner\x20once\x20in\x20Xcode\x20to\x20surface\x20any\x20setup\x20prompt\x20(`open\x20\x22'+_0x3dc36f+'\x22`,\x20scheme\x20WebDriverAgentRunner).\x20Last\x2020\x20lines\x20of\x20xcodebuild\x20output\x20below.','output':_0xc9b883['slice'](-0x14)};}function _0x5a916a(_0x17893c){const _0x37d1cf=_0xf8ecb6;let _0xbff3c2=![];const _0x42b705=async()=>{const _0x17bc5d=_0xc050;if(_0xbff3c2)return;_0xbff3c2=!![];if(_0x17893c['child']['exitCode']!==null)return;try{_0x17893c[_0x17bc5d(0x618)]['kill']('SIGTERM');}catch{return;}await new Promise(_0x5462bc=>{const _0x425b0f=_0x17bc5d;let _0x13ad2e=![];const _0x3cb272=()=>{if(_0x13ad2e)return;_0x13ad2e=!![],_0x5462bc();};_0x17893c['child']['once'](_0x425b0f(0x68c),_0x3cb272);if(_0x17893c[_0x425b0f(0x618)]['exitCode']!==null){if('HFZZl'===_0x425b0f(0x791)){_0x58ad54+=_0x2980f7[_0x425b0f(0x3b7)];if(_0x3e017c>_0xe39101){_0x10ef56[_0x425b0f(0x3b7)]=0x0,_0x2e055d({'text':'','tooLarge':!![]}),_0x3a2645['removeAllListeners']('data'),_0x1e93b3['removeAllListeners'](_0x425b0f(0x5b3)),_0x2871b0['removeAllListeners']('error'),_0x1a537f['on']('data',()=>void 0x0),_0x529ef9['on'](_0x425b0f(0x5b3),()=>void 0x0),_0x230d44['on'](_0x425b0f(0x3dd),()=>void 0x0);return;}_0x229c16[_0x425b0f(0x4d1)](_0x2eb46f);}else{_0x17893c[_0x425b0f(0x618)][_0x425b0f(0x411)]('exit',_0x3cb272),_0x13ad2e=!![],_0x5462bc();return;}}setTimeout(()=>{const _0x38fac7=_0x425b0f;if(_0x13ad2e)return;try{_0x17893c['child'][_0x38fac7(0x6ee)](_0x38fac7(0x58f));}catch{}setTimeout(()=>{const _0x29c088=_0x38fac7;if(_0x29c088(0x1ef)===_0x29c088(0x1ef)){if(_0x13ad2e)return;_0x17893c['child']['off'](_0x29c088(0x68c),_0x3cb272),_0x13ad2e=!![],_0x5462bc();}else _0x2e8b88[_0x29c088(0x3e7)]();},0x7d0);},0x1388);});};return{'port':_0x17893c['port'],'udid':_0x17893c[_0x37d1cf(0x5a2)],'projectPath':_0x17893c['projectPath'],'process':_0x17893c[_0x37d1cf(0x618)],'output':_0x17893c['output'],'stop':_0x42b705};}async function _0x247e67(_0x1c2b7f){return new Promise(_0x4dce9e=>{const _0x444433=_0xc050;let _0x2b2516;try{_0x2b2516=_0x8b2958(_0x444433(0x91d),[_0x1c2b7f],{'stdio':[_0x444433(0x9fa),'pipe',_0x444433(0x9e1)]});}catch{_0x4dce9e(![]);return;}let _0x7ad099='';_0x2b2516['stdout']?.['on']('data',_0x155322=>{_0x7ad099+=_0x155322['toString']();}),_0x2b2516['on'](_0x444433(0x3dd),()=>_0x4dce9e(![])),_0x2b2516['on']('exit',_0x5ecf7c=>_0x4dce9e(_0x5ecf7c===0x0&&_0x7ad099[_0x444433(0x668)]()[_0x444433(0x3b7)]>0x0));});}async function _0x1dacae(_0x4cc5bc,_0x283c67={}){const _0x1fc1e6=_0xf8ecb6,_0x42ad9f=_0x283c67[_0x1fc1e6(0x2f9)]??0x15f90,_0x34c085=_0x283c67['spawnFn']??_0x8b2958;await new Promise(_0x2b7e4c=>{const _0x5d6af3=_0x1fc1e6;let _0x404669,_0x41244f=![];const _0x5c6f03=()=>{if(_0x41244f)return;_0x41244f=!![],clearTimeout(_0x1f8eb3),_0x2b7e4c();},_0x1f8eb3=setTimeout(()=>{const _0x2ef794=_0xc050;try{_0x404669?.[_0x2ef794(0x6ee)](_0x2ef794(0x58f));}catch{}_0x5c6f03();},_0x42ad9f);try{_0x404669=_0x34c085('xcrun',[_0x5d6af3(0x825),_0x5d6af3(0x5a5),_0x4cc5bc,'-b'],{'stdio':['ignore',_0x5d6af3(0x9fa),'ignore']});}catch{_0x5c6f03();return;}_0x404669['on']('error',()=>_0x5c6f03()),_0x404669['on'](_0x5d6af3(0x68c),()=>_0x5c6f03());});}var _0x22c0d7='appium-webdriveragent',_0x25ce5c=[{'file':'pnpm-lock.yaml','pm':_0xf8ecb6(0x8f6)},{'file':'yarn.lock','pm':'yarn'},{'file':'bun.lockb','pm':_0xf8ecb6(0x524)},{'file':_0xf8ecb6(0xabf),'pm':_0xf8ecb6(0x524)},{'file':'package-lock.json','pm':'npm'}];function _0x379f0d(_0xd2e297){const _0x4909cd=_0xf8ecb6;switch(_0xd2e297){case _0x4909cd(0x26d):return{'bin':_0x4909cd(0x26d),'args':['install','-D',_0x22c0d7]};case _0x4909cd(0x8f6):return{'bin':_0x4909cd(0x8f6),'args':['add','-D',_0x22c0d7]};case _0x4909cd(0x2d0):return{'bin':'yarn','args':['add','-D',_0x22c0d7]};case _0x4909cd(0x524):return{'bin':_0x4909cd(0x524),'args':[_0x4909cd(0x856),'-D',_0x22c0d7]};}}function _0x347458(_0x381bf3){return _0x15f5fe(_0x381bf3)!==null;}async function _0x201b1d(_0x46588a){const _0x114869=_0xf8ecb6;try{return _0x114869(0x46b)!==_0x114869(0xaca)?(await _0x440733(_0x46588a),!![]):{'name':'boot','status':'error','details':{'error':_0x578a5a(_0x4e8e6a)},'remediation':'Boot\x20revert\x20raised.\x20Check\x20the\x20layout\x20file\x20for\x20syntax\x20errors\x20before\x20re-running.'};}catch{return![];}}async function _0x579c8c(_0x2dbc80){for(const {file:_0x534e67,pm:_0x24ebb5}of _0x25ce5c){if(await _0x201b1d(_0x427bf4(_0x2dbc80,_0x534e67)))return _0x24ebb5;}return'npm';}function _0x5aa8aa(_0x2ef747,_0xe229ba){const {bin:_0x551ab1,args:_0x3d8111}=_0x379f0d(_0x2ef747),_0x38ab66=0x5*0xea60;return new Promise(_0x56a278=>{const _0x11b06f=_0xc050;let _0x4b2eb5;try{_0x4b2eb5=_0x42ae39(_0x551ab1,_0x3d8111,{'cwd':_0xe229ba,'stdio':[_0x11b06f(0x9fa),0x2,0x2]});}catch(_0x1703ad){_0x56a278({'ok':![],'error':_0x11b06f(0x2d9)+_0x551ab1+':\x20'+(_0x1703ad instanceof Error?_0x1703ad[_0x11b06f(0x531)]:String(_0x1703ad))});return;}let _0x3ff206=![];const _0x104c89=_0x3b73a9=>{if(_0x3ff206)return;_0x3ff206=!![],clearTimeout(_0x5e7add),_0x56a278(_0x3b73a9);},_0x5e7add=setTimeout(()=>{const _0x50427a=_0x11b06f;try{_0x4b2eb5[_0x50427a(0x6ee)]('SIGKILL');}catch{}_0x104c89({'ok':![],'error':'`'+_0x551ab1+'\x20'+_0x3d8111['join']('\x20')+'`\x20timed\x20out\x20after\x20'+_0x38ab66/0xea60+_0x50427a(0x22b)});},_0x38ab66);_0x4b2eb5['on'](_0x11b06f(0x3dd),_0x5450a1=>_0x104c89({'ok':![],'error':'`'+_0x551ab1+'\x20'+_0x3d8111[_0x11b06f(0x4ec)]('\x20')+_0x11b06f(0x7a2)+_0x5450a1['message']})),_0x4b2eb5['on']('exit',_0x3d2142=>{const _0x238b39=_0x11b06f;_0x3d2142===0x0?_0x104c89({'ok':!![]}):_0x104c89({'ok':![],'error':'`'+_0x551ab1+'\x20'+_0x3d8111['join']('\x20')+_0x238b39(0x53f)+(_0x3d2142??0x1)+'.'});});});}async function _0x3da09e(_0x59413f,_0x5155df={}){const _0x341175=_0xf8ecb6,_0x1ddb11=_0x5155df['isInstalled']??_0x347458,_0x4122bf=_0x5155df[_0x341175(0x710)]??_0x579c8c,_0x37d370=_0x5155df['runInstall']??_0x5aa8aa,_0x2f4896=_0x5155df['log'];try{if(_0x1ddb11(_0x59413f))return{'status':_0x341175(0x3b9)};_0x2f4896?.(_0x341175(0x24e));const _0xcc8b45=await _0x4122bf(_0x59413f),_0xae3a6b=await _0x37d370(_0xcc8b45,_0x59413f);if(_0x1ddb11(_0x59413f))return{'status':_0x341175(0x968)};return{'status':_0x341175(0x2c4),'error':_0xae3a6b['error']??'appium-webdriveragent\x20still\x20isn\x27t\x20resolvable\x20after\x20`'+_0x379f0d(_0xcc8b45)[_0x341175(0x9c1)]+'\x20'+_0x379f0d(_0xcc8b45)['args']['join']('\x20')+'`.'};}catch(_0x54ab1c){return{'status':_0x341175(0x2c4),'error':_0x54ab1c instanceof Error?_0x54ab1c[_0x341175(0x531)]:String(_0x54ab1c)};}}function _0x2b58ea(_0x304fb2,_0x211909,_0x33382c=0xfa0){return new Promise(_0x1d9657=>{const _0x114a02=_0xc050;let _0x1bbe96='',_0x8a0c43='',_0x5f2777;try{_0x5f2777=_0x1fd61d(_0x304fb2,_0x211909,{'stdio':['ignore','pipe','pipe']});}catch(_0x32f08f){_0x1d9657({'code':0x7f,'stdout':'','stderr':_0x32f08f instanceof Error?_0x32f08f[_0x114a02(0x531)]:String(_0x32f08f)});return;}const _0x478e15=setTimeout(()=>{const _0xc3ba57=_0x114a02;try{_0x5f2777[_0xc3ba57(0x6ee)]('SIGKILL');}catch{}},_0x33382c);_0x5f2777['stdout']?.['on'](_0x114a02(0x78f),_0x5863ea=>{const _0x2b2dae=_0x114a02;_0x1bbe96+=_0x5863ea[_0x2b2dae(0xafa)]();}),_0x5f2777['stderr']?.['on']('data',_0xccf5e8=>{const _0xe8b606=_0x114a02;_0x8a0c43+=_0xccf5e8[_0xe8b606(0xafa)]();});let _0x789554=![];_0x5f2777['on']('error',_0x28cb25=>{const _0x9e7bcf=_0x114a02;if(_0x789554)return;_0x789554=!![],clearTimeout(_0x478e15),_0x1d9657({'code':0x7f,'stdout':_0x1bbe96,'stderr':_0x8a0c43+(_0x28cb25[_0x9e7bcf(0x531)]??String(_0x28cb25))});}),_0x5f2777['on']('exit',_0xb58738=>{if(_0x789554)return;_0x789554=!![],clearTimeout(_0x478e15),_0x1d9657({'code':_0xb58738??0x1,'stdout':_0x1bbe96,'stderr':_0x8a0c43});});});}async function _0x36b361(_0x2f5bbd,_0x402a53,_0x14c443){const _0xf1274f=_0xf8ecb6;try{if(_0xf1274f(0xa35)==='fvDly')return 0x0;else{const _0x42294d=await _0x14c443();return{'name':_0x2f5bbd,..._0x42294d};}}catch(_0x314037){return{'name':_0x2f5bbd,'ok':![],'severity':_0x402a53,'message':_0x314037 instanceof Error?_0x314037['message']:String(_0x314037)};}}async function _0x427b5b(_0x248ec1,_0x773ec9){const _0x47f1b5=_0xf8ecb6,_0x2ad915=Date[_0x47f1b5(0x2f8)]()+_0x773ec9[_0x47f1b5(0x2f9)];try{if(await _0x248ec1())return!![];}catch{}while(Date[_0x47f1b5(0x2f8)]()<_0x2ad915){await new Promise(_0x55f168=>setTimeout(_0x55f168,_0x773ec9[_0x47f1b5(0x466)]));try{if(await _0x248ec1())return!![];}catch{}}return![];}async function _0x28338e(){const _0x2c9263=_0xf8ecb6,_0x5b5481=await _0x2b58ea('networksetup',[_0x2c9263(0x31a),'en0']);if(_0x5b5481[_0x2c9263(0x3aa)]!==0x0)return null;const _0x410b07=_0x5b5481[_0x2c9263(0x790)][_0x2c9263(0x2f3)](/Current Wi-Fi Network:\s*(.+)$/m);if(!_0x410b07)return null;const _0x44e24=_0x410b07[0x1][_0x2c9263(0x668)]();if(!_0x44e24||_0x44e24[_0x2c9263(0x5b5)]()['includes'](_0x2c9263(0x40f)))return null;return _0x44e24;}async function _0x5b181e(){const _0x1e3c9d=_0xf8ecb6,_0x5915a1=await _0x2b58ea('ipconfig',[_0x1e3c9d(0x711),_0x1e3c9d(0x35f)]);if(_0x5915a1[_0x1e3c9d(0x3aa)]!==0x0)return null;const _0x5ba0e3=_0x5915a1[_0x1e3c9d(0x790)]['trim']();return _0x5ba0e3[_0x1e3c9d(0x3b7)]>0x0?_0x5ba0e3:null;}var _0x2c38f7=['app','src','screens'],_0x57972a=new Set([_0xf8ecb6(0x540),_0xf8ecb6(0x73b)]),_0x384897=new Set([_0xf8ecb6(0x714),_0xf8ecb6(0xa00),'build','.git','.ceraph',_0xf8ecb6(0x759),'.next','ios','android']);async function _0x50dc92(_0x53fdae){const _0x1f19f7=[];async function _0x4f3f3e(_0x5f299b){const _0x5310f6=_0xc050;let _0x7d042d;try{_0x7d042d=await _0x133c7b(_0x5f299b,{'withFileTypes':!![]});}catch{if('HqdOn'!==_0x5310f6(0x60d))return;else return{'success':![],'errors':[{'file':'','line':0x0,'message':_0x5310f6(0xae5),'type':'build'}],'warnings':[],'output':''};}for(const _0x3620b0 of _0x7d042d){const _0x7f952f=_0x23e013(_0x5f299b,_0x3620b0['name']);if(_0x3620b0['isDirectory']()){if(_0x384897['has'](_0x3620b0[_0x5310f6(0x9e5)]))continue;await _0x4f3f3e(_0x7f952f);continue;}if(!_0x3620b0['isFile']())continue;const _0x4b4d2d=_0x3620b0[_0x5310f6(0x9e5)]['lastIndexOf']('.');if(_0x4b4d2d<0x0)continue;const _0x543b90=_0x3620b0[_0x5310f6(0x9e5)]['slice'](_0x4b4d2d)[_0x5310f6(0x5b5)]();if(!_0x57972a['has'](_0x543b90))continue;let _0xbc210b;try{_0xbc210b=await _0x2ac9eb(_0x7f952f,_0x5310f6(0x827));}catch{continue;}const _0x4fa8f7=_0x4f44fc(_0x53fdae,_0x7f952f)['split'](sep)[_0x5310f6(0x4ec)]('/');_0x1f19f7['push']({'absPath':_0x7f952f,'relPath':_0x4fa8f7,'contents':_0xbc210b});}}for(const _0x15d217 of _0x2c38f7){await _0x4f3f3e(_0x23e013(_0x53fdae,_0x15d217));}return _0x1f19f7;}function _0xa57fc8(_0x451b7d,_0x3d0c81){const _0x29a5f3=_0xf8ecb6,_0x293784=[],_0x2b706b=_0x451b7d[_0x29a5f3(0x1f2)],_0xacea89=_0x3d0c81[_0x29a5f3(0x42e)](/[.*+?^${}()|[\]\\]/g,'\x5c$&'),_0x502400=new RegExp('<'+_0xacea89+_0x29a5f3(0x24f),'g');let _0x2d8c14;while((_0x2d8c14=_0x502400['exec'](_0x2b706b))!==null){const _0x5376f4=_0x2d8c14['index'],_0x42bf16=_0x1f7ab7(_0x2b706b,_0x5376f4+_0x2d8c14[0x0][_0x29a5f3(0x3b7)]);if(_0x42bf16===-0x1)continue;const _0x5dfd4c=_0x2b706b['slice'](_0x5376f4,_0x42bf16+0x1),_0x469796=_0x2b706b['slice'](0x0,_0x5376f4),_0x277c8c=(_0x469796[_0x29a5f3(0x2f3)](/\n/g)?.['length']??0x0)+0x1;_0x293784[_0x29a5f3(0x4d1)]({'file':_0x451b7d,'line':_0x277c8c,'openingTag':_0x5dfd4c});}return _0x293784;}function _0x1f7ab7(_0x3ca285,_0x391e4d){const _0x1a3a00=_0xf8ecb6;let _0x2c40e9=0x0,_0x2f58ef=![],_0xd06fe4=![],_0x34dc94=![];for(let _0x1643e5=_0x391e4d;_0x1643e5<_0x3ca285[_0x1a3a00(0x3b7)];_0x1643e5++){const _0x11c556=_0x3ca285[_0x1643e5];if(_0x2f58ef){if(_0x11c556==='\x22'&&!_0x26ddfd(_0x3ca285,_0x1643e5))_0x2f58ef=![];continue;}if(_0xd06fe4){if(_0x11c556==='\x27'&&!_0x26ddfd(_0x3ca285,_0x1643e5))_0xd06fe4=![];continue;}if(_0x34dc94){if(_0x11c556==='`'&&!_0x26ddfd(_0x3ca285,_0x1643e5))_0x34dc94=![];continue;}if(_0x11c556==='\x22'){if(_0x1a3a00(0x354)===_0x1a3a00(0x272))_0x13a717[_0x1a3a00(0x4d1)](_0x241a53);else{_0x2f58ef=!![];continue;}}if(_0x11c556==='\x27'){_0xd06fe4=!![];continue;}if(_0x11c556==='`'){_0x34dc94=!![];continue;}if(_0x11c556==='{'){_0x2c40e9++;continue;}if(_0x11c556==='}'){_0x2c40e9=Math[_0x1a3a00(0x553)](0x0,_0x2c40e9-0x1);continue;}if(_0x2c40e9===0x0&&_0x11c556==='>')return _0x1643e5;}return-0x1;}function _0x26ddfd(_0x546ba0,_0x5828d4){let _0x24607f=0x0,_0x17e7ae=_0x5828d4-0x1;while(_0x17e7ae>=0x0&&_0x546ba0[_0x17e7ae]==='\x5c'){_0x24607f++,_0x17e7ae--;}return _0x24607f%0x2===0x1;}function _0x74bea0(_0x97bcb7){const _0x1e2367=_0xf8ecb6,_0x99270d=_0x97bcb7['replace'](/\.(tsx|jsx)$/i,''),_0x4ebc86=_0x99270d[_0x1e2367(0x51a)](/[\\/]/)[_0x1e2367(0x529)](_0x5710ad=>_0x5710ad['length']>0x0);if(_0x4ebc86['length']===0x0)return _0x1e2367(0x55e);const _0x5215d8=_0x4ebc86[_0x4ebc86['length']-0x1],_0x3eddbc=_0x4ebc86[_0x1e2367(0x3b7)]>0x1?_0x4ebc86[_0x4ebc86['length']-0x2]:_0x5215d8,_0x5c554e=new Set(['page',_0x1e2367(0x977),_0x1e2367(0x5be),_0x1e2367(0x761),_0x1e2367(0xa33)]),_0x48b658=_0x5c554e['has'](_0x5215d8[_0x1e2367(0x5b5)]())?_0x3eddbc:_0x5215d8,_0x7a8428=_0x48b658[_0x1e2367(0x42e)](/([a-z0-9])([A-Z])/g,'$1-$2')[_0x1e2367(0x5b5)]()['replace'](/[^a-z0-9]+/g,'-')[_0x1e2367(0x42e)](/^-+|-+$/g,'');return _0x7a8428[_0x1e2367(0x3b7)]>0x0?_0x7a8428:'camera';}function _0x133442(_0x44e3fc){const _0x5531bd=_0xf8ecb6,_0x34d9fe=/import\s*\{([^}]*)\}\s*from\s*["']expo-camera["']/g;let _0x432d5a;while((_0x432d5a=_0x34d9fe['exec'](_0x44e3fc))!==null){const _0x3dde21=_0x432d5a[0x1][_0x5531bd(0x51a)](',')['map'](_0x448c10=>_0x448c10[_0x5531bd(0x668)]()[_0x5531bd(0x51a)](/\s+as\s+/)[0x0]['trim']());if(_0x3dde21[_0x5531bd(0x27e)]('CameraView'))return!![];}return![];}function _0x40ff6b(_0x5388bc){const _0x290df9=_0xf8ecb6,_0x546348='imageKey';let _0x530eba=0x0,_0x474037=![],_0x23bc97=![],_0x57937b=![];for(let _0x14b257=0x0;_0x14b257<_0x5388bc['length'];_0x14b257++){const _0xdfeb41=_0x5388bc[_0x14b257];if(_0x474037){if(_0xdfeb41==='\x22'&&!_0x26ddfd(_0x5388bc,_0x14b257))_0x474037=![];continue;}if(_0x23bc97){if(_0xdfeb41==='\x27'&&!_0x26ddfd(_0x5388bc,_0x14b257))_0x23bc97=![];continue;}if(_0x57937b){if(_0xdfeb41==='`'&&!_0x26ddfd(_0x5388bc,_0x14b257))_0x57937b=![];continue;}if(_0xdfeb41==='\x22'){_0x474037=!![];continue;}if(_0xdfeb41==='\x27'){_0x23bc97=!![];continue;}if(_0xdfeb41==='`'){_0x57937b=!![];continue;}if(_0xdfeb41==='{'){_0x530eba++;continue;}if(_0xdfeb41==='}'){_0x530eba=Math['max'](0x0,_0x530eba-0x1);continue;}if(_0x530eba!==0x0)continue;if(_0xdfeb41!=='i')continue;if(_0x5388bc[_0x290df9(0x8dd)](_0x14b257,_0x14b257+_0x546348[_0x290df9(0x3b7)])!==_0x546348)continue;const _0x18e6bf=_0x14b257===0x0?'\x20':_0x5388bc[_0x14b257-0x1];if(/[A-Za-z0-9_$]/['test'](_0x18e6bf))continue;const _0x2d5619=_0x5388bc[_0x14b257+_0x546348['length']]??'';if(_0x2d5619!=='='&&!/\s/[_0x290df9(0x8aa)](_0x2d5619))continue;let _0x2a6566=_0x14b257+_0x546348[_0x290df9(0x3b7)];while(_0x2a6566<_0x5388bc[_0x290df9(0x3b7)]&&/\s/['test'](_0x5388bc[_0x2a6566]))_0x2a6566++;if(_0x5388bc[_0x2a6566]!=='='){_0x14b257=_0x2a6566-0x1;continue;}_0x2a6566++;while(_0x2a6566<_0x5388bc['length']&&/\s/[_0x290df9(0x8aa)](_0x5388bc[_0x2a6566]))_0x2a6566++;const _0x3f7f6d=_0x5388bc[_0x2a6566];if(_0x3f7f6d==='\x22'||_0x3f7f6d==='\x27'){if('BIsor'!=='NdazN'){let _0xc0a8e2=_0x2a6566+0x1;while(_0xc0a8e2<_0x5388bc[_0x290df9(0x3b7)]&&!(_0x5388bc[_0xc0a8e2]===_0x3f7f6d&&!_0x26ddfd(_0x5388bc,_0xc0a8e2))){_0xc0a8e2++;}const _0x4d8e9d=_0x5388bc[_0x290df9(0x795)](_0x2a6566+0x1,_0xc0a8e2);if(_0x4d8e9d['trim']()[_0x290df9(0x3b7)]===0x0)return{'present':![]};return{'present':!![],'value':_0x4d8e9d};}else return{'success':!![],'transport':'simctl'};}if(_0x3f7f6d==='{')return'cbCFc'==='cbCFc'?{'present':!![],'value':null}:{'success':![],'error':_0x290df9(0x28e)};return{'present':![]};}return{'present':![]};}async function _0x3fb793(_0x54f6ec){const _0x3a17e7=_0xf8ecb6,{screen:_0x483492,apps:_0x4bde91,autonomy:_0x45ff12,bundleId:_0x5199e0,requiredEnv:_0x481bf8,expectedNetwork:_0x5d12b9,projectDir:projectDir=process[_0x3a17e7(0x7f5)](),target:_0x2421b3,excludeRuntimeChecks:excludeRuntimeChecks=![],screenRecordingStatus:screenRecordingStatus=_0x3ce50b,ensureAppium:ensureAppium=_0x3da09e}=_0x54f6ec,_0x6723cd=!excludeRuntimeChecks&&_0x2421b3?await _0x2421b3[_0x3a17e7(0x62d)]()['catch'](()=>null):null,_0x55a749=_0x6723cd?.[_0x3a17e7(0xb00)]===_0x3a17e7(0x25a),_0x50799c=_0x112a0a(projectDir),_0x1a5fa4=_0x50799c['then'](_0x29965f=>{const _0x29883b=_0x3a17e7;if(_0x29965f['writtenOrUnchanged']===_0x29883b(0x737))return{'name':_0x29883b(0x457),'ok':!![],'severity':'info','message':'Skipped\x20—\x20no\x20.ceraph/camera-images/\x20directory.\x20Drop\x20test\x20images\x20there\x20to\x20enable\x20the\x20camera\x20shim.'};return{'name':_0x29883b(0x457),'ok':!![],'severity':'info','message':'Camera\x20image\x20registry\x20'+_0x29965f['writtenOrUnchanged']+'\x20('+_0x29965f['registered'][_0x29883b(0x3b7)]+_0x29883b(0x251)+(_0x29965f[_0x29883b(0x4de)]['length']===0x1?'':'s')+')\x20at\x20'+_0x1718c0(projectDir,_0x29965f[_0x29883b(0x5ff)])+'.','details':{'registered':_0x29965f['registered'][_0x29883b(0x86b)](_0x40825d=>_0x40825d['key']),'state':_0x29965f[_0x29883b(0x36a)]}};},_0x47f23d=>({'name':'camera-registry-synced','ok':![],'severity':'warning','message':'Camera\x20registry\x20sync\x20failed:\x20'+(_0x47f23d instanceof Error?_0x47f23d[_0x3a17e7(0x531)]:String(_0x47f23d))})),_0x5c4c99=_0x50dc92(projectDir),_0x52dab4=_0x36b361('camera-views-unwrapped',_0x3a17e7(0x696),async()=>{const _0x3288d3=_0x3a17e7,_0x5e3645=await _0x5c4c99,_0x57881b=[];for(const _0x33b4b5 of _0x5e3645){if(!_0x133442(_0x33b4b5['contents']))continue;const _0x436216=_0xa57fc8(_0x33b4b5,_0x3288d3(0x936));for(const _0x4648df of _0x436216){_0x57881b['push'](_0x4648df['file']['relPath']+':'+_0x4648df['line']);}}if(_0x57881b[_0x3288d3(0x3b7)]===0x0)return{'ok':!![],'severity':_0x3288d3(0x696),'message':_0x3288d3(0x80c)};return{'ok':![],'severity':'warning','message':'Found\x20'+_0x57881b['length']+'\x20<CameraView>\x20usage(s)\x20not\x20wrapped\x20by\x20<CeraphCamera>.','remediation':'Replace\x20each\x20<CameraView\x20/>\x20with\x20<CeraphCamera\x20imageKey=\x22...\x22\x20/>\x20from\x20\x22@ceraph/react-native-mcp/shim\x22.\x20The\x20shim\x20falls\x20through\x20to\x20expo-camera\x20in\x20production\x20builds.','details':{'offenders':_0x57881b}};}),_0x160440=_0x36b361(_0x3a17e7(0x6a8),'info',async()=>{const _0x5c767c=_0x3a17e7,_0x115521=await _0x5c4c99,_0x78a5f7=[];for(const _0xe62158 of _0x115521){const _0xde1e8b=_0xa57fc8(_0xe62158,_0x5c767c(0x902));for(const _0x31a54b of _0xde1e8b){const _0x5445d9=_0x40ff6b(_0x31a54b['openingTag']);!_0x5445d9[_0x5c767c(0x3b9)]&&_0x78a5f7['push']({'location':_0x31a54b['file'][_0x5c767c(0x87a)]+':'+_0x31a54b[_0x5c767c(0x397)],'file':_0x31a54b['file']['relPath'],'line':_0x31a54b['line'],'suggestedKey':_0x74bea0(_0x31a54b[_0x5c767c(0x448)]['relPath'])});}}if(_0x78a5f7['length']===0x0){if(_0x5c767c(0x2c5)!==_0x5c767c(0x4bd))return{'ok':!![],'severity':'info','message':_0x5c767c(0x9d7)};else _0x4d70d9=_0x5c767c(0x654);}return{'ok':!![],'severity':_0x5c767c(0x799),'message':_0x78a5f7[_0x5c767c(0x3b7)]+_0x5c767c(0x3c6)+(_0x78a5f7['length']===0x1?'':'s')+'\x20awaiting\x20imageKey\x20assignment\x20('+_0x78a5f7[_0x5c767c(0x86b)](_0x4e9dd9=>_0x4e9dd9['location'])['join'](',\x20')+').','remediation':'Ask\x20the\x20user\x20about\x20each\x20camera\x20screen\x20and\x20use\x20`ceraph_init_replace_camera`\x20to\x20set\x20the\x20imageKey.\x20Three\x20options\x20per\x20camera:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x201024x1024\x20black\x20PNG.\x20Right\x20for\x20tests\x20that\x20don\x27t\x20care\x20about\x20image\x20content\x20(most\x20form/upload\x20flows).\x20(B)\x20imageKey=\x22<scenario>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Drop\x20the\x20file\x20at\x20.ceraph/camera-images/<scenario>.{jpg,png,webp}\x20(use\x20`ceraph_add_camera_image`\x20to\x20write\x20it\x20programmatically)\x20and\x20re-run\x20`rn_sync_camera_registry`.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20multi-image\x20flows\x20where\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime;\x20the\x20shim\x20won\x27t\x20lock\x20the\x20camera\x20to\x20any\x20static\x20key.','details':{'uninitializedCameras':_0x78a5f7}};}),_0x5db645=_0x36b361(_0x3a17e7(0x8f2),_0x3a17e7(0x3dd),async()=>{const _0x3af40a=_0x3a17e7,[_0x305ae6,_0x2ff3de]=await Promise[_0x3af40a(0x2d4)]([_0x50799c,_0x5c4c99]),_0x8de648=new Set(_0x305ae6[_0x3af40a(0x4de)]['map'](_0x7e3027=>_0x7e3027[_0x3af40a(0x88a)])),_0x2a3aa8=[];for(const _0x383c8a of _0x2ff3de){if('aYPXz'==='iPOhk'){try{_0x5b2173();}catch{}_0xb835c6(),this[_0x3af40a(0x34f)]=null;}else{const _0x113d2c=_0xa57fc8(_0x383c8a,_0x3af40a(0x902));for(const _0x21e371 of _0x113d2c){const _0x8386e4=_0x40ff6b(_0x21e371['openingTag']);if(!_0x8386e4[_0x3af40a(0x3b9)])continue;if(_0x8386e4['value']===null)continue;if(_0x8386e4['value']==='default')continue;if(_0x8386e4['value']['startsWith']('@'))continue;!_0x8de648[_0x3af40a(0x979)](_0x8386e4['value'])&&_0x2a3aa8['push']({'location':_0x21e371[_0x3af40a(0x448)]['relPath']+':'+_0x21e371['line'],'key':_0x8386e4['value']});}}}if(_0x2a3aa8[_0x3af40a(0x3b7)]===0x0){if(_0x3af40a(0x38d)!==_0x3af40a(0x59c))return{'ok':!![],'severity':'error','message':_0x3af40a(0x566)};else{for(const _0xf88854 of _0x17b07b)_0x2fc94f(_0xf88854);}}const _0x5dc772=_0x2a3aa8['map'](_0x2db534=>_0x2db534[_0x3af40a(0xab4)]+'\x20(imageKey=\x22'+_0x2db534['key']+'\x22)')['join'](';\x20');return{'ok':![],'severity':'error','message':'Found\x20'+_0x2a3aa8['length']+'\x20orphan\x20imageKey\x20reference(s):\x20'+_0x5dc772+'.','remediation':_0x3af40a(0x877),'details':{'orphans':_0x2a3aa8}};}),_0x15000b=excludeRuntimeChecks?null:_0x2421b3?Promise[_0x3a17e7(0x62d)]({'name':_0x3a17e7(0xa6a),'ok':!![],'severity':_0x3a17e7(0x799),'message':_0x6723cd?'Target:\x20'+_0x6723cd[_0x3a17e7(0xb00)]+'\x20('+_0x6723cd['reason']+_0x3a17e7(0x467)+_0x6723cd[_0x3a17e7(0xa51)]+(_0x6723cd[_0x3a17e7(0x5a2)]?';\x20udid\x20'+_0x6723cd[_0x3a17e7(0x5a2)]:''):_0x3a17e7(0x611),'details':_0x6723cd?{'target':_0x6723cd['target'],'reason':_0x6723cd[_0x3a17e7(0x256)],'baseUrl':_0x6723cd[_0x3a17e7(0xa51)],'udid':_0x6723cd[_0x3a17e7(0x5a2)],'preferenceEnv':process.env.CERAPH_TARGET??null}:void 0x0}):null,_0x41452b=_0x3a17e7(0x5db),_0x18e4d8=_0x3a17e7(0x6d3),_0x1ea35f=_0x6723cd?.[_0x3a17e7(0x441)]??!![],_0x2786f8=_0x1ea35f?_0x6723cd?.['baseUrl']??_0x3a17e7(0xa3c):null;let _0x4bf225,_0x17bc4e;if(excludeRuntimeChecks)_0x4bf225=null,_0x17bc4e=null;else{if(!_0x55a749&&_0x54f6ec['iproxyManager']){const _0x2cd6ba=_0x54f6ec[_0x3a17e7(0x248)],_0x355590=(async()=>{const _0x487a75=_0x3a17e7;let _0x3a2bfa=await _0x483492['isAvailable'](),_0x383cb1,_0x4fea3f=!![],_0x4a71d8,_0x89dbd5;if(_0x3a2bfa)_0x383cb1='WebDriverAgent\x20already\x20reachable\x20—\x20skipped\x20iproxy\x20auto-bridge.';else{if(_0x487a75(0xa95)!=='zKXtl'){const _0x31326e=_0x1f798c['getInitializer']();if(_0x31326e&&_0xdc579e['isArrowFunction'](_0x31326e))return _0x31326e;if(_0x31326e&&_0x1b060d['isFunctionExpression'](_0x31326e))return _0x31326e;}else{const _0x196a8f=await _0x4bde91['getUdid']()['catch'](()=>null);if(!_0x196a8f)_0x487a75(0xa5c)!==_0x487a75(0x9b3)?(_0x4fea3f=![],_0x383cb1='WDA\x20unreachable\x20and\x20no\x20iOS\x20device\x20detected\x20—\x20cannot\x20auto-bridge.',_0x4a71d8='Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20re-run\x20doctor.'):_0x63a674=!![];else{const _0x2a7c85=await _0x2cd6ba[_0x487a75(0x5cf)](_0x196a8f);if(_0x2a7c85['ok'])_0x3a2bfa=await _0x427b5b(()=>_0x483492[_0x487a75(0x3a4)](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x383cb1='iproxy\x20bridge\x20started\x20(pid\x20'+_0x2a7c85['pid']+').',_0x89dbd5={'pid':_0x2a7c85[_0x487a75(0x8e3)],'udid':_0x196a8f};else{if(_0x2a7c85[_0x487a75(0x256)]==='already-running')_0x3a2bfa=await _0x427b5b(()=>_0x483492['isAvailable'](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x383cb1=_0x487a75(0x797);else _0x2a7c85['reason']===_0x487a75(0xacc)?(_0x4fea3f=![],_0x383cb1='iproxy\x20is\x20not\x20installed\x20—\x20cannot\x20auto-bridge\x20WDA.',_0x4a71d8='Install\x20with\x20`brew\x20install\x20libimobiledevice`,\x20then\x20re-run\x20doctor.'):(_0x4fea3f=![],_0x383cb1=_0x487a75(0xae8)+(_0x2a7c85['stderr']?.[0x0]??_0x487a75(0x8b7))+'.',_0x4a71d8=_0x487a75(0x2a0),_0x89dbd5={'stderr':_0x2a7c85[_0x487a75(0x910)]});}}}}const _0xe88dbe={'name':_0x487a75(0x8e9),'ok':_0x4fea3f,'severity':_0x487a75(0x696),'message':_0x383cb1,'remediation':_0x4a71d8,'details':_0x89dbd5},_0x459707=_0x3a2bfa?{'name':'wda-reachable','ok':!![],'severity':_0x487a75(0x3dd),'message':'WebDriverAgent\x20is\x20reachable\x20at\x20'+_0x2786f8+'.'}:{'name':_0x487a75(0x731),'ok':![],'severity':_0x487a75(0x3dd),'message':_0x2786f8?_0x487a75(0x8d6)+_0x2786f8+'.':'WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','remediation':_0x18e4d8};return{'bridge':_0xe88dbe,'wda':_0x459707};})()[_0x3a17e7(0x48b)](_0x3b12cf=>({'bridge':{'name':'iproxy-bridge','ok':![],'severity':_0x3a17e7(0x696),'message':'iproxy\x20auto-bridge\x20threw:\x20'+(_0x3b12cf instanceof Error?_0x3b12cf['message']:String(_0x3b12cf))},'wda':{'name':'wda-reachable','ok':![],'severity':'error','message':'WDA\x20reachability\x20probe\x20threw:\x20'+(_0x3b12cf instanceof Error?_0x3b12cf['message']:String(_0x3b12cf))}}));_0x4bf225=_0x355590['then'](_0x4c7b77=>_0x4c7b77['bridge']),_0x17bc4e=_0x355590[_0x3a17e7(0x9c5)](_0x48559d=>_0x48559d['wda']);}else _0x4bf225=Promise['resolve']({'name':_0x3a17e7(0x8e9),'ok':!![],'severity':'info','message':_0x55a749?_0x3a17e7(0x6da):_0x3a17e7(0x9a3)}),_0x17bc4e=_0x36b361(_0x3a17e7(0x731),_0x3a17e7(0x3dd),async()=>{const _0x118291=_0x3a17e7,_0x36ae75=await _0x483492['isAvailable']();if(_0x36ae75)return{'ok':!![],'severity':'error','message':_0x118291(0x3f9)+_0x2786f8+'.'};return{'ok':![],'severity':'error','message':_0x2786f8?'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x2786f8+'.':'WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','remediation':_0x55a749?_0x41452b:_0x18e4d8};});}const _0xb4a22d=_0x55a749?_0x3a17e7(0x696):_0x3a17e7(0x3dd),_0xa945f0=excludeRuntimeChecks?null:_0x36b361(_0x3a17e7(0x28f),_0xb4a22d,async()=>{const _0x1f9fdf=_0x3a17e7,_0x384185=await _0x4bde91[_0x1f9fdf(0x392)]();if(_0x384185)return{'ok':!![],'severity':_0xb4a22d,'message':_0x1f9fdf(0x432)+_0x384185+').','details':{'udid':_0x384185}};if(_0x55a749)return{'ok':!![],'severity':'info','message':_0x1f9fdf(0x56f)};return{'ok':![],'severity':_0xb4a22d,'message':'No\x20iOS\x20target\x20available.','remediation':_0x1f9fdf(0x7e4)};}),_0x122deb=excludeRuntimeChecks?null:_0x36b361('device-awake',_0x3a17e7(0x3dd),async()=>{const _0x234807=_0x3a17e7,_0x2c6160=await _0x45ff12[_0x234807(0x996)]();if(_0x2c6160['awake'])return{'ok':!![],'severity':_0x234807(0x3dd),'message':'Device\x20is\x20awake\x20(lockState:\x20'+_0x2c6160['lockState']+').','details':{'lockState':_0x2c6160[_0x234807(0x35b)]}};return{'ok':![],'severity':_0x234807(0x3dd),'message':'Device\x20is\x20not\x20awake\x20(lockState:\x20'+_0x2c6160[_0x234807(0x35b)]+').','remediation':_0x2c6160[_0x234807(0x638)]??'Unlock\x20the\x20device\x20manually\x20and\x20set\x20Auto-Lock\x20to\x20Never.','details':{'lockState':_0x2c6160['lockState']}};}),_0x38f1ca=excludeRuntimeChecks?null:Promise['resolve']({'name':_0x3a17e7(0x2d3),'ok':!![],'severity':_0x3a17e7(0x799),'message':_0x3a17e7(0x5a9)}),_0x1e9ee1=excludeRuntimeChecks?null:_0x36b361(_0x3a17e7(0x296),'warning',async()=>{const _0x61e675=_0x3a17e7;if(_0x55a749)return{'ok':!![],'severity':_0x61e675(0x799),'message':_0x61e675(0x58c)};const _0x4f9f26=await _0x2b58ea(_0x61e675(0x91d),['ffmpeg']),_0x20605a=_0x4f9f26['code']===0x0&&_0x4f9f26['stdout']['trim']()['length']>0x0;if(_0x20605a)return{'ok':!![],'severity':'info','message':'ffmpeg\x20available\x20at\x20'+_0x4f9f26[_0x61e675(0x790)][_0x61e675(0x668)]()+'\x20—\x20continuous\x20chain-run\x20video\x20capture\x20is\x20wired.','details':{'path':_0x4f9f26[_0x61e675(0x790)]['trim']()}};return{'ok':![],'severity':_0x61e675(0x696),'message':_0x61e675(0x99c),'remediation':_0x61e675(0x2c8)};}),_0x58770d=excludeRuntimeChecks||!_0x55a749?null:_0x36b361(_0x3a17e7(0xa17),_0x3a17e7(0x3dd),async()=>{const _0x41ba6f=_0x3a17e7,_0x35d439=await ensureAppium(projectDir);if(_0x35d439[_0x41ba6f(0x428)]==='present')return{'ok':!![],'severity':'info','message':_0x41ba6f(0xaea),'details':{'status':_0x35d439['status']}};if(_0x35d439[_0x41ba6f(0x428)]===_0x41ba6f(0x968))return{'ok':!![],'severity':_0x41ba6f(0x799),'message':'Installed\x20appium-webdriveragent\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','details':{'status':_0x35d439['status']}};if(_0x35d439['status']==='skipped-not-needed')return{'ok':!![],'severity':'info','message':_0x41ba6f(0xa06),'details':{'status':_0x35d439['status']}};return{'ok':![],'severity':_0x41ba6f(0x3dd),'message':'Couldn\x27t\x20ensure\x20appium-webdriveragent:\x20'+_0x35d439[_0x41ba6f(0x3dd)],'remediation':'Couldn\x27t\x20auto-install\x20appium-webdriveragent\x20(the\x20optional\x20dep\x20the\x20simulator\x20WebDriverAgent\x20builds\x20from).\x20Install\x20it\x20manually\x20with\x20`npm\x20install\x20-D\x20appium-webdriveragent`\x20(or\x20`pnpm\x20add\x20-D\x20appium-webdriveragent`),\x20then\x20re-run\x20doctor.','details':{'status':_0x35d439['status']}};}),_0x26f8df=excludeRuntimeChecks||!screenRecordingStatus||_0x6723cd?.['target']!==_0x3a17e7(0xad2)?null:_0x36b361(_0x3a17e7(0x393),'warning',async()=>{const _0x4b6919=screenRecordingStatus();if(_0x4b6919==='granted')return{'ok':!![],'severity':'info','message':'Screen\x20Recording\x20granted\x20—\x20session\x20video\x20will\x20record.','details':{'status':_0x4b6919}};const _0x101a76=_0x4b6919==='unverified'?'Screen\x20Recording\x20not\x20yet\x20verified\x20—\x20a\x20macOS\x20dialog\x20appears\x20the\x20first\x20time\x20Ceraph\x20drives\x20the\x20device\x20(click\x20Allow;\x20no\x20Settings\x20navigation\x20needed).\x20Session\x20video\x20only;\x20tests\x20run\x20regardless.':'Screen\x20Recording\x20permission\x20denied\x20—\x20session\x20video\x20won\x27t\x20record\x20(tests\x20run\x20regardless).\x20Click\x20Allow\x20if\x20the\x20dialog\x20reappears,\x20or\x20grant\x20it\x20manually.';return{'ok':![],'severity':'warning','message':_0x101a76,'remediation':_0x85c37a,'details':{'status':_0x4b6919}};}),_0x111ffa=excludeRuntimeChecks?null:_0x5199e0?_0x36b361(_0x3a17e7(0x388),'error',async()=>{const _0x1026a2=_0x3a17e7,_0x9a84b9=await _0x4bde91['listInstalledApps']();if(!_0x9a84b9['success'])return{'ok':![],'severity':'error','message':_0x1026a2(0xb22)+(_0x9a84b9[_0x1026a2(0x3dd)]??'unknown\x20error'),'remediation':'Ensure\x20your\x20device\x20is\x20connected\x20and\x20Xcode\x20is\x20installed\x20(`xcrun\x20devicectl\x20list\x20devices`).'};const _0x2a735d=_0x9a84b9['apps'][_0x1026a2(0x415)](_0x1a708a=>_0x1a708a['bundleId']===_0x5199e0);if(_0x2a735d)return{'ok':!![],'severity':_0x1026a2(0x3dd),'message':_0x1026a2(0x5b6)+_0x5199e0+'\x20is\x20installed\x20('+_0x2a735d[_0x1026a2(0x9e5)]+(_0x2a735d[_0x1026a2(0x332)]?'\x20v'+_0x2a735d[_0x1026a2(0x332)]:'')+').','details':{'bundleId':_0x5199e0,'name':_0x2a735d[_0x1026a2(0x9e5)],'version':_0x2a735d[_0x1026a2(0x332)]}};return{'ok':![],'severity':'error','message':_0x1026a2(0x5b6)+_0x5199e0+_0x1026a2(0x690),'remediation':'Build\x20and\x20install\x20the\x20app:\x20`expo\x20run:ios\x20--device\x20<udid>`\x20or\x20`npx\x20react-native\x20run-ios\x20--udid\x20<udid>`.','details':{'bundleId':_0x5199e0,'installedCount':_0x9a84b9['apps'][_0x1026a2(0x3b7)]}};}):Promise[_0x3a17e7(0x62d)]({'name':'app-installed','ok':!![],'severity':_0x3a17e7(0x799),'message':_0x3a17e7(0x5bd)}),_0x2e1292=excludeRuntimeChecks?null:_0x481bf8&&_0x481bf8['length']>0x0?_0x36b361(_0x3a17e7(0x65f),'error',async()=>{const _0x3efc7e=_0x3a17e7,_0x1dffff=_0x481bf8[_0x3efc7e(0x529)](_0x58a374=>{const _0x3ef9fa=process.env[_0x58a374];return _0x3ef9fa===void 0x0||_0x3ef9fa==='';});if(_0x1dffff[_0x3efc7e(0x3b7)]===0x0)return{'ok':!![],'severity':'error','message':'All\x20'+_0x481bf8[_0x3efc7e(0x3b7)]+_0x3efc7e(0x818),'details':{'required':_0x481bf8}};return{'ok':![],'severity':_0x3efc7e(0x3dd),'message':_0x3efc7e(0x2cb)+_0x1dffff[_0x3efc7e(0x4ec)](',\x20')+'.','remediation':'Set\x20the\x20missing\x20vars\x20before\x20running:\x20'+_0x1dffff[_0x3efc7e(0x86b)](_0x254402=>_0x3efc7e(0x419)+_0x254402+_0x3efc7e(0x8f9))[_0x3efc7e(0x4ec)](';\x20')+'\x20(or\x20add\x20them\x20to\x20.env.local).','details':{'missing':_0x1dffff,'required':_0x481bf8}};}):Promise['resolve']({'name':_0x3a17e7(0x65f),'ok':!![],'severity':'info','message':_0x3a17e7(0x883)}),_0x543128=excludeRuntimeChecks?null:_0x36b361(_0x3a17e7(0xaf6),_0x3a17e7(0x696),async()=>{const _0x29a879=_0x3a17e7,[_0x3c7773,_0x339fb9]=await Promise['all']([_0x28338e(),_0x5b181e()]),_0x11d53c={'ssid':_0x3c7773,'ip':_0x339fb9};if(_0x5d12b9&&_0x3c7773&&_0x3c7773!==_0x5d12b9)return{'ok':![],'severity':'warning','message':'Laptop\x20is\x20on\x20WiFi\x20\x27'+_0x3c7773+_0x29a879(0x520)+(_0x339fb9??'<no\x20IP>')+_0x29a879(0x2e6)+_0x5d12b9+'\x27.','remediation':_0x29a879(0x2fe),'details':_0x11d53c};return{'ok':!![],'severity':'info','message':_0x29a879(0x3de)+(_0x3c7773??'<unknown>')+'\x27\x20at\x20'+(_0x339fb9??_0x29a879(0x9db))+_0x29a879(0x447),'details':_0x11d53c};}),_0x54bb55=excludeRuntimeChecks?null:Promise[_0x3a17e7(0x62d)]({'name':'permission-interceptor-ready','ok':!![],'severity':_0x3a17e7(0x799),'message':_0x3a17e7(0xb01)}),_0x5a1cfd=await Promise[_0x3a17e7(0x2d4)]([_0x1a5fa4,_0x15000b,_0x4bf225,_0x17bc4e,_0xa945f0,_0x122deb,_0x38f1ca,_0x111ffa,_0x2e1292,_0x543128,_0x54bb55,_0x1e9ee1,_0x58770d,_0x26f8df,_0x52dab4,_0x160440,_0x5db645][_0x3a17e7(0x529)](_0x5daedc=>_0x5daedc!==null)),_0x19beb4=!_0x5a1cfd['some'](_0x19521b=>_0x19521b[_0x3a17e7(0x762)]==='error'&&!_0x19521b['ok']),_0x2028a3=_0x5a1cfd['find'](_0x16815c=>_0x16815c[_0x3a17e7(0x9e5)]===_0x3a17e7(0x296));let _0x7c95f3;return _0x2028a3&&(_0x55a749?_0x7c95f3=void 0x0:_0x7c95f3=_0x2028a3['ok']),{'ok':_0x19beb4,'checks':_0x5a1cfd,'ffmpegInstalled':_0x7c95f3};}var _0x34be84=null,_0x39fdce=null;async function _0x20a87a(_0x5a6268){const _0x33b8f0=_0xf8ecb6;if(_0x34be84&&_0x34be84['result']['ok'])return _0x34be84[_0x33b8f0(0x899)];if(_0x39fdce)return'cotgZ'===_0x33b8f0(0x779)?_0x39fdce:!![];return _0x39fdce=_0x5a6268()[_0x33b8f0(0x9c5)](_0x527a3a=>{const _0x292872=_0x33b8f0;if(_0x292872(0x4b3)!==_0x292872(0x4b3)){const _0x271207=_0x2ec821(_0x4959bc,_0x3132b6);if(_0x271207)return _0x271207;}else return _0x34be84={'result':_0x527a3a,'at':Date[_0x292872(0x2f8)]()},_0x39fdce=null,_0x527a3a;},_0x17a5c4=>{_0x39fdce=null;throw _0x17a5c4;}),_0x39fdce;}function _0x17c6c2(_0x521e6a){_0x34be84={'result':_0x521e6a,'at':Date['now']()};}function _0xe3ce9a(_0x1f8f75){const _0x2e245e=_0xf8ecb6;return _0x1f8f75[_0x2e245e(0x9d3)]['filter'](_0x1cf4f1=>{const _0x27d903=_0x2e245e;if(_0x1cf4f1[_0x27d903(0x762)]==='error')return![];if(_0x1cf4f1['severity']===_0x27d903(0x696))return!_0x1cf4f1['ok'];if(_0x1cf4f1['severity']===_0x27d903(0x799))return!_0x1cf4f1['ok']||_0x1cf4f1['remediation']!=null;return![];});}async function _0x21e28d(_0xcf66d9,_0x7e434d={}){const _0x374ea3=_0xf8ecb6,_0x253e73=_0x7e434d[_0x374ea3(0x1ff)]?await((async()=>{const _0x12ba34=await _0xcf66d9();return _0x17c6c2(_0x12ba34),_0x12ba34;})()):await _0x20a87a(_0xcf66d9),_0x1ddb19=_0x253e73['checks']['filter'](_0x229870=>_0x229870[_0x374ea3(0x762)]===_0x374ea3(0x3dd)&&!_0x229870['ok']);if(_0x1ddb19['length']>0x0)return{'kind':'block','response':{'content':[{'type':_0x374ea3(0x3e0),'text':JSON[_0x374ea3(0x312)]({'status':_0x374ea3(0x8dc),'message':'Doctor\x20checks\x20failed.\x20Resolve\x20these\x20before\x20running\x20flows.\x20After\x20fixing,\x20retry\x20—\x20doctor\x20re-runs\x20automatically\x20until\x20it\x20passes.','errors':_0x1ddb19['map'](_0x455bf3=>({'name':_0x455bf3['name'],'message':_0x455bf3['message'],'remediation':_0x455bf3['remediation']})),'hint':'Run\x20`ceraph_doctor`\x20for\x20the\x20full\x20state\x20including\x20warnings\x20+\x20info\x20findings\x20(e.g.\x20camera\x20setup\x20hints).'},null,0x2)}],'isError':!![]}};return{'kind':'pass','advisories':_0xe3ce9a(_0x253e73)};}function _0xd52672(_0x52f6d3){const _0x3dd253=_0xf8ecb6;if(_0x52f6d3[_0x3dd253(0x3b7)]===0x0)return void 0x0;return _0x52f6d3['map'](_0x12b235=>({'name':_0x12b235[_0x3dd253(0x9e5)],'severity':_0x12b235['severity'],'ok':_0x12b235['ok'],'message':_0x12b235[_0x3dd253(0x531)],'remediation':_0x12b235['remediation'],'details':_0x12b235['details']}));}var _0x4b985e=0x1f91,_0x3ffd6e='Could\x20not\x20start\x20WebDriverAgent.\x20For\x20a\x20device:\x20ensure\x20Developer\x20Mode\x20is\x20enabled\x20(Settings\x20>\x20Privacy\x20&\x20Security\x20>\x20Developer\x20Mode),\x20the\x20device\x20is\x20unlocked\x20and\x20trusts\x20this\x20Mac,\x20and\x20it\x27s\x20connected\x20via\x20USB-C.\x20For\x20a\x20simulator:\x20boot\x20one\x20(open\x20-a\x20Simulator).\x20Then\x20call\x20ceraph_start\x20again.';async function _0x382105(_0x5f2360,_0x14b11e={}){const _0xf866bc=_0xf8ecb6,_0xc65176=_0x14b11e['port']??_0x4b985e,_0x4549f5=[],_0x51469c=_0x1416c9=>{const _0x5e8249=_0xc050;if('eyVDt'===_0x5e8249(0x626))_0xb8662d=this['setTimeoutFn'](()=>{const _0x1ffa45=_0x5e8249;try{_0x536985[_0x1ffa45(0x6ee)](_0x1ffa45(0x58f));}catch{}_0x24a2bf();},_0x4e1f44),_0x5dd643?.[_0x5e8249(0x2d6)]?.();else{_0x4549f5['push'](_0x1416c9);if(_0x14b11e['onStep']){if(_0x5e8249(0x5df)===_0x5e8249(0x5df))try{_0x14b11e['onStep'](_0x1416c9);}catch{}else{const _0x16cb0f=_0x2daced();_0x16cb0f[_0x5e8249(0x6b8)](_0x5e8249(0x3dd),_0x565672),_0x16cb0f['listen'](0x0,'127.0.0.1',()=>{const _0x51cbc5=_0x5e8249,_0xcc9f1b=_0x16cb0f['address']();if(_0xcc9f1b&&typeof _0xcc9f1b==='object'){const _0x20a529=_0xcc9f1b[_0x51cbc5(0x21a)];_0x16cb0f['close'](()=>_0x557c82(_0x20a529));}else _0x16cb0f[_0x51cbc5(0x716)](()=>_0x49ce31(new _0x3efee0('failed\x20to\x20bind\x20a\x20free\x20port')));});}}}},_0x570ccd=await _0x5f2360['resolveTarget']()[_0xf866bc(0x48b)](()=>_0xf866bc(0xad2));let _0x1a21e9=![];if(_0x5f2360[_0xf866bc(0x461)]){_0x1a21e9=!![];const _0x54c49d=await _0x5f2360['checkTargetReady']();if(!_0x54c49d['ok'])return _0x51469c({'name':'preflight','status':_0xf866bc(0xa44),'detail':_0x54c49d['detail']}),_0x976e0a(_0x4549f5,_0x570ccd,_0x54c49d['remediation']??'Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac\x20(or\x20boot\x20a\x20simulator),\x20then\x20call\x20ceraph_start\x20again.');}if(_0x5f2360[_0xf866bc(0x707)]){_0x1a21e9=!![];const _0x55a9f5=_0x5f2360['missingRequiredEnv']();if(_0x55a9f5[_0xf866bc(0x3b7)]>0x0)return _0x51469c({'name':'preflight','status':_0xf866bc(0xa44),'detail':_0xf866bc(0x93b)+(_0x55a9f5[_0xf866bc(0x3b7)]===0x1?'':'s')+'\x20not\x20set:\x20'+_0x55a9f5['join'](',\x20')+'.','details':{'missing':_0x55a9f5}}),_0x976e0a(_0x4549f5,_0x570ccd,_0xf866bc(0x8af)+_0x55a9f5[_0xf866bc(0x4ec)](',\x20')+_0xf866bc(0x880));}_0x1a21e9&&_0x51469c({'name':'preflight','status':'ok','detail':_0xf866bc(0xac5)});const _0xf24d77=await _0x5f2360[_0xf866bc(0x2f0)](_0xc65176)[_0xf866bc(0x48b)](()=>![]);if(_0xf24d77)_0x51469c({'name':'metro','status':'up','detail':'Metro\x20is\x20already\x20serving\x20on\x20port\x20'+_0xc65176+'.'});else{const _0x15799e=await _0x5f2360[_0xf866bc(0x1fd)]({'port':_0xc65176});if(!_0x15799e[_0xf866bc(0x6d0)])return _0x51469c({'name':'metro','status':'failed','detail':_0x15799e[_0xf866bc(0x531)]}),_0x976e0a(_0x4549f5,_0x570ccd,_0x15799e[_0xf866bc(0x531)]);_0x51469c({'name':'metro','status':_0xf866bc(0x6db),'detail':_0x15799e[_0xf866bc(0x531)]});}const _0x2130fa=_0x2e16be(_0x5f2360,_0x14b11e),_0x2a7938=_0x5f2360['ensureWda']?_0x5f2360['ensureWda']():Promise[_0xf866bc(0x62d)](null),[_0x689798,_0x38930f]=await Promise[_0xf866bc(0x2d4)]([_0x2130fa,_0x2a7938]);if(_0x689798[_0xf866bc(0xb14)]===_0xf866bc(0xa44))return _0xf866bc(0x881)===_0xf866bc(0x881)?(_0x51469c(_0x689798[_0xf866bc(0x84a)]),_0x976e0a(_0x4549f5,_0x570ccd,_0x689798['nextAction'])):{'success':!![],'matchCount':_0x471e75['length'],'element':_0xda2ab3,'batched':!![]};_0x51469c(_0x689798['step']);if(_0x38930f){if(!_0x38930f['ok'])return'tUiNo'!==_0xf866bc(0xa10)?{'status':_0xf866bc(0x93c),'reason':'existing\x20config\x20at\x20'+_0x48ea4f+'\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20'+(_0x15bb11['isArray'](_0x2b3154)?'array':typeof _0x50d416)+_0xf866bc(0x427)}:(_0x51469c({'name':'wda','status':'failed','detail':_0x38930f[_0xf866bc(0x363)],'details':{'error':_0x38930f[_0xf866bc(0x3dd)]}}),_0x976e0a(_0x4549f5,_0x570ccd,_0x38930f['remediation']??_0x3ffd6e));_0x51469c({'name':'wda','status':_0x38930f['reason']===_0xf866bc(0xaf0)?'up':_0xf866bc(0x6db),'detail':_0x38930f[_0xf866bc(0x363)]});}const _0x4c1c23=await _0x5f2360[_0xf866bc(0x769)]();if(_0x5f2360[_0xf866bc(0x433)])try{_0x5f2360[_0xf866bc(0x433)](_0x4c1c23);}catch{}if(!_0x4c1c23['ok']){const _0xd2b6a6=_0x3d951e(_0x4c1c23['checks']),_0x3ab022=_0x467372(_0xd2b6a6);return _0x51469c({'name':'postflight','status':'failed','detail':'On-device\x20automation\x20isn\x27t\x20ready.\x20'+_0xd2b6a6['length']+_0xf866bc(0x7c3)+(_0xd2b6a6['length']===0x1?'':'s')+_0xf866bc(0x7ff),'details':{'failedChecks':_0xd2b6a6}}),_0x976e0a(_0x4549f5,_0x570ccd,_0x3ab022);}return _0x51469c({'name':'postflight','status':'ok','detail':'On-device\x20automation\x20verified\x20—\x20every\x20postflight\x20check\x20passed.'}),{'ready':!![],'steps':_0x4549f5,'target':_0x570ccd};}async function _0x2e16be(_0x4914fe,_0x5ea0d9){const _0x402cd6=_0xf8ecb6,_0x12d0e5=await _0x4914fe['needsBuild']();let _0x4e757f,_0x1495a6,_0x187033;if(_0x12d0e5[_0x402cd6(0x635)]){const _0x44f324=await _0x4914fe[_0x402cd6(0x537)]({'clean':_0x5ea0d9['clean'],'device':_0x5ea0d9['device']});if(!_0x44f324['success']){const _0x419acd=_0x44f324[_0x402cd6(0x5ac)][0x0]?.['message'];return{'kind':'failed','step':{'name':'build','status':_0x402cd6(0xa44),'detail':_0x419acd??_0x402cd6(0x33c),'details':{'errors':_0x44f324[_0x402cd6(0x5ac)],'output':_0x44f324['output']}},'nextAction':'Fix\x20the\x20native\x20build\x20error\x20above,\x20then\x20call\x20ceraph_start\x20again.'};}_0x4914fe['saveBuildSnapshot']&&await _0x4914fe['saveBuildSnapshot']()[_0x402cd6(0x48b)](()=>{}),_0x187033='built',_0x4e757f=_0x12d0e5[_0x402cd6(0x479)][_0x402cd6(0x3b7)]>0x0?_0x402cd6(0x211)+_0x12d0e5[_0x402cd6(0x479)]['join'](';\x20')+').':_0x402cd6(0x2ac),_0x1495a6=_0x12d0e5[_0x402cd6(0x479)][_0x402cd6(0x3b7)]>0x0?{'reasons':_0x12d0e5[_0x402cd6(0x479)]}:void 0x0;}else _0x187033=_0x402cd6(0x965),_0x4e757f='The\x20installed\x20app\x20is\x20already\x20current\x20—\x20skipped\x20the\x20build.',_0x1495a6=void 0x0;let _0x195a96;if(_0x4914fe['foregroundApp']){const _0x41a7cf=await _0x4914fe[_0x402cd6(0x67b)]()['catch'](_0x348b4c=>({'ok':![],'detail':'Could\x20not\x20foreground\x20the\x20app:\x20'+(_0x348b4c instanceof Error?_0x348b4c[_0x402cd6(0x531)]:String(_0x348b4c))+'.'}));_0x195a96=_0x41a7cf['ok']?'\x20'+_0x41a7cf['detail']:_0x402cd6(0x95a)+_0x41a7cf[_0x402cd6(0x363)]+_0x402cd6(0xa14);}else _0x195a96='';return{'kind':'ok','step':{'name':'build','status':_0x187033,'detail':''+_0x4e757f+_0x195a96,'details':_0x1495a6}};}function _0x976e0a(_0x46ebbc,_0xa1bbcc,_0x158806){return{'ready':![],'steps':_0x46ebbc,'target':_0xa1bbcc,'nextAction':_0x158806};}function _0x3d951e(_0x451715){const _0x3ffd3c=_0xf8ecb6;return _0x451715[_0x3ffd3c(0x529)](_0x16dfb0=>_0x16dfb0[_0x3ffd3c(0x762)]==='error'&&!_0x16dfb0['ok']);}function _0x467372(_0x5cd848){const _0x56f9aa=_0xf8ecb6,_0x7b1dd5=_0x5cd848[0x0];if(!_0x7b1dd5)return _0x56f9aa(0x285);return _0x7b1dd5[_0x56f9aa(0x638)]??_0x7b1dd5[_0x56f9aa(0x531)]??'Re-run\x20`ceraph_doctor`\x20to\x20see\x20what\x27s\x20blocking\x20on-device\x20automation.';}import{join as _0x3a6300}from'path';import{spawn as _0x18fd18}from'child_process';var _0x228f9b=null,_0x191db8=![],_0xf81141=null;function _0x44e369(){const _0x534a5b=_0xf8ecb6;if(process['platform']!=='darwin')return{'applied':![],'reason':'not-darwin'};if(_0x191db8&&_0x228f9b&&!_0x228f9b[_0x534a5b(0x826)])return{'applied':!![],'reason':'already-active'};try{const _0xfed877=_0xf81141??_0x18fd18,_0x59a629=_0xfed877(_0x534a5b(0x9ae),[_0x534a5b(0x359),'-w',String(process[_0x534a5b(0x8e3)])],{'detached':!![],'stdio':'ignore'});typeof _0x59a629[_0x534a5b(0x2d6)]==='function'&&_0x59a629['unref']();_0x228f9b=_0x59a629,_0x191db8=!![];const _0x2d667e=_0x59a629;return _0x59a629['once']('exit',()=>{const _0x4d00ba=_0x534a5b;if('xWajM'==='eXYrf'){if((_0x3aecd3['objectiveSignals']?.['length']??0x0)>0x0){const _0x32fc28=_0x46e430['objectiveSignals'][0x0];return _0x32fc28[_0x4d00ba(0xb14)]+':\x20'+_0x32fc28[_0x4d00ba(0x531)];}for(const _0x35f144 of _0x3dfa33['steps']){if(!_0x35f144['success']){const _0x54a43e=_0x35f144[_0x4d00ba(0x5a0)],_0x1ebaa8=_0x35f144[_0x4d00ba(0x3dd)]??_0x4d00ba(0x6f5);return _0x54a43e+_0x4d00ba(0x252)+_0x1ebaa8;}}return'flow\x20ended\x20without\x20success';}else _0x228f9b===_0x2d667e&&(_0x228f9b=null,_0x191db8=![]);}),{'applied':!![],'reason':'started'};}catch{return{'applied':![],'reason':'spawn-failed'};}}function _0x1fe09d(){const _0xd9e422=_0xf8ecb6;if(!_0x191db8)return;if(_0x228f9b)try{_0x228f9b[_0xd9e422(0x6ee)](_0xd9e422(0x72c));}catch{}_0x228f9b=null,_0x191db8=![];}var _0x36c71a=class{constructor(_0x466f60,_0x41caa4,_0x268e9b){const _0x5b93c2=_0xf8ecb6;this['target']=_0x466f60,this['cacheDir']=_0x41caa4,this[_0x5b93c2(0x9aa)]=_0x268e9b;}[_0xf8ecb6(0x5a3)]=null;[_0xf8ecb6(0x91f)]=null;['inflightChild']=null;['stopGeneration']=0x0;[_0xf8ecb6(0x34f)]=null;['getSession'](){return this['session'];}async[_0xf8ecb6(0x5cf)](_0x33329b={}){const _0x5b63f9=_0xf8ecb6;this[_0x5b63f9(0x34f)]&&await this[_0x5b63f9(0x34f)][_0x5b63f9(0x48b)](()=>void 0x0);if(this[_0x5b63f9(0x5a3)]){const _0x1e2560=this['session']['process']['exitCode']===null,_0x364f97=!_0x33329b['udid']||_0x33329b[_0x5b63f9(0x5a2)]===this['session']['udid'];if(_0x1e2560&&_0x364f97)return{'ok':!![],'port':this[_0x5b63f9(0x5a3)]['port'],'udid':this[_0x5b63f9(0x5a3)]['udid'],'reused':!![],'projectPath':this[_0x5b63f9(0x5a3)]['projectPath']};_0x1e2560&&!_0x364f97?await this['stop']()[_0x5b63f9(0x48b)](()=>void 0x0):(this['session']=null,this[_0x5b63f9(0xb00)]['clearSimulatorWdaPort']());}if(this[_0x5b63f9(0x91f)])return this['inflight'];const _0x1f8631=this[_0x5b63f9(0xa84)],_0x580c0b=((async()=>{const _0x435ae4=_0x5b63f9,_0x59fd08=await _0x3eac78();if(_0x59fd08['length']===0x0)return{'ok':![],'reason':'no-booted-simulator','error':_0x435ae4(0x44c)};let _0x25d40a;if(_0x33329b['udid']){const _0x226590=_0x59fd08['find'](_0x4aa12c=>_0x4aa12c['udid']===_0x33329b[_0x435ae4(0x5a2)]);if(!_0x226590)return{'ok':![],'reason':_0x435ae4(0x2d1),'error':_0x435ae4(0x206)+_0x33329b[_0x435ae4(0x5a2)]+_0x435ae4(0x9df)+_0x59fd08[_0x435ae4(0x86b)](_0x495825=>_0x495825['name']+'\x20('+_0x495825[_0x435ae4(0x5a2)]+')')['join'](',\x20')+'.'};_0x25d40a=_0x226590;}else{if('JuHax'!=='DaulW')_0x25d40a=_0x59fd08[0x0];else{const _0x31652d=_0x49329d?.[_0x435ae4(0x5ac)],_0x37d6d2=_0x54a4b8[_0x435ae4(0x200)](_0x31652d)&&_0x31652d['some'](_0x2248a4=>_0x2248a4?.['code']==='form_identifier_exists');if(_0x37d6d2)throw new _0x3ba345(_0x435ae4(0x869),'Clerk\x20createUser\x20conflict:\x20email\x20already\x20exists',_0x4dbe92);const _0x3e209d=_0x46b9de?.[_0x435ae4(0x531)]??_0x46bfde(_0x3af2bb),_0x671f7a=/already taken|exists|conflict|duplicate/i[_0x435ae4(0x8aa)](_0x3e209d)?'user-exists':_0x435ae4(0x65b);throw new _0x37b2e6(_0x671f7a,_0x435ae4(0x2bf)+_0x3e209d,_0x5e6a1e);}}const _0xc6f36a={'udid':_0x25d40a['udid'],'projectDir':this[_0x435ae4(0x9aa)],'derivedDataPath':_0x33329b['derivedDataPath']??_0x3a6300(this[_0x435ae4(0xa53)],_0x435ae4(0xa85)),'startupTimeoutMs':_0x33329b[_0x435ae4(0xab9)],'onChildSpawned':_0x5b4720=>{const _0x5854f2=_0x435ae4;this[_0x5854f2(0x3ef)]=_0x5b4720;}};let _0x3e7f59;try{_0x3e7f59=await _0x266a61(_0xc6f36a);}finally{this[_0x435ae4(0x3ef)]=null;}if(!_0x3e7f59['ok'])return{'ok':![],'reason':_0x3e7f59['reason'],'error':_0x3e7f59[_0x435ae4(0x3dd)],'output':_0x3e7f59['output']};if(this['stopGeneration']!==_0x1f8631)return await _0x3e7f59[_0x435ae4(0x5a3)]['stop']()[_0x435ae4(0x48b)](()=>void 0x0),{'ok':![],'reason':_0x435ae4(0xa26),'error':_0x435ae4(0x241)};this['session']=_0x3e7f59['session'],this[_0x435ae4(0xb00)]['setSimulatorWdaPort'](_0x3e7f59['session'][_0x435ae4(0x21a)],_0x3e7f59[_0x435ae4(0x5a3)]['udid']);const _0x35b049=_0x3e7f59[_0x435ae4(0x5a3)];_0x35b049[_0x435ae4(0x21b)][_0x435ae4(0x6b8)](_0x435ae4(0x68c),()=>{const _0x4fbc3d=_0x435ae4;if(this['session']===_0x35b049){if('TIEIn'!==_0x4fbc3d(0x6d2)){const _0x2a2445=_0x4ac670['steps'][_0x4fbc3d(0x415)](_0x5930d5=>_0x5930d5[_0x4fbc3d(0x41b)]&&_0x358db0(_0x5930d5[_0x4fbc3d(0x41b)]));if(!_0x2a2445?.['verifyMutation'])return null;const _0x1a355d=_0x1716b9['completed']['map'](_0x2fe9d9=>_0x2fe9d9[_0x4fbc3d(0x8f8)]),_0x47d456=_0x1953a2[_0x4fbc3d(0xa1c)][_0x4fbc3d(0x628)]['slice'](_0x3e785b+0x1)['map']((_0x4cf059,_0x3bbd8d)=>{const _0x2cc18f=_0x4fbc3d,_0x150c0f=_0x6b71ec+0x1+_0x3bbd8d,_0x5d6b56=_0x196ddc[_0x2cc18f(0xa1c)][_0x2cc18f(0x4c0)]?.[_0x150c0f]??[],_0x2563e2=_0x220729[_0x2cc18f(0xa1c)][_0x2cc18f(0xa40)]?.[_0x150c0f],_0x42df06=_0x4115df(_0x4c74a5['accumulatedWriteKeys'],_0x55eeef['accumulatedHasFullyDynamicWrite'],_0x4cf059,_0x5d6b56,_0x1a355d);return{'flow':_0x4cf059['name'],'statedDependencies':_0x5d6b56,..._0x2563e2&&_0x2563e2['length']>0x0?{'mutexWith':_0x2563e2}:{},'staticDecision':_0x42df06};});return{'flow':_0x2fc287['name'],'flowIndex':_0x200afc,'mutation':{'method':_0x2a2445['verifyMutation'][_0x4fbc3d(0x9de)]['toUpperCase'](),'endpoint':_0x2a2445['verifyMutation']['sourceEndpoint'],..._0x2a2445[_0x4fbc3d(0x41b)]['affectedDisplayRoute']?{'affectedDisplayRoute':_0x2a2445[_0x4fbc3d(0x41b)]['affectedDisplayRoute']}:{}},'remainingChain':_0x47d456,'nextFlowStatedDependencies':_0x47d456[0x0]?.['statedDependencies']??[]};}else this['session']=null,this[_0x4fbc3d(0xb00)]['clearSimulatorWdaPort']();}});try{_0x44e369();}catch{}return{'ok':!![],'port':_0x3e7f59['session']['port'],'udid':_0x3e7f59['session']['udid'],'reused':![],'projectPath':_0x3e7f59[_0x435ae4(0x5a3)][_0x435ae4(0x743)]};})());this['inflight']=_0x580c0b;try{return await _0x580c0b;}finally{this['inflight']=null;}}async['stop'](){const _0x2a71f9=_0xf8ecb6;if(this[_0x2a71f9(0x34f)])return await this[_0x2a71f9(0x34f)]['catch'](()=>void 0x0),{'stopped':![]};this['stopGeneration']++;let _0x5439ff;this[_0x2a71f9(0x34f)]=new Promise(_0x1696d4=>{_0x5439ff=_0x1696d4;});try{const _0x106863=this[_0x2a71f9(0x3ef)];this[_0x2a71f9(0x3ef)]=null;if(_0x106863&&_0x106863['exitCode']===null)try{_0x106863[_0x2a71f9(0x6ee)](_0x2a71f9(0x72c));}catch{}this[_0x2a71f9(0x91f)]&&await this['inflight'][_0x2a71f9(0x48b)](()=>void 0x0);if(!this['session'])return{'stopped':![]};const {udid:_0x4e64be,port:_0x45aef7}=this[_0x2a71f9(0x5a3)];try{await this['session']['stop']();}finally{this[_0x2a71f9(0x5a3)]=null,this['target'][_0x2a71f9(0xaf5)]();}return{'stopped':!![],'udid':_0x4e64be,'port':_0x45aef7};}finally{try{_0x1fe09d();}catch{}_0x5439ff(),this[_0x2a71f9(0x34f)]=null;}}};import{spawn as _0x4b1c10}from'child_process';import{readdir as _0x22da67,readFile as _0x1be4e0,stat as _0x524178}from'fs/promises';import{homedir}from'os';import{join as _0x238040}from'path';function _0x7de677(_0x54cef6,_0x46d374,_0x48f743={}){return new Promise(_0x187207=>{const _0x500515=_0xc050;let _0x580cfe='',_0x50ac36='',_0x5f52a5;try{_0x5f52a5=_0x4b1c10(_0x54cef6,_0x46d374,{'stdio':['ignore',_0x500515(0x9e1),_0x500515(0x9e1)]});}catch(_0x23a2db){_0x187207({'code':0x7f,'stdout':'','stderr':_0x23a2db instanceof Error?_0x23a2db[_0x500515(0x531)]:String(_0x23a2db)});return;}let _0x417f3c=![],_0x47228c;const _0x19110c=_0x1d461c=>{if(_0x417f3c)return;_0x417f3c=!![],clearTimeout(_0x47228c),_0x187207(_0x1d461c);};_0x47228c=setTimeout(()=>{const _0x3dc049=_0x500515;try{_0x5f52a5['kill']('SIGKILL');}catch{}_0x19110c({'code':0x7c,'stdout':_0x580cfe,'stderr':_0x50ac36+_0x3dc049(0x226)+(_0x48f743['timeoutMs']??0x1f40)+_0x3dc049(0xaf3)});},_0x48f743[_0x500515(0x2f9)]??0x1f40),_0x5f52a5['stdout']?.['on']('data',_0x16ce74=>{_0x580cfe+=_0x16ce74['toString']();}),_0x5f52a5['stderr']?.['on']('data',_0x67f439=>{const _0x23fb2a=_0x500515;_0x50ac36+=_0x67f439[_0x23fb2a(0xafa)]();}),_0x5f52a5['on']('error',_0x4fb007=>{_0x19110c({'code':0x7f,'stdout':_0x580cfe,'stderr':_0x50ac36+(_0x4fb007['message']??String(_0x4fb007))});}),_0x5f52a5['on'](_0x500515(0x68c),_0xe320c2=>{const _0xa23a73=_0x500515;_0xa23a73(0x822)==='oFwTt'?_0x19110c({'code':_0xe320c2??0x1,'stdout':_0x580cfe,'stderr':_0x50ac36}):_0x22df05=![];});});}async function _0x5504b2(_0x3e8317,_0x188570=0x7d0){const _0x2b0375=_0xf8ecb6,_0x431f57=new AbortController(),_0x4e4c3d=setTimeout(()=>_0x431f57[_0x2b0375(0x95c)](),_0x188570);try{const _0x33c7f7=await fetch(_0x2b0375(0x9f4)+_0x3e8317+_0x2b0375(0xa5d),{'signal':_0x431f57['signal']});return _0x33c7f7['ok'];}catch{return![];}finally{clearTimeout(_0x4e4c3d);}}var _0x1f0e84={'readEnv':_0x2d181a=>process.env[_0x2d181a],'homeDir':()=>homedir(),'pathExists':async _0x3ea2ea=>{try{return await _0x524178(_0x3ea2ea),!![];}catch{return![];}},'listDir':async _0x1cff15=>{const _0x3dfe32=_0xf8ecb6;try{return _0x3dfe32(0x362)!=='dgVdj'?{'path':_0x1bc3ad,'status':'no-changes'}:await _0x22da67(_0x1cff15);}catch{return[];}},'readFileUtf8':async _0x402b7c=>{const _0x39e45c=_0xf8ecb6;try{return await _0x1be4e0(_0x402b7c,_0x39e45c(0x827));}catch{return null;}},'mtimeMs':async _0x20c254=>{const _0x1d0fd1=_0xf8ecb6;try{const _0x522b62=await _0x524178(_0x20c254);return _0x522b62[_0x1d0fd1(0x398)];}catch{return 0x0;}},'run':(_0x3d6a81,_0x1208f5,_0x24e3ae)=>_0x7de677(_0x3d6a81,_0x1208f5,{'timeoutMs':_0x24e3ae}),'probeStatus':_0x5504b2,'spawn':_0x4b1c10},_0xbdd983=0x1fa4;async function _0x155cce(_0x3b4be9=_0x1f0e84){const _0x812fbb=_0xf8ecb6,_0x1db328=_0x3b4be9[_0x812fbb(0x646)](_0x812fbb(0x5cb))?.['trim']();if(_0x1db328&&await _0x3b4be9['pathExists'](_0x1db328))return{'ok':!![],'projectPath':_0x1db328,'source':_0x812fbb(0x52a)};const _0x46e087=await _0x3178fc(_0x3b4be9);if(_0x46e087)return{'ok':!![],'projectPath':_0x46e087,'source':_0x812fbb(0x203)};const _0x2d3d3a=_0x238040(_0x3b4be9['homeDir'](),_0x812fbb(0x8be),'WebDriverAgent',_0x812fbb(0x3d3));if(await _0x3b4be9['pathExists'](_0x2d3d3a))return{'ok':!![],'projectPath':_0x2d3d3a,'source':_0x812fbb(0x9ed)};return{'ok':![],'remediation':_0x812fbb(0x96c)};}async function _0x3178fc(_0x154861){const _0x1914ca=_0xf8ecb6,_0x44e9e0=_0x238040(_0x154861[_0x1914ca(0x93d)](),_0x1914ca(0x957),'Developer','Xcode','DerivedData'),_0x5665d9=await _0x154861[_0x1914ca(0x77a)](_0x44e9e0),_0x21e151=_0x5665d9['filter'](_0xcc96a=>_0xcc96a['startsWith'](_0x1914ca(0x712)));if(_0x21e151['length']===0x0)return null;const _0x3e05eb=await Promise[_0x1914ca(0x2d4)](_0x21e151['map'](async _0x410db2=>{const _0x373627=_0x1914ca,_0x3b0e4d=_0x238040(_0x44e9e0,_0x410db2);return{'dir':_0x3b0e4d,'mtime':await _0x154861[_0x373627(0x398)](_0x3b0e4d)};}));_0x3e05eb['sort']((_0xdc9ed4,_0x565959)=>_0x565959[_0x1914ca(0x8bb)]-_0xdc9ed4[_0x1914ca(0x8bb)]);for(const {dir:_0x23a27a}of _0x3e05eb){const _0x419a8=_0x238040(_0x23a27a,'info.plist'),_0xb6ebe5=await _0x154861[_0x1914ca(0x5e6)](_0x419a8);if(!_0xb6ebe5)continue;const _0x454d39=_0x3e10c4(_0xb6ebe5);if(!_0x454d39)continue;if(await _0x154861['pathExists'](_0x454d39))return _0x454d39;}return null;}function _0x3e10c4(_0x4d4255){const _0x3849d8=_0xf8ecb6,_0x2bf7f6=/<key>\s*WorkspacePath\s*<\/key>\s*<string>([\s\S]*?)<\/string>/,_0x544b5d=_0x2bf7f6['exec'](_0x4d4255);if(!_0x544b5d)return null;const _0x354db1=_0x544b5d[0x1][_0x3849d8(0x668)]();return _0x354db1['length']>0x0?_0x11145e(_0x354db1):null;}function _0x11145e(_0x565a87){const _0x7639a6=_0xf8ecb6;return _0x565a87[_0x7639a6(0x42e)](/&amp;/g,'&')['replace'](/&lt;/g,'<')[_0x7639a6(0x42e)](/&gt;/g,'>')[_0x7639a6(0x42e)](/&apos;/g,'\x27')['replace'](/&quot;/g,'\x22');}async function _0x1b6966(_0x472f4f,_0x492871=_0x1f0e84){const _0x1aa468=_0xf8ecb6,_0x3a4946=_0x492871[_0x1aa468(0x646)]('CERAPH_DEVICE_HARDWARE_UDID')?.['trim']();if(_0x3a4946)return _0x44442b(_0x3a4946)??_0x3a4946;const _0x2c3773=await _0x12d183(_0x492871);if(_0x2c3773)return _0x2c3773;const _0x5a9fc7=await _0x5ebd9e(_0x492871);if(_0x5a9fc7)return _0x5a9fc7;const _0x425a8a=await _0x285f08(_0x492871);if(_0x425a8a)return _0x425a8a;return _0x44442b(_0x472f4f);}function _0x44442b(_0x3c7072){const _0x3839ca=_0xf8ecb6;if(!_0x3c7072)return null;const _0x4fdc98=_0x3c7072['trim']();if(/^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{16}$/[_0x3839ca(0x8aa)](_0x4fdc98))return _0x4fdc98;if(/^[0-9A-Fa-f]{24}$/[_0x3839ca(0x8aa)](_0x4fdc98))return _0x4fdc98[_0x3839ca(0x795)](0x0,0x8)+'-'+_0x4fdc98['slice'](0x8);if(/^[0-9A-Fa-f]{40}$/[_0x3839ca(0x8aa)](_0x4fdc98))return _0x4fdc98;return null;}async function _0x5ebd9e(_0x50fcb9){const _0x8eaea5=_0xf8ecb6;for(const _0xd8de5b of[_0x8eaea5(0x404),'iPad']){const _0x5a8bd7=await _0x50fcb9['run'](_0x8eaea5(0x2ed),['-p',_0x8eaea5(0x443),'-r','-n',_0xd8de5b,'-l',_0x8eaea5(0x2ef)],0x1f40);if(_0x5a8bd7[_0x8eaea5(0x3aa)]!==0x0||!_0x5a8bd7['stdout']['trim']())continue;const _0x305243=_0x5a8bd7['stdout']['match'](/"USB Serial Number"\s*=\s*"([0-9A-Fa-f]{20,})"/),_0x564283=_0x44442b(_0x305243?.[0x1]??null);if(_0x564283)return _0x564283;}return null;}async function _0x285f08(_0x336a4e){const _0x34feaf=_0xf8ecb6,_0x12e607=await _0x336a4e[_0x34feaf(0x7f0)]('xcrun',[_0x34feaf(0x83d),_0x34feaf(0x5d6),'devices'],0x3a98);if(_0x12e607['code']!==0x0||!_0x12e607['stdout'][_0x34feaf(0x668)]())return null;for(const _0x13f902 of _0x12e607['stdout'][_0x34feaf(0x51a)]('\x0a')){if(/^==\s*Simulators/i['test'](_0x13f902))break;if(/simulator/i[_0x34feaf(0x8aa)](_0x13f902))continue;const _0x505b77=_0x13f902[_0x34feaf(0x2f3)](/\(([0-9A-Fa-f]{8}-[0-9A-Fa-f]{16}|[0-9A-Fa-f]{40})\)\s*$/),_0x39549d=_0x44442b(_0x505b77?.[0x1]??null);if(_0x39549d)return _0x39549d;}return null;}async function _0x12d183(_0x199dd0){const _0x58f240=_0xf8ecb6,_0x4fde2b=await _0x199dd0[_0x58f240(0x7f0)](_0x58f240(0x1fb),['SPUSBDataType',_0x58f240(0x9b2)],0x1f40);if(_0x4fde2b['code']!==0x0||!_0x4fde2b[_0x58f240(0x790)][_0x58f240(0x668)]())return null;try{const _0x55bf48=JSON['parse'](_0x4fde2b[_0x58f240(0x790)]);return _0x44442b(_0x4bba0d(_0x55bf48['SPUSBDataType']));}catch{return null;}}function _0x4bba0d(_0x3d3112){const _0x3b19b3=_0xf8ecb6;if(_0x3d3112===null||_0x3d3112===void 0x0)return null;if(Array['isArray'](_0x3d3112)){for(const _0x426793 of _0x3d3112){const _0x105be6=_0x4bba0d(_0x426793);if(_0x105be6)return _0x105be6;}return null;}if(typeof _0x3d3112!==_0x3b19b3(0x9e3))return null;const _0x5d450b=_0x3d3112,_0x2bf277=typeof _0x5d450b[_0x3b19b3(0x68d)]==='string'?_0x5d450b['_name']:'',_0xae2d41=_0x5d450b['serial_num'],_0x5ce9d8=/iphone|ipad/i['test'](_0x2bf277);if(_0x5ce9d8&&typeof _0xae2d41===_0x3b19b3(0x30d)&&/^[0-9A-Fa-f-]{20,}$/[_0x3b19b3(0x8aa)](_0xae2d41))return _0xae2d41;for(const _0xa82a7e of Object['values'](_0x5d450b)){if(Array['isArray'](_0xa82a7e)||typeof _0xa82a7e===_0x3b19b3(0x9e3)&&_0xa82a7e!==null){const _0x3c6e83=_0x4bba0d(_0xa82a7e);if(_0x3c6e83)return _0x3c6e83;}}return null;}function _0x5b780a(_0x334314){const _0x436fc2=_0xf8ecb6,_0xd21ae3=[_0x436fc2(0x8aa),_0x436fc2(0x919),_0x334314['projectPath'],'-scheme','WebDriverAgentRunner','-destination','id='+_0x334314[_0x436fc2(0x4e8)]];return _0x334314[_0x436fc2(0x69b)]&&_0xd21ae3[_0x436fc2(0x4d1)](_0x436fc2(0x65a),_0x334314['derivedDataPath']),_0xd21ae3;}function _0x3df849(_0x38f7b6){const _0x183902=_0xf8ecb6,_0x25200d=_0x38f7b6['toLowerCase']();if(_0x25200d['includes'](_0x183902(0x5e2))||_0x25200d[_0x183902(0x27e)]('failed\x20to\x20initialize\x20for\x20ui\x20testing'))return{'summary':_0x183902(0x770),'remediation':'This\x20happens\x20when\x20the\x20iPhone\x20is\x20asleep/locked\x20when\x20the\x20test\x20runner\x20starts,\x20OR\x20the\x20WebDriverAgentRunner\x20isn\x27t\x20trusted\x20yet.\x20First:\x20unlock\x20the\x20device\x20and\x20keep\x20it\x20awake\x20(set\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never),\x20then\x20retry.\x20If\x20it\x20still\x20fails,\x20establish\x20trust\x20once:\x20open\x20~/.mobile-mcp/WebDriverAgent/WebDriverAgent.xcodeproj\x20in\x20Xcode,\x20Run\x20the\x20WebDriverAgentRunner\x20scheme\x20on\x20the\x20iPhone,\x20accept\x20the\x20trust\x20prompt\x20(and\x20Settings\x20→\x20General\x20→\x20VPN\x20&\x20Device\x20Management).\x20After\x20that\x20the\x20cached\x20authentication\x20is\x20reused.'};if(_0x25200d[_0x183902(0x27e)]('requires\x20a\x20development\x20team')||_0x25200d[_0x183902(0x27e)](_0x183902(0x4f6))||_0x25200d['includes']('code\x20signing\x20error')||_0x25200d['includes']('code\x20sign\x20error')||_0x25200d[_0x183902(0x27e)](_0x183902(0x3ac))||_0x25200d[_0x183902(0x27e)](_0x183902(0x5d1))||_0x25200d['includes']('no\x20profiles\x20for')||_0x25200d[_0x183902(0x27e)]('no\x20provisioning\x20profile')||_0x25200d[_0x183902(0x27e)]('requires\x20a\x20provisioning\x20profile')||_0x25200d['includes']('failed\x20to\x20create\x20provisioning\x20profile')||_0x25200d['includes']('doesn\x27t\x20include\x20a\x20valid\x20provisioning'))return{'summary':_0x183902(0x7b6),'remediation':_0x183902(0x6c3)};if(_0x25200d['includes']('could\x20not\x20locate\x20device\x20support')||_0x25200d[_0x183902(0x27e)](_0x183902(0x958))||_0x25200d['includes']('preparing\x20the\x20device')||_0x25200d[_0x183902(0x27e)](_0x183902(0xa9d)))return{'summary':_0x183902(0xae6),'remediation':_0x183902(0xaa7)};if(_0x25200d[_0x183902(0x27e)]('developer\x20mode'))return{'summary':'Developer\x20Mode\x20is\x20disabled\x20on\x20the\x20device','remediation':_0x183902(0x6cb)};if(_0x25200d[_0x183902(0x27e)](_0x183902(0x676))||_0x25200d['includes'](_0x183902(0x2a3))||_0x25200d['includes'](_0x183902(0x406)))return{'summary':_0x183902(0x487),'remediation':_0x183902(0x6f6)};if(_0x25200d['includes'](_0x183902(0x3cf)))return{'summary':_0x183902(0x8db),'remediation':'Usually\x20the\x20device\x20slept/locked\x20mid-build.\x20Unlock\x20it,\x20set\x20Auto-Lock\x20to\x20Never,\x20and\x20retry.'};return null;}var _0x482f2a=class{constructor(_0x546508=_0x1f0e84){const _0x408739=_0xf8ecb6;this[_0x408739(0x7af)]=_0x546508;}['child']=null;[_0xf8ecb6(0x743)]=null;['inflight']=null;[_0xf8ecb6(0x21a)]=_0xbdd983;['isRunning'](){const _0x306f03=_0xf8ecb6;return this['child']!==null&&this['child'][_0x306f03(0x2c3)]===null;}[_0xf8ecb6(0xa51)](){const _0x487339=_0xf8ecb6;return _0x487339(0x9f4)+this[_0x487339(0x21a)];}async['start'](_0x4da634={}){const _0x41a8ff=_0xf8ecb6;if(this[_0x41a8ff(0x91f)])return this[_0x41a8ff(0x91f)];const _0x58911d=this[_0x41a8ff(0x376)](_0x4da634);this[_0x41a8ff(0x91f)]=_0x58911d;try{return await _0x58911d;}finally{this['inflight']=null;}}async['startInner'](_0x4e5950){const _0x4700dd=_0xf8ecb6;if(await this[_0x4700dd(0x7af)][_0x4700dd(0x585)](this[_0x4700dd(0x21a)],0x7d0))return{'ok':!![],'reason':_0x4700dd(0xaf0),'baseUrl':this[_0x4700dd(0xa51)](),'port':this['port'],'projectPath':this['projectPath']??void 0x0};const _0x17371f=await _0x155cce(this[_0x4700dd(0x7af)]);if(!_0x17371f['ok'])return{'ok':![],'reason':_0x4700dd(0x8a4),'error':_0x17371f['remediation']};const _0x2316af=await _0x1b6966(_0x4e5950[_0x4700dd(0xa8a)]??null,this['deps']);if(!_0x2316af)return{'ok':![],'reason':_0x4700dd(0xb18),'error':'Could\x20not\x20resolve\x20the\x20device\x20hardware\x20UDID\x20for\x20the\x20xcodebuild\x20destination.\x20Plug\x20in\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20retry.\x20To\x20pin\x20it\x20explicitly,\x20set\x20CERAPH_DEVICE_HARDWARE_UDID\x20to\x20the\x20device\x20UDID\x20(the\x20value\x20`iproxy\x20-u`\x20uses,\x20e.g.\x2000008140-001958943A78801C\x20—\x20NOT\x20the\x20CoreDevice\x20id\x20devicectl\x20prints).'};const _0x10dfd7=await this['deps']['run'](_0x4700dd(0x91d),[_0x4700dd(0x7b8)],0xfa0);if(_0x10dfd7['code']!==0x0||_0x10dfd7['stdout'][_0x4700dd(0x668)]()[_0x4700dd(0x3b7)]===0x0)return{'ok':![],'reason':_0x4700dd(0x495),'error':_0x4700dd(0x7a5)};const _0x11ffce=_0x5b780a({'projectPath':_0x17371f[_0x4700dd(0x743)],'hardwareUdid':_0x2316af,'derivedDataPath':_0x4e5950['derivedDataPath']});let _0x501997='';const _0x46f89d=_0x1f6a22=>{const _0x23d468=_0x4700dd;_0x501997+=_0x1f6a22[_0x23d468(0xafa)](),_0x501997['length']>0x5dc0&&(_0x501997=_0x501997[_0x23d468(0x795)](-0x5dc0));};let _0x56cd86;try{_0x56cd86=this['deps'][_0x4700dd(0x21d)](_0x4700dd(0x7b8),_0x11ffce,{'stdio':[_0x4700dd(0x9fa),_0x4700dd(0x9e1),_0x4700dd(0x9e1)]});}catch(_0x25aa29){return{'ok':![],'reason':'xcodebuild-spawn-failed','error':'Failed\x20to\x20spawn\x20xcodebuild:\x20'+(_0x25aa29 instanceof Error?_0x25aa29['message']:String(_0x25aa29))};}this['child']=_0x56cd86,this[_0x4700dd(0x743)]=_0x17371f['projectPath'],_0x56cd86[_0x4700dd(0x790)]?.['on'](_0x4700dd(0x78f),_0x46f89d),_0x56cd86[_0x4700dd(0x910)]?.['on'](_0x4700dd(0x78f),_0x46f89d);const _0x2d0f93=_0x4e5950['readinessTimeoutMs']??0x15f90,_0x5b450a=_0x4e5950[_0x4700dd(0x82b)]??0x3e8,_0x36b8c0=Date[_0x4700dd(0x2f8)]()+_0x2d0f93;let _0x1a3cdc=![];_0x56cd86[_0x4700dd(0x6b8)]('exit',()=>{if(this['child']===_0x56cd86)this['child']=null;_0x1a3cdc=!![];});while(Date[_0x4700dd(0x2f8)]()<_0x36b8c0){if(_0x1a3cdc)break;const _0x431550=await this['deps']['probeStatus'](this[_0x4700dd(0x21a)],0x7d0);if(_0x1a3cdc)break;if(_0x431550)return{'ok':!![],'reason':'started','baseUrl':this['baseUrl'](),'port':this[_0x4700dd(0x21a)],'projectPath':_0x17371f[_0x4700dd(0x743)],'hardwareUdid':_0x2316af};await new Promise(_0x55016e=>setTimeout(_0x55016e,_0x5b450a));}await this['stop']()[_0x4700dd(0x48b)](()=>void 0x0);const _0x55be1f=_0x3df849(_0x501997);if(_0x55be1f)return{'ok':![],'reason':_0x4700dd(0x20a),'error':'WebDriverAgent\x20could\x20not\x20start\x20—\x20'+_0x55be1f['summary']+'.','remediation':_0x55be1f[_0x4700dd(0x638)]};return{'ok':![],'reason':'wda-not-ready','error':_0x1a3cdc?_0x4700dd(0x7a7):'WebDriverAgent\x20did\x20not\x20become\x20reachable\x20on\x20:8100\x20within\x20'+_0x2d0f93+'ms.\x20If\x20this\x20is\x20the\x20first\x20relaunch\x20since\x20a\x20reboot\x20it\x20may\x20just\x20be\x20slow\x20—\x20retry.\x20Otherwise\x20check\x20the\x20device\x20is\x20unlocked\x20and\x20the\x20WDA\x20runner\x20is\x20signed\x20for\x20it.'};}async['stop'](){const _0x937101=_0xf8ecb6,_0x4ab56b=this[_0x937101(0x618)];this['child']=null;if(!_0x4ab56b||_0x4ab56b[_0x937101(0x2c3)]!==null)return{'stopped':![]};try{_0x4ab56b[_0x937101(0x6ee)]('SIGTERM');}catch{return{'stopped':![]};}return await new Promise(_0x2e7f0f=>{const _0x50b7b2=_0x937101;let _0x3657b1=![],_0x854996=null,_0x360119=null;const _0x4cd44b=()=>{if(_0x3657b1)return;_0x3657b1=!![];if(_0x854996)clearTimeout(_0x854996);if(_0x360119)clearTimeout(_0x360119);_0x2e7f0f();};_0x4ab56b['once'](_0x50b7b2(0x68c),_0x4cd44b);if(_0x4ab56b[_0x50b7b2(0x2c3)]!==null){_0x4ab56b[_0x50b7b2(0x411)]('exit',_0x4cd44b),_0x4cd44b();return;}_0x854996=setTimeout(()=>{const _0xbfd621=_0x50b7b2;if(_0x3657b1)return;try{_0x4ab56b['kill'](_0xbfd621(0x58f));}catch{}_0x360119=setTimeout(()=>{const _0x6acab3=_0xbfd621;if(_0x3657b1)return;_0x4ab56b[_0x6acab3(0x411)](_0x6acab3(0x68c),_0x4cd44b),_0x4cd44b();},0x7d0);},0x1388);}),{'stopped':!![]};}};import{spawn as _0x255eff}from'child_process';import*as _0x512d38 from'net';import*as _0x4a2514 from'plist';async function _0x6aefce(_0x484863,_0x3841d8,_0x623b15=0x3a98){return new Promise(_0x47fe88=>{const _0x367da1=_0xc050;if('DAZhk'!=='DAZhk'){if(typeof _0x59355a!=='string'||!_0xf24573(_0x34b1a6))return![];if(typeof _0x592ff0!=='object'||_0x4493b6===null||_0x167d0f[_0x367da1(0x200)](_0x185865))return![];for(const [_0xce086a]of _0x4380ae[_0x367da1(0x42a)](_0xf38fe9)){if(typeof _0xce086a!=='string'||!_0x3b94be(_0xce086a))return![];}}else{let _0x9e7001='',_0x517eef='',_0x546266;try{_0x546266=_0x255eff(_0x484863,_0x3841d8,{'stdio':['ignore',_0x367da1(0x9e1),'pipe']});}catch(_0x18736e){_0x47fe88({'code':0x7f,'stdout':'','stderr':_0x18736e instanceof Error?_0x18736e['message']:String(_0x18736e)});return;}const _0x2be74e=setTimeout(()=>{const _0xf6b563=_0x367da1;try{_0x546266[_0xf6b563(0x6ee)]('SIGKILL');}catch{}},_0x623b15);_0x546266['stdout']?.['on'](_0x367da1(0x78f),_0x2024a5=>{_0x9e7001+=_0x2024a5['toString']();}),_0x546266['stderr']?.['on']('data',_0x426ed3=>{_0x517eef+=_0x426ed3['toString']();});let _0x29c5d6=![];_0x546266['on'](_0x367da1(0x3dd),_0x3dd71b=>{const _0x4fc7d7=_0x367da1;if(_0x29c5d6)return;_0x29c5d6=!![],clearTimeout(_0x2be74e),_0x47fe88({'code':0x7f,'stdout':_0x9e7001,'stderr':_0x517eef+(_0x3dd71b[_0x4fc7d7(0x531)]??String(_0x3dd71b))});}),_0x546266['on'](_0x367da1(0x68c),_0x2b6424=>{if(_0x29c5d6)return;_0x29c5d6=!![],clearTimeout(_0x2be74e),_0x47fe88({'code':_0x2b6424??0x1,'stdout':_0x9e7001,'stderr':_0x517eef});});}});}function _0x4b361e(_0x37ed2f,_0x331543){return new Promise((_0x50693d,_0xba8773)=>{const _0x813302=_0xc050;if(_0x331543?.[_0x813302(0x652)]){_0xba8773(new Error('aborted'));return;}const _0x1cb953=setTimeout(()=>{const _0x43e3e8=_0x813302;if(_0x43e3e8(0x706)==='VQBcW'){if(_0x39e9ad)return;_0x36a636=!![];if(_0x5e6ded)_0x17bfc3(_0xdc0505);if(_0x531893)_0x2e3793(_0x3985f0);_0x249b53();}else _0x331543?.[_0x43e3e8(0x3e6)]('abort',_0x91e2ed),_0x50693d();},_0x37ed2f),_0x91e2ed=()=>{const _0x15d7a6=_0x813302;if('RmhXy'==='RmhXy')clearTimeout(_0x1cb953),_0x331543?.[_0x15d7a6(0x3e6)]('abort',_0x91e2ed),_0xba8773(new Error('aborted'));else throw new _0x377e50(_0x15d7a6(0x852));};_0x331543?.[_0x813302(0x86f)](_0x813302(0x95c),_0x91e2ed,{'once':!![]});});}function _0x53efb2(){return new Promise((_0x30ead2,_0xa4d7bb)=>{const _0x299ff9=_0xc050,_0x5bd0ee=_0x512d38['createConnection'](_0x299ff9(0x263));let _0x498de5=![];_0x5bd0ee[_0x299ff9(0x6b8)](_0x299ff9(0x4eb),()=>{const _0x448a89=_0x299ff9;if(_0x498de5)return;_0x498de5=!![],_0x5bd0ee[_0x448a89(0x5fb)](_0x448a89(0x3dd),_0x27b811),_0x30ead2(_0x5bd0ee);});const _0x27b811=_0x5ae780=>{if(_0x498de5)return;_0x498de5=!![];try{_0x5bd0ee['destroy']();}catch{}_0xa4d7bb(_0x5ae780);};_0x5bd0ee[_0x299ff9(0x6b8)](_0x299ff9(0x3dd),_0x27b811);});}var _0x34394b={'runner':_0x6aefce,'sleep':_0x4b361e,'now':()=>Date['now'](),'openSocket':_0x53efb2},_0x3f7957=0x1,_0x2f16d4=0x8,_0x581038=0x10;function _0xa065e6(_0x965fc=0x1){const _0x3575e9=_0xf8ecb6,_0x381552=_0x4a2514[_0x3575e9(0xb1a)]({'MessageType':_0x3575e9(0x837),'ClientVersionString':'ceraph-react-native-mcp','ProgName':_0x3575e9(0xacd),'kLibUSBMuxVersion':0x3}),_0x8aad8e=Buffer[_0x3575e9(0x56c)](_0x381552,_0x3575e9(0x483)),_0x1cd434=Buffer[_0x3575e9(0x202)](_0x581038);return _0x1cd434['writeUInt32LE'](_0x581038+_0x8aad8e[_0x3575e9(0x3b7)],0x0),_0x1cd434['writeUInt32LE'](_0x3f7957,0x4),_0x1cd434[_0x3575e9(0xaaf)](_0x2f16d4,0x8),_0x1cd434['writeUInt32LE'](_0x965fc,0xc),Buffer['concat']([_0x1cd434,_0x8aad8e]);}var _0xba521c=class{['buf']=Buffer[_0xf8ecb6(0x202)](0x0);[_0xf8ecb6(0x974)](_0x12c8b9){const _0x477984=_0xf8ecb6;this['buf']=this['buf'][_0x477984(0x3b7)]===0x0?_0x12c8b9:Buffer[_0x477984(0x6b1)]([this[_0x477984(0x3dc)],_0x12c8b9]);const _0xd45e29=[];while(this[_0x477984(0x3dc)][_0x477984(0x3b7)]>=_0x581038){const _0x3ac15a=this[_0x477984(0x3dc)]['readUInt32LE'](0x0);if(_0x3ac15a<_0x581038||_0x3ac15a>0x100000)return this[_0x477984(0x3dc)]=Buffer['alloc'](0x0),_0xd45e29;if(this['buf'][_0x477984(0x3b7)]<_0x3ac15a)return _0xd45e29;const _0x737b1=this['buf'][_0x477984(0x8fa)](_0x581038,_0x3ac15a);this[_0x477984(0x3dc)]=this['buf']['subarray'](_0x3ac15a);const _0x2286d8=_0x5cefa3(_0x737b1);if(_0x2286d8)_0xd45e29[_0x477984(0x4d1)]({'payload':_0x2286d8});}return _0xd45e29;}};function _0x5cefa3(_0x46fcfd){const _0x337e6c=_0xf8ecb6;try{const _0x59fab4=_0x46fcfd['toString'](_0x337e6c(0x483)),_0x3755f0=_0x4a2514[_0x337e6c(0x981)](_0x59fab4);if(_0x3755f0&&typeof _0x3755f0==='object'&&!Array['isArray'](_0x3755f0))return _0x3755f0;return null;}catch{return _0x337e6c(0x636)!=='lnpEo'?null:'\x20\x20'+_0x5ae4ce+'\x0a';}}function _0x4aa1c9(_0x6b4e1b){const _0x41dd88=_0xf8ecb6,_0x51ce53=_0x6b4e1b[_0x41dd88(0x899)]?.['devices']??[];if(_0x51ce53['length']===0x0)return null;const _0x48af66=_0x56d7a0=>(_0x56d7a0[_0x41dd88(0x47b)]?.[_0x41dd88(0x729)]?.['toLowerCase']()??'')[_0x41dd88(0x27e)]('ios'),_0x53f587=_0x51ce53['find'](_0x4bb8a2=>{const _0x2e855b=_0x41dd88,_0x462f53=_0x4bb8a2[_0x2e855b(0x8ad)]?.['tunnelState']?.[_0x2e855b(0x5b5)]()??'';return _0x48af66(_0x4bb8a2)&&_0x462f53==='connected';}),_0x4e6aa9=_0x53f587??_0x51ce53[_0x41dd88(0x415)](_0x48af66);if(!_0x4e6aa9?.[_0x41dd88(0x9c9)])return null;return{'udid':_0x4e6aa9[_0x41dd88(0x9c9)],'name':_0x4e6aa9['deviceProperties']?.[_0x41dd88(0x9e5)]??_0x4e6aa9['identifier']};}async function _0x3959c5(_0x247bce){const _0x2db255=_0xf8ecb6,_0x4807f3=await _0x247bce['runner']('xcrun',['devicectl','list',_0x2db255(0x6e2),'--json-output','-'],0x1f40);if(_0x4807f3[_0x2db255(0x3aa)]!==0x0)return null;try{const _0x35508d=JSON['parse'](_0x4807f3[_0x2db255(0x790)]);return _0x4aa1c9(_0x35508d);}catch{return null;}}function _0x39d2de(_0x2506bb){const _0x3547a6=_0xf8ecb6;if(_0x2506bb[_0x3547a6(0x70a)]!=='Attached')return null;const _0x5c343f=_0x2506bb[_0x3547a6(0x48a)];if(!_0x5c343f||typeof _0x5c343f!=='object')return null;const _0x279182=_0x5c343f['SerialNumber'];if(typeof _0x279182!==_0x3547a6(0x30d)||_0x279182[_0x3547a6(0x3b7)]===0x0)return null;const _0x23cee6=_0x5c343f['DeviceName'],_0x3952cd=typeof _0x23cee6==='string'&&_0x23cee6[_0x3547a6(0x3b7)]>0x0?_0x23cee6:void 0x0;return{'udid':_0x279182,'name':_0x3952cd};}async function _0x510e3c(_0x5e4ea7={},_0x4b5260=_0x34394b){const _0x384cf5=_0xf8ecb6,_0x8e17d9=_0x5e4ea7['signal'],_0x980e83=_0x4b5260[_0x384cf5(0x2f8)]??(()=>Date[_0x384cf5(0x2f8)]());if(_0x8e17d9?.['aborted'])throw new Error('aborted');const _0x2909b1=_0x980e83(),_0x1f1bfd=await _0x3959c5(_0x4b5260);if(_0x1f1bfd)return{'deviceFound':!![],'udid':_0x1f1bfd[_0x384cf5(0x5a2)],'name':_0x1f1bfd['name'],'waitedMs':0x0,'source':_0x384cf5(0x22c)};if(_0x8e17d9?.['aborted'])throw new Error(_0x384cf5(0x652));const _0x222efb=_0x4b5260['openSocket']??_0x53efb2;let _0x45a376;try{_0x45a376=await _0x222efb();}catch{return process['stderr']['write']('[ceraph][rn_wait_for_device]\x20usbmuxd\x20socket\x20unavailable;\x20falling\x20back\x20to\x20polling.\x20Install\x20Xcode\x20for\x20sub-second\x20device\x20detection.\x0a'),_0x3b7ecd(_0x5e4ea7,_0x4b5260,_0x2909b1);}return _0x343101(_0x45a376,_0x5e4ea7,_0x4b5260,_0x2909b1);}function _0x343101(_0x45a354,_0x4cfb22,_0x37da5d,_0x5c2415){const _0x571a16=_0xf8ecb6,_0x491dd3=_0x4cfb22['signal'],_0x24cf36=_0x37da5d[_0x571a16(0x2f8)]??(()=>Date[_0x571a16(0x2f8)]());return new Promise((_0x2c73e1,_0x372cd7)=>{const _0x1654e3=_0x571a16;if('XnHBD'!==_0x1654e3(0x5dd)){const _0x287544=new _0xba521c();let _0x4f82fe=![],_0x552daf;const _0x507052=()=>{const _0x347108=_0x1654e3;_0x4f82fe=!![];if(_0x552daf)clearTimeout(_0x552daf);if(_0x491dd3)_0x491dd3['removeEventListener']('abort',_0x48c4d4);try{if(_0x347108(0x7d1)==='FXGUW')throw new _0x2454c6(_0x347108(0x937),_0x347108(0x229)+_0x121260+'\x27\x20is\x20longer\x20than\x2064\x20characters.','Use\x20a\x20short,\x20single-segment\x20subdirectory\x20name.');else _0x45a354['destroy']();}catch{}},_0x35f8d3=_0x3a66c9=>{if(_0x4f82fe)return;_0x507052(),_0x2c73e1(_0x3a66c9);},_0x18c063=_0x44c1fa=>{if(_0x4f82fe)return;_0x507052(),_0x372cd7(_0x44c1fa);},_0x48c4d4=()=>_0x18c063(new Error(_0x1654e3(0x652))),_0x4b35d8=_0x4157b7=>{if(_0x4f82fe)return;_0x507052(),_0x3b7ecd(_0x4cfb22,_0x37da5d,_0x5c2415)['then'](_0x2c73e1,_0x372cd7);},_0x58601c=()=>{if(_0x4f82fe)return;_0x507052(),_0x3b7ecd(_0x4cfb22,_0x37da5d,_0x5c2415)['then'](_0x2c73e1,_0x372cd7);},_0x2d873d=_0x53f5b5=>{const _0xffedd6=_0x1654e3;if(_0x4f82fe)return;const _0x2e34d0=_0x287544[_0xffedd6(0x974)](_0x53f5b5);for(const _0x3c81fc of _0x2e34d0){if('EubQq'!=='EubQq'){if(_0x2873f0['trim']())_0x534e8d[_0xffedd6(0x4d1)](_0x2ba0c1);}else{const _0x4ffd48=_0x39d2de(_0x3c81fc[_0xffedd6(0x35c)]);if(_0x4ffd48){_0x35f8d3({'deviceFound':!![],'udid':_0x4ffd48['udid'],'name':_0x4ffd48['name'],'waitedMs':_0x24cf36()-_0x5c2415,'source':_0xffedd6(0x22c)});return;}}}};_0x45a354['on'](_0x1654e3(0x78f),_0x2d873d),_0x45a354['on']('error',_0x4b35d8),_0x45a354['on']('close',_0x58601c);_0x491dd3&&_0x491dd3[_0x1654e3(0x86f)]('abort',_0x48c4d4,{'once':!![]});if(typeof _0x4cfb22['timeoutMs']==='number'&&_0x4cfb22['timeoutMs']>0x0){const _0x16e0db=_0x4cfb22['timeoutMs']-(_0x24cf36()-_0x5c2415),_0x26ffaa=Math['max'](_0x16e0db,0x0);_0x552daf=setTimeout(()=>{const _0x10cf89=_0x1654e3;_0x18c063(new Error(_0x381efa(_0x4cfb22[_0x10cf89(0x2f9)])));},_0x26ffaa);}try{_0x45a354[_0x1654e3(0xaac)](_0xa065e6());}catch(_0x237245){if(_0x4f82fe)return;_0x507052(),_0x3b7ecd(_0x4cfb22,_0x37da5d,_0x5c2415)[_0x1654e3(0x9c5)](_0x2c73e1,_0x372cd7);}}else _0x3ecab6=0x1f4,_0x459e33=0x3e8;});}function _0x381efa(_0x52dc32){const _0x2d94c1=_0xf8ecb6,_0x129c05=Math['round'](_0x52dc32/0xea60),_0x2c9e56=_0x129c05===0x1?_0x2d94c1(0x864):_0x129c05+_0x2d94c1(0x372);return _0x2d94c1(0x49f)+_0x2c9e56+'.\x20Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20re-run\x20the\x20original\x20tool.';}async function _0x3b7ecd(_0x3e24bb,_0x1829f0,_0x34b572){const _0x36dfc3=_0xf8ecb6,_0x1722d4=_0x3e24bb['fallbackPollIntervalMs']??0x2710,_0x63e46=_0x3e24bb[_0x36dfc3(0x773)],_0x1c6610=_0x1829f0[_0x36dfc3(0x26a)]??_0x4b361e,_0x2fb654=_0x1829f0['now']??(()=>Date['now']());while(!![]){if(_0x63e46?.['aborted'])throw new Error('aborted');if(typeof _0x3e24bb[_0x36dfc3(0x2f9)]==='number'&&_0x3e24bb['timeoutMs']>0x0){if(_0x36dfc3(0xb0a)!=='POFyw'){const _0x482085=_0x2fb654()-_0x34b572,_0x180db1=_0x3e24bb['timeoutMs']-_0x482085;if(_0x180db1<=0x0)throw new Error(_0x381efa(_0x3e24bb['timeoutMs']));const _0x52b832=Math[_0x36dfc3(0x488)](_0x1722d4,_0x180db1);try{await _0x1c6610(_0x52b832,_0x63e46);}catch(_0x2e743f){if(_0x2e743f instanceof Error&&_0x2e743f[_0x36dfc3(0x531)]===_0x36dfc3(0x652))throw _0x2e743f;throw new Error('wait-for-device\x20sleep\x20failed:\x20'+(_0x2e743f instanceof Error?_0x2e743f['message']:String(_0x2e743f)));}}else _0x271870[_0x36dfc3(0x716)]();}else try{if(_0x36dfc3(0x9f3)!==_0x36dfc3(0x9f3))return _0x2fc797[_0x36dfc3(0x39d)];else await _0x1c6610(_0x1722d4,_0x63e46);}catch(_0x165fe1){if(_0x165fe1 instanceof Error&&_0x165fe1[_0x36dfc3(0x531)]==='aborted')throw _0x165fe1;throw new Error(_0x36dfc3(0x3c5)+(_0x165fe1 instanceof Error?_0x165fe1['message']:String(_0x165fe1)));}if(_0x63e46?.[_0x36dfc3(0x652)])throw new Error('aborted');const _0x409439=await _0x3959c5(_0x1829f0);if(_0x409439)return{'deviceFound':!![],'udid':_0x409439['udid'],'name':_0x409439[_0x36dfc3(0x9e5)],'waitedMs':_0x2fb654()-_0x34b572,'source':_0x36dfc3(0x994)};}}import{readdir as _0x3dcd85,rename as _0x4db407,unlink,writeFile as _0x59f795,mkdir as _0x28d6eb,stat as _0x58d22e}from'fs/promises';import{isAbsolute,join as _0x13dac6,relative as _0x3cefbb}from'path';var _0x7bbc80=[_0xf8ecb6(0x79c),'jpeg','png','webp',_0xf8ecb6(0x53b)],_0x17bbb1=_0x13dac6(_0xf8ecb6(0x4b1),'camera-images'),_0x5bf890=0x5*0x400*0x400,_0x136c12=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,_0x33e72e=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,_0x12b47f=class extends Error{[_0xf8ecb6(0x3aa)];[_0xf8ecb6(0x638)];constructor(_0xc8364d,_0xd0d214,_0x266275){const _0x4c17fa=_0xf8ecb6;super(_0xd0d214),this[_0x4c17fa(0x9e5)]='AddCameraImageError',this['code']=_0xc8364d,this[_0x4c17fa(0x638)]=_0x266275;}};function _0x375471(_0x1ad9cf){const _0x5b950f=_0xf8ecb6;if(typeof _0x1ad9cf!=='string'||_0x1ad9cf['length']===0x0){if(_0x5b950f(0x5bc)===_0x5b950f(0x5bc))throw new _0x12b47f('invalid-image-key','imageKey\x20is\x20required.',_0x5b950f(0x6d8));else throw new _0x50aef1('unsupported-image-format',_0x5b950f(0x375),_0x5b950f(0xabe));}if(_0x1ad9cf[_0x5b950f(0x3b7)]>0x40)throw new _0x12b47f(_0x5b950f(0x3f2),_0x5b950f(0x90c)+_0x1ad9cf+_0x5b950f(0x62b),'Keep\x20imageKey\x20short\x20and\x20descriptive\x20(lowercase,\x20hyphen-separated).');if(!_0x136c12['test'](_0x1ad9cf))throw new _0x12b47f('invalid-image-key','imageKey\x20\x27'+_0x1ad9cf+_0x5b950f(0x9b6),'Use\x20only\x20[a-z0-9-],\x20no\x20leading/trailing/consecutive\x20hyphens,\x20no\x20spaces,\x20no\x20uppercase.\x20Example:\x20`handwriting-sample-1`.');}function _0x3c7753(_0x1274e6){const _0x25367d=_0xf8ecb6;if(typeof _0x1274e6!=='string'||_0x1274e6['length']===0x0)throw new _0x12b47f(_0x25367d(0x937),'subDir\x20was\x20provided\x20but\x20is\x20empty.','Either\x20omit\x20`subDir`\x20or\x20pass\x20a\x20single\x20safe\x20path\x20segment\x20(lowercase,\x20hyphen-separated,\x20no\x20slashes).');if(_0x1274e6[_0x25367d(0x3b7)]>0x40)throw new _0x12b47f(_0x25367d(0x937),_0x25367d(0x229)+_0x1274e6+_0x25367d(0x62b),_0x25367d(0x874));if(!_0x33e72e['test'](_0x1274e6))throw new _0x12b47f(_0x25367d(0x937),'subDir\x20\x27'+_0x1274e6+'\x27\x20must\x20be\x20a\x20single\x20lowercase\x20segment.',_0x25367d(0x5de));}function _0x427820(_0x2d023f){const _0x56d19e=_0xf8ecb6;if(_0x2d023f[_0x56d19e(0x3b7)]<0xc)return null;if(_0x2d023f[0x0]===0xff&&_0x2d023f[0x1]===0xd8&&_0x2d023f[0x2]===0xff)return{'ext':_0x56d19e(0x79c),'mime':_0x56d19e(0x850)};if(_0x2d023f[0x0]===0x89&&_0x2d023f[0x1]===0x50&&_0x2d023f[0x2]===0x4e&&_0x2d023f[0x3]===0x47&&_0x2d023f[0x4]===0xd&&_0x2d023f[0x5]===0xa&&_0x2d023f[0x6]===0x1a&&_0x2d023f[0x7]===0xa)return{'ext':'png','mime':'image/png'};if(_0x2d023f[0x0]===0x52&&_0x2d023f[0x1]===0x49&&_0x2d023f[0x2]===0x46&&_0x2d023f[0x3]===0x46&&_0x2d023f[0x8]===0x57&&_0x2d023f[0x9]===0x45&&_0x2d023f[0xa]===0x42&&_0x2d023f[0xb]===0x50)return{'ext':'webp','mime':'image/webp'};if(_0x2d023f[0x4]===0x66&&_0x2d023f[0x5]===0x74&&_0x2d023f[0x6]===0x79&&_0x2d023f[0x7]===0x70){const _0x4ae34c=String['fromCharCode'](_0x2d023f[0x8]??0x0,_0x2d023f[0x9]??0x0,_0x2d023f[0xa]??0x0,_0x2d023f[0xb]??0x0),_0xe76829=new Set(['heic','heix',_0x56d19e(0x921),_0x56d19e(0x7d0),'heim',_0x56d19e(0x234),_0x56d19e(0x334),_0x56d19e(0x3b0)]);if(_0xe76829[_0x56d19e(0x979)](_0x4ae34c))return{'ext':'heic','mime':_0x56d19e(0x6a4)};}return null;}function _0x24ca8d(_0x2358e1){const _0x18f0c0=_0xf8ecb6;if(!_0x2358e1||typeof _0x2358e1!==_0x18f0c0(0x30d))return null;const _0x4f5ed=_0x2358e1[_0x18f0c0(0x668)]()['toLowerCase']();if(_0x4f5ed[_0x18f0c0(0x3b7)]===0x0)return null;let _0x2f4380=_0x4f5ed;if(_0x2f4380['startsWith'](_0x18f0c0(0x816)))_0x2f4380=_0x2f4380['slice'](_0x18f0c0(0x816)[_0x18f0c0(0x3b7)]);if(_0x2f4380[_0x18f0c0(0x746)]('.'))_0x2f4380=_0x2f4380[_0x18f0c0(0x795)](0x1);const _0x49e466=_0x2f4380['indexOf'](';');if(_0x49e466>=0x0)_0x2f4380=_0x2f4380[_0x18f0c0(0x795)](0x0,_0x49e466)['trim']();if(_0x2f4380==='jpeg'||_0x2f4380===_0x18f0c0(0x79c))return _0x18f0c0(0x79c);if(_0x2f4380==='png')return'png';if(_0x2f4380===_0x18f0c0(0x660))return _0x18f0c0(0x660);if(_0x2f4380==='heic'||_0x2f4380==='heif')return'heic';return null;}async function _0x417f2(_0x183ec9,_0x45be6b){let _0xe1bb19;try{const _0x4404cf=await _0x58d22e(_0x183ec9);if(!_0x4404cf['isDirectory']())return null;_0xe1bb19=await _0x3dcd85(_0x183ec9);}catch{return null;}const _0x562099=_0x45be6b['toLowerCase']();for(const _0xa875b4 of _0xe1bb19){const _0xf6c185=_0xa875b4['lastIndexOf']('.');if(_0xf6c185<=0x0)continue;const _0x7273da=_0xa875b4['slice'](0x0,_0xf6c185);if(_0x7273da['toLowerCase']()!==_0x562099)continue;const _0x126b64=_0xa875b4['slice'](_0xf6c185)['toLowerCase'](),_0x4d3414=_0x126b64['startsWith']('.')?_0x126b64['slice'](0x1):_0x126b64;if(!_0x7bbc80['includes'](_0x4d3414))continue;return{'absolutePath':_0x13dac6(_0x183ec9,_0xa875b4),'ext':_0x4d3414};}return null;}async function _0x164c0b(_0x4a7a14,_0x907683,_0x38af38={}){const _0x31b290=_0xf8ecb6,{imageKey:_0x15bde5,imageBase64:_0x988066,contentType:_0x58632e,overwrite:_0x2a37f4,subDir:_0x5bc884}=_0x907683,_0x2cfa2c=_0x38af38[_0x31b290(0x210)]??_0x112a0a;_0x375471(_0x15bde5);_0x5bc884!==void 0x0&&_0x5bc884!==''&&_0x3c7753(_0x5bc884);if(typeof _0x988066!==_0x31b290(0x30d)||_0x988066['length']===0x0)throw new _0x12b47f(_0x31b290(0x641),'imageBase64\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20string.','Pass\x20the\x20base64-encoded\x20image\x20bytes\x20(without\x20a\x20`data:`\x20prefix).');const _0x3865f5=_0x988066[_0x31b290(0x746)](_0x31b290(0x544))?_0x988066['slice'](_0x988066['indexOf'](',')+0x1):_0x988066,_0x3f5b4e=Math['ceil'](_0x5bf890*0x4/0x3)+0x20;if(_0x3865f5[_0x31b290(0x3b7)]>_0x3f5b4e){if(_0x31b290(0x384)!==_0x31b290(0xa82)){const _0x2e1568=(_0x3865f5['length']*0x3/0x4/(0x400*0x400))[_0x31b290(0x5c0)](0x2);throw new _0x12b47f(_0x31b290(0x87e),'Encoded\x20payload\x20is\x20~'+_0x2e1568+'\x20MB\x20which\x20exceeds\x20the\x205\x20MB\x20cap.',_0x31b290(0x39a));}else _0x56b2d2=![];}const _0x130c62=Buffer['from'](_0x3865f5,'base64');if(_0x130c62[_0x31b290(0x3b7)]===0x0)throw new _0x12b47f('invalid-base64','imageBase64\x20decoded\x20to\x20zero\x20bytes.',_0x31b290(0x430));if(_0x130c62[_0x31b290(0x3b7)]>_0x5bf890){const _0xf3b704=(_0x130c62['length']/(0x400*0x400))['toFixed'](0x2);throw new _0x12b47f(_0x31b290(0x87e),_0x31b290(0x23e)+_0xf3b704+_0x31b290(0x8d0),_0x31b290(0x698));}const _0x5c336e=_0x427820(new Uint8Array(_0x130c62[_0x31b290(0x5c9)],_0x130c62[_0x31b290(0x947)],_0x130c62['byteLength']));if(!_0x5c336e)throw new _0x12b47f(_0x31b290(0x596),'Could\x20not\x20detect\x20a\x20supported\x20image\x20format\x20from\x20the\x20decoded\x20bytes.','Supported\x20formats:\x20JPEG,\x20PNG,\x20WebP,\x20HEIC.\x20Re-export\x20the\x20image\x20in\x20one\x20of\x20these\x20and\x20try\x20again.');const _0x7be041=[];if(_0x58632e!==void 0x0&&_0x58632e!==''){const _0x54d3d2=_0x24ca8d(_0x58632e);if(_0x54d3d2===null)_0x7be041[_0x31b290(0x4d1)]({'code':_0x31b290(0x53e),'message':'contentType\x20\x27'+_0x58632e+_0x31b290(0x50e)+_0x5c336e[_0x31b290(0x8e2)]+_0x31b290(0x9fb)});else _0x54d3d2!==_0x5c336e[_0x31b290(0x208)]&&_0x7be041['push']({'code':_0x31b290(0xaf9),'message':'Declared\x20contentType\x20\x27'+_0x58632e+'\x27\x20does\x20not\x20match\x20detected\x20\x27'+_0x5c336e['mime']+_0x31b290(0xb0f)});}if(_0x130c62['length']>0x1*0x400*0x400){const _0x5bb47b=(_0x130c62['length']/(0x400*0x400))['toFixed'](0x2);_0x7be041['push']({'code':_0x31b290(0x4f3),'message':_0x31b290(0x23e)+_0x5bb47b+_0x31b290(0x79d)});}const _0x582d08=_0x13dac6(_0x4a7a14,_0x17bbb1),_0x4a2f5a=_0x5bc884!==void 0x0&&_0x5bc884!==''?_0x13dac6(_0x582d08,_0x5bc884):_0x582d08,_0x5538e9=_0x3cefbb(_0x582d08,_0x4a2f5a);if(_0x5538e9['startsWith']('..')||isAbsolute(_0x5538e9)||_0x5538e9['includes']('\x00'))throw new _0x12b47f('path-traversal',_0x31b290(0xa4e)+_0x4a2f5a,'Pass\x20a\x20single\x20safe\x20segment\x20for\x20subDir\x20(lowercase,\x20hyphens,\x20no\x20slashes,\x20no\x20`..`).');const _0x308f7d=_0x5c336e[_0x31b290(0x208)],_0x500ec8=_0x13dac6(_0x4a2f5a,_0x15bde5+'.'+_0x308f7d),_0x4bf88c=await _0x417f2(_0x4a2f5a,_0x15bde5);let _0x1f3ba4,_0x4b5986=![];if(_0x4bf88c){if(!_0x2a37f4){const _0x36253a=_0x3cefbb(_0x4a7a14,_0x4bf88c['absolutePath']);throw new _0x12b47f('collision','The\x20imageKey\x20\x27'+_0x15bde5+_0x31b290(0x658)+_0x36253a+'.','Pass\x20`overwrite:\x20true`\x20to\x20replace\x20it,\x20or\x20pick\x20a\x20different\x20imageKey.');}_0x4b5986=!![];}await _0x28d6eb(_0x4a2f5a,{'recursive':!![]});if(_0x4bf88c&&_0x4bf88c['ext']===_0x308f7d&&_0x4bf88c[_0x31b290(0x75c)]!==_0x500ec8&&_0x4bf88c[_0x31b290(0x75c)][_0x31b290(0x5b5)]()===_0x500ec8[_0x31b290(0x5b5)]())try{if(_0x31b290(0x66e)!=='XoPpp')return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};else await _0x4db407(_0x4bf88c['absolutePath'],_0x500ec8);}catch(_0x3f2460){void _0x3f2460;}await _0x59f795(_0x500ec8,_0x130c62);if(_0x4bf88c){if('ReVmS'!==_0x31b290(0x414)){const _0x4dec99=_0x4bf88c['absolutePath'],_0x232965=_0x500ec8,_0xcf4b00=_0x4dec99[_0x31b290(0x5b5)]()===_0x232965['toLowerCase'](),_0xd470a3=_0x4bf88c[_0x31b290(0x208)]!==_0x308f7d,_0x3a240d=!_0xcf4b00&&_0x4dec99!==_0x232965;if(!_0xcf4b00&&(_0xd470a3||_0x3a240d))try{await unlink(_0x4dec99),_0x1f3ba4=_0x3cefbb(_0x4a7a14,_0x4dec99);}catch(_0xa94427){throw new _0x12b47f('unlink-failed','New\x20image\x20was\x20written\x20but\x20failed\x20to\x20remove\x20stale\x20'+_0x3cefbb(_0x4a7a14,_0x4dec99)+':\x20'+(_0xa94427 instanceof Error?_0xa94427[_0x31b290(0x531)]:String(_0xa94427)),'Remove\x20the\x20stale\x20file\x20manually\x20so\x20the\x20imageKey\x20is\x20not\x20backed\x20by\x20two\x20files.');}}else return _0x153bee(_0x58d535);}let _0x446f50;try{_0x446f50=await _0x2cfa2c(_0x4a7a14);}catch(_0x5eaafb){throw new _0x12b47f('registry-sync-failed','Image\x20was\x20written\x20but\x20registry\x20sync\x20failed:\x20'+(_0x5eaafb instanceof Error?_0x5eaafb[_0x31b290(0x531)]:String(_0x5eaafb)),_0x31b290(0xb1c));}return{'written':_0x3cefbb(_0x4a7a14,_0x500ec8),'registry':_0x1718c0(_0x4a7a14,_0x446f50['registryPath']),'registered':_0x446f50['registered'][_0x31b290(0x86b)](_0xa8cb1f=>_0xa8cb1f['key']),'detectedContentType':_0x5c336e[_0x31b290(0x8e2)],'detectedExt':_0x5c336e[_0x31b290(0x208)],'replaced':_0x4b5986,'removedSiblingPath':_0x1f3ba4,'bytes':_0x130c62['length'],'warnings':_0x7be041,'registryState':_0x446f50[_0x31b290(0x36a)]};}import{createServer as _0x52e31b}from'http';var _0x4029aa=0x1fa5,_0xfadaa9=0x80*0x400,_0x325e65=0x40*0x400,_0x28a6e2=0x100*0x400,_0x302ded=0xc8,_0x176953=new Set([_0xf8ecb6(0x87f),_0xf8ecb6(0xa25),_0xf8ecb6(0x215),'network-error',_0xf8ecb6(0x763),'mutation-fired','optimistic-rollback',_0xf8ecb6(0x858),_0xf8ecb6(0x60c)]),_0x229267='boot-request',_0x1b8de6=_0xf8ecb6(0x699),_0x35f448=_0xf8ecb6(0x9f0),_0x2cebe6=_0xf8ecb6(0x510),_0x17c290=0x64,_0x194dfe=_0xf8ecb6(0x2f1);function _0x3f573f(_0x4c0095){const _0x4ae5a9=_0xf8ecb6;if(_0x4c0095['ok'])return{'message':'Signal\x20listener\x20bound\x20on\x20port\x20'+_0x4c0095[_0x4ae5a9(0x21a)],'fatal':![],'status':_0x4ae5a9(0x609)};if(_0x4c0095['errorCode']==='EADDRINUSE')return{'message':_0x4ae5a9(0x55f)+_0x4c0095['port']+_0x4ae5a9(0x723)+_0x4c0095[_0x4ae5a9(0x21a)]+_0x4ae5a9(0x571),'fatal':![],'status':'port-conflict'};return{'message':_0x4ae5a9(0x3c2)+_0x4c0095['port']+':\x20'+_0x4c0095['error']+_0x4ae5a9(0x2bc),'fatal':![],'status':'bind-failed'};}var _0x198939=0x1f40,_0x2fdbde=class{constructor(_0x5c1101,_0x222bc0={}){const _0xfffc65=_0xf8ecb6;this['rnManager']=_0x5c1101,this[_0xfffc65(0x21a)]=_0x222bc0[_0xfffc65(0x21a)]??_0x4029aa,this['hostOverride']=_0x222bc0['host']??null,this[_0xfffc65(0x4b6)]=_0x222bc0[_0xfffc65(0x4b6)];}[_0xf8ecb6(0x99d)]=null;[_0xf8ecb6(0x21a)];['hostOverride'];['bootCaptureMode']=![];['bootBuffer']=[];['bootBufferBytes']=0x0;['asyncStorageReadBuffer']=[];['bootWriteCount']=0x0;['pendingStorageAckResolver']=null;['pendingStorageAckResolvers']=new Map();['latestTestIdSentinel']=null;[_0xf8ecb6(0x4b6)];[_0xf8ecb6(0x978)]=[];['pendingCommandAcks']=new Map();[_0xf8ecb6(0x983)]=0x0;[_0xf8ecb6(0xa1a)]=null;['setOnSignal'](_0x4db4af){this['onSignal']=_0x4db4af;}[_0xf8ecb6(0x47e)](_0x3f044b){const _0x294fca=_0xf8ecb6;this[_0x294fca(0x983)]+=0x1;const _0xf0e092='cmd-'+this[_0x294fca(0x983)]+'-'+_0x3f044b;return this[_0x294fca(0x978)][_0x294fca(0x4d1)]({'id':_0xf0e092,'type':_0x3f044b}),new Promise(_0x183cf2=>{const _0x45119d=_0x294fca,_0x554a6b=setTimeout(()=>{this['pendingCommandAcks']['delete'](_0xf0e092),this['commandQueue']=this['commandQueue']['filter'](_0x3164f2=>_0x3164f2['id']!==_0xf0e092),_0x183cf2({'acked':![]});},_0x198939);_0x554a6b[_0x45119d(0x2d6)]?.(),this[_0x45119d(0x6f3)][_0x45119d(0x93e)](_0xf0e092,{'resolve':_0x49ebc9=>_0x183cf2({'acked':!![],'ok':_0x49ebc9['ok'],'detail':_0x49ebc9[_0x45119d(0x363)]}),'timer':_0x554a6b});});}[_0xf8ecb6(0xad0)](){const _0x2e1c41=this['commandQueue'];return this['commandQueue']=[],_0x2e1c41;}[_0xf8ecb6(0x50d)](_0x47f50f){const _0x4b09b0=_0xf8ecb6,_0x3024ba=this[_0x4b09b0(0x6f3)]['get'](_0x47f50f['id']);if(!_0x3024ba)return;clearTimeout(_0x3024ba['timer']),this['pendingCommandAcks']['delete'](_0x47f50f['id']),_0x3024ba['resolve'](_0x47f50f);}[_0xf8ecb6(0x972)](_0x4c8df6){const _0x507391=_0xf8ecb6;if(_0x4c8df6){this['bootBuffer']=[],this['bootBufferBytes']=0x0,this['bootWriteCount']=0x0,this['asyncStorageReadBuffer']=[],this[_0x507391(0x814)]=!![];return;}this[_0x507391(0x814)]=![];}[_0xf8ecb6(0x5c4)](){const _0x7c7e96=_0xf8ecb6;return this['asyncStorageReadBuffer'][_0x7c7e96(0x795)]();}async[_0xf8ecb6(0x679)](_0x53c0ae){const _0x471fe9=_0xf8ecb6;await this['rnManager'][_0x471fe9(0x564)](_0x53c0ae);if(this[_0x471fe9(0x4b6)])try{this[_0x471fe9(0x4b6)](_0x53c0ae);}catch{}}['getLatestTestIdSentinel'](){return this['latestTestIdSentinel'];}[_0xf8ecb6(0xaef)](){return this['bootWriteCount'];}[_0xf8ecb6(0x9dd)](){const _0x253964=_0xf8ecb6;return this[_0x253964(0x4e7)][_0x253964(0x795)]();}['clearBootRequests'](){const _0x1854f4=_0xf8ecb6;this[_0x1854f4(0x4e7)]=[],this[_0x1854f4(0x6ca)]=0x0,this[_0x1854f4(0x8a0)]=[];}async[_0xf8ecb6(0x5cf)](){const _0x59485c=this['hostOverride']??_0x194dfe;return new Promise(_0x4288ae=>{const _0x3fd826=_0xc050,_0x5f4d13=_0x52e31b((_0x1f68f2,_0x1b2e57)=>this['handle'](_0x1f68f2,_0x1b2e57));_0x5f4d13[_0x3fd826(0x6b8)]('error',_0x6969d=>{const _0xcb539c=_0x3fd826;_0x5f4d13[_0xcb539c(0x716)](()=>{}),_0x4288ae({'ok':![],'port':this['port'],'error':_0x6969d['message']??_0x6969d[_0xcb539c(0x3aa)]??'listen\x20failed','errorCode':_0x6969d[_0xcb539c(0x3aa)]});}),_0x5f4d13['listen'](this['port'],_0x59485c,()=>{const _0x22e9f9=_0x3fd826;this[_0x22e9f9(0x99d)]=_0x5f4d13,_0x4288ae({'ok':!![],'port':this[_0x22e9f9(0x21a)]});});});}[_0xf8ecb6(0x775)](){const _0x247a42=_0xf8ecb6;return this[_0x247a42(0xa1a)]!==null;}[_0xf8ecb6(0x74c)](){return this['server']!==null;}async['ensureListening'](){if(this['server']!==null)return{'ok':!![],'port':this['port']};return this['start']();}async['stop'](){const _0x54d9d9=_0xf8ecb6,_0x1bfdf4=this['server'];if(!_0x1bfdf4)return;this[_0x54d9d9(0x99d)]=null,await new Promise(_0x867b82=>_0x1bfdf4['close'](()=>_0x867b82()));}async[_0xf8ecb6(0x71a)](_0x3179a7){return this['appendIfValid'](_0x3179a7);}[_0xf8ecb6(0xa96)](){const _0x39a5f8=_0xf8ecb6;return this[_0x39a5f8(0xad0)]();}['ackForTesting'](_0x45e6d7){const _0x4ffef9=_0xf8ecb6;this[_0x4ffef9(0x50d)](_0x45e6d7);}async[_0xf8ecb6(0x6c2)](_0x68343,_0x546780){const _0x55ee9b=_0xf8ecb6;this[_0x55ee9b(0xa1a)]=Date['now']();if(_0x68343[_0x55ee9b(0x33a)]==='GET'&&_0x68343['url']==='/commands'){const _0x449343=this['drainCommands']();_0x546780[_0x55ee9b(0x66c)]=0xc8,_0x546780[_0x55ee9b(0x96a)](_0x55ee9b(0x2dc),'application/json'),_0x546780[_0x55ee9b(0x5b3)](JSON['stringify']({'commands':_0x449343}));return;}if(_0x68343['method']==='POST'&&_0x68343['url']===_0x55ee9b(0x30c)){const _0xf451c9=await this['readBody'](_0x68343)[_0x55ee9b(0x48b)](_0x2dc84c=>({'tooLarge':![],'err':_0x2dc84c}));if('err'in _0xf451c9||_0xf451c9['tooLarge']){_0x546780[_0x55ee9b(0x66c)]=0x190,_0x546780[_0x55ee9b(0x5b3)](JSON['stringify']({'ok':![]}));return;}try{const _0x2ba3d3=JSON[_0x55ee9b(0x981)](_0xf451c9[_0x55ee9b(0x3e0)]);typeof _0x2ba3d3['id']==='string'&&this['resolveCommandAck']({'id':_0x2ba3d3['id'],'ok':_0x2ba3d3['ok']===!![],'detail':typeof _0x2ba3d3['detail']==='string'?_0x2ba3d3['detail']:void 0x0});}catch{}_0x546780['statusCode']=0xcc,_0x546780['end']();return;}if(_0x68343[_0x55ee9b(0x33a)]!==_0x55ee9b(0x513)||_0x68343[_0x55ee9b(0x269)]!==_0x55ee9b(0xb08)){_0x546780['statusCode']=0x194,_0x546780['end']();return;}const _0x2e0436=await this['readBody'](_0x68343)[_0x55ee9b(0x48b)](_0x49ae01=>({'tooLarge':![],'err':_0x49ae01}));if('err'in _0x2e0436){_0x546780['statusCode']=0x190,_0x546780['end'](JSON[_0x55ee9b(0x312)]({'ok':![],'error':_0x2e0436['err']['message']}));return;}if(_0x2e0436['tooLarge']){_0x546780[_0x55ee9b(0x66c)]=0x19d,_0x546780['end'](JSON['stringify']({'ok':![],'error':_0x55ee9b(0x884)}));return;}let _0x2044bf;try{_0x2044bf=JSON[_0x55ee9b(0x981)](_0x2e0436['text']);}catch(_0x1021d4){if(_0x55ee9b(0xa69)!=='qwTKj')_0x3bb9c6=_0x534fb8['tier'];else{_0x546780['statusCode']=0x190,_0x546780[_0x55ee9b(0x5b3)](JSON[_0x55ee9b(0x312)]({'ok':![],'error':_0x1021d4[_0x55ee9b(0x531)]}));return;}}const _0x14ce19=await this['appendIfValid'](_0x2044bf);if(!_0x14ce19['ok']){_0x546780[_0x55ee9b(0x66c)]=0x190,_0x546780[_0x55ee9b(0x5b3)](JSON['stringify'](_0x14ce19));return;}_0x546780['statusCode']=0xcc,_0x546780['end']();}async[_0xf8ecb6(0x56b)](_0x20223d){const _0x155bec=_0xf8ecb6;if(!_0x20223d||typeof _0x20223d!=='object'){if('BYXGH'!=='ExJgs')return{'ok':![],'error':'payload\x20must\x20be\x20an\x20object'};else{const _0x3d7a37=_0x5c127f[_0x155bec(0x981)](_0xc3d550[_0x155bec(0x790)]),_0x25961c=(_0x3d7a37['result']?.[_0x155bec(0x508)]??[])['filter'](_0x20528e=>!!_0x20528e[_0x155bec(0x476)])[_0x155bec(0x86b)](_0x2cbeb1=>({'bundleId':_0x2cbeb1['bundleIdentifier'],'name':_0x2cbeb1[_0x155bec(0x9e5)]??_0x2cbeb1[_0x155bec(0x476)],'version':_0x2cbeb1['shortVersionString']??_0x2cbeb1['version']}));return this['installedAppsCache']={'at':_0x38f2bd[_0x155bec(0x2f8)](),'key':_0x1b43c0,'apps':_0x25961c},{'success':!![],'apps':_0x25961c};}}const _0x27e959=_0x20223d;if(_0x27e959['kind']===_0x229267)return this['recordBootRequest'](_0x27e959);if(_0x27e959['kind']===_0x1b8de6)return this['recordAsyncStorageRead'](_0x27e959);if(_0x27e959[_0x155bec(0xb14)]===_0x35f448)return this[_0x155bec(0x9e6)](_0x27e959);if(_0x27e959['kind']===_0x2cebe6)return this[_0x155bec(0x66a)]={'pluginVersion':typeof _0x27e959[_0x155bec(0x371)]==='string'?_0x27e959['pluginVersion']:void 0x0,'babelConfigHash':typeof _0x27e959['babelConfigHash']===_0x155bec(0x30d)?_0x27e959['babelConfigHash']:void 0x0,'timestampMs':Date[_0x155bec(0x2f8)]()},{'ok':!![]};if(typeof _0x27e959[_0x155bec(0x531)]!==_0x155bec(0x30d)||_0x27e959[_0x155bec(0x531)]['length']===0x0)return{'ok':![],'error':_0x155bec(0x99f)};if(typeof _0x27e959[_0x155bec(0xb14)]!=='string'||!_0x176953[_0x155bec(0x979)](_0x27e959['kind']))return{'ok':![],'error':_0x155bec(0x32d)+String(_0x27e959['kind'])};const _0x11761f=typeof _0x27e959[_0x155bec(0x719)]===_0x155bec(0x2af)&&Number['isFinite'](_0x27e959[_0x155bec(0x719)])?new Date(_0x27e959['timestampMs'])[_0x155bec(0x471)]():new Date()[_0x155bec(0x471)](),_0x511bec={'message':_0x27e959[_0x155bec(0x531)],'stack':typeof _0x27e959['stack']==='string'?_0x27e959['stack']:'','timestamp':_0x11761f,'kind':_0x27e959['kind'],'url':typeof _0x27e959[_0x155bec(0x269)]==='string'?_0x27e959[_0x155bec(0x269)]:void 0x0,'status':typeof _0x27e959[_0x155bec(0x428)]==='number'?_0x27e959[_0x155bec(0x428)]:void 0x0,'method':typeof _0x27e959[_0x155bec(0x33a)]===_0x155bec(0x30d)?_0x27e959['method']:void 0x0,'durationMs':typeof _0x27e959[_0x155bec(0x270)]===_0x155bec(0x2af)?_0x27e959['durationMs']:void 0x0,'elementKey':typeof _0x27e959[_0x155bec(0xa9a)]===_0x155bec(0x30d)?_0x27e959[_0x155bec(0xa9a)]:void 0x0,'prevText':typeof _0x27e959[_0x155bec(0x9a5)]==='string'?_0x27e959['prevText']:void 0x0,'nextText':typeof _0x27e959['nextText']==='string'?_0x27e959['nextText']:void 0x0};await this['rnManager']['appendShimSignal'](_0x511bec);if(this['onSignal'])try{this['onSignal'](_0x511bec);}catch{}return{'ok':!![]};}[_0xf8ecb6(0xabd)](_0x309f37){const _0x57260b=_0xf8ecb6;if(!this['bootCaptureMode'])return{'ok':!![]};if(typeof _0x309f37[_0x57260b(0x269)]!=='string'||_0x309f37[_0x57260b(0x269)][_0x57260b(0x3b7)]===0x0)return{'ok':![],'error':_0x57260b(0x597)};const _0x9bc288=typeof _0x309f37[_0x57260b(0x33a)]===_0x57260b(0x30d)&&_0x309f37[_0x57260b(0x33a)][_0x57260b(0x3b7)]>0x0?_0x309f37[_0x57260b(0x33a)][_0x57260b(0x57c)]():_0x57260b(0x685),_0x164316=typeof _0x309f37[_0x57260b(0x719)]===_0x57260b(0x2af)&&Number['isFinite'](_0x309f37[_0x57260b(0x719)])?new Date(_0x309f37[_0x57260b(0x719)])[_0x57260b(0x471)]():new Date()['toISOString'](),_0x12dc59=_0x325758(_0x309f37[_0x57260b(0x269)]);let _0x543f5d;if(typeof _0x309f37[_0x57260b(0x686)]==='string'&&_0x309f37[_0x57260b(0x686)][_0x57260b(0x3b7)]>0x0){const _0x190dd9=Buffer['byteLength'](_0x309f37[_0x57260b(0x686)],'utf8');if(_0x190dd9<=_0x325e65)'TYiWr'!=='TYiWr'?this['inflight']=null:_0x543f5d=_0x309f37[_0x57260b(0x686)];else{const _0x4f5d9b='…',_0x5dce81=Buffer[_0x57260b(0x901)](_0x4f5d9b,_0x57260b(0x483)),_0x2c8de0=Buffer['from'](_0x309f37[_0x57260b(0x686)],'utf8')[_0x57260b(0x8fa)](0x0,_0x325e65-_0x5dce81)['toString'](_0x57260b(0x483))['replace'](/�+$/,'');_0x543f5d=''+_0x2c8de0+_0x4f5d9b;}}const _0x418683={'method':_0x9bc288,'path':_0x12dc59,...typeof _0x309f37[_0x57260b(0x428)]==='number'?{'status':_0x309f37['status']}:{},...typeof _0x309f37[_0x57260b(0x270)]===_0x57260b(0x2af)?{'durationMs':_0x309f37['durationMs']}:{},..._0x543f5d?{'response':_0x543f5d}:{},'timestamp':_0x164316},_0x544778=_0x543f5d?Buffer[_0x57260b(0x901)](_0x543f5d,_0x57260b(0x483)):0x0;this['bootBuffer']['push'](_0x418683),this[_0x57260b(0x6ca)]+=_0x544778,this[_0x57260b(0xb1e)]+=0x1;while(this['bootBuffer'][_0x57260b(0x3b7)]>_0x302ded||this['bootBufferBytes']>_0x28a6e2){const _0x543b07=this['bootBuffer'][_0x57260b(0x9a6)]();if(!_0x543b07)break;this['bootBufferBytes']-=_0x543b07[_0x57260b(0x90e)]?Buffer[_0x57260b(0x901)](_0x543b07['response'],_0x57260b(0x483)):0x0;if(this[_0x57260b(0x6ca)]<0x0)this['bootBufferBytes']=0x0;}return{'ok':!![]};}['recordAsyncStorageRead'](_0x3b2eff){const _0x5f2d33=_0xf8ecb6;if(!this[_0x5f2d33(0x814)])return{'ok':!![]};if(typeof _0x3b2eff['key']!=='string'||_0x3b2eff[_0x5f2d33(0x88a)][_0x5f2d33(0x3b7)]===0x0)return{'ok':![],'error':'async-storage-read\x20requires\x20`key`'};const _0x4c18e4=typeof _0x3b2eff[_0x5f2d33(0x719)]==='number'&&Number['isFinite'](_0x3b2eff['timestampMs'])?new Date(_0x3b2eff[_0x5f2d33(0x719)])[_0x5f2d33(0x471)]():new Date()['toISOString'](),_0x358278=typeof _0x3b2eff[_0x5f2d33(0x531)]===_0x5f2d33(0x30d)&&_0x3b2eff[_0x5f2d33(0x531)]['length']>0x0?_0x3b2eff[_0x5f2d33(0x531)]:'unknown',_0x4145b8={'key':_0x3b2eff['key'],'valueShape':_0x358278,'timestamp':_0x4c18e4,...typeof _0x3b2eff['valueHash']==='string'&&_0x3b2eff[_0x5f2d33(0x670)][_0x5f2d33(0x3b7)]>0x0?{'valueHash':_0x3b2eff[_0x5f2d33(0x670)]}:{}};this['asyncStorageReadBuffer'][_0x5f2d33(0x4d1)](_0x4145b8);while(this['asyncStorageReadBuffer']['length']>_0x17c290){this[_0x5f2d33(0x8a0)]['shift']();}return{'ok':!![]};}['recordStorageAck'](_0x2c41d6){const _0x1b8e69=_0xf8ecb6;if(typeof _0x2c41d6['storageAckSuccess']!==_0x1b8e69(0xa6d)){if(_0x1b8e69(0x45b)!==_0x1b8e69(0x45b))_0x29e0fe=_0x85c277[_0x1b8e69(0x981)](_0x32bf2c[_0x1b8e69(0x3e0)]);else return{'ok':![],'error':_0x1b8e69(0x20e)};}if(typeof _0x2c41d6[_0x1b8e69(0x470)]!==_0x1b8e69(0x2af)||!Number['isFinite'](_0x2c41d6[_0x1b8e69(0x470)]))return{'ok':![],'error':_0x1b8e69(0x9c8)};const _0x3f4972={'success':_0x2c41d6[_0x1b8e69(0x24a)],'count':_0x2c41d6[_0x1b8e69(0x470)],...Array[_0x1b8e69(0x200)](_0x2c41d6['storageAckKeys'])?{'keys':_0x2c41d6[_0x1b8e69(0xa0c)][_0x1b8e69(0x529)](_0x58a287=>typeof _0x58a287===_0x1b8e69(0x30d))}:{}},_0x5496ef=typeof _0x2c41d6[_0x1b8e69(0x9ec)]==='string'&&_0x2c41d6['storageAckRequestId']['length']>0x0?_0x2c41d6['storageAckRequestId']:void 0x0;if(_0x5496ef){const _0x24a0e5=this['pendingStorageAckResolvers']['get'](_0x5496ef);return _0x24a0e5&&(this[_0x1b8e69(0xa47)]['delete'](_0x5496ef),_0x24a0e5(_0x3f4972)),{'ok':!![]};}const _0x34831b=this['pendingStorageAckResolver'];return _0x34831b&&(this['pendingStorageAckResolver']=null,_0x34831b(_0x3f4972)),{'ok':!![]};}[_0xf8ecb6(0x49a)](_0x547e6e,_0x2a72e6){return new Promise((_0x16d594,_0x258240)=>{const _0x374833=_0xc050;let _0x4bb249=null;const _0x4ce6fd=setTimeout(()=>{const _0x3ff8c5=_0xc050;if(_0x2a72e6)this['pendingStorageAckResolvers'][_0x3ff8c5(0x3fd)](_0x2a72e6)===_0x4bb249&&this['pendingStorageAckResolvers'][_0x3ff8c5(0x265)](_0x2a72e6);else{if(this['pendingStorageAckResolver']===_0x4bb249){if(_0x3ff8c5(0x938)===_0x3ff8c5(0x5cc)){_0x361bae('Claude\x20Code\x20hook:\x20'+_0x233ba0+'\x20`hooks`\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.');return;}else this['pendingStorageAckResolver']=null;}}_0x258240(new Error(_0x3ff8c5(0xa1e)+_0x547e6e+'ms'));},_0x547e6e);_0x4bb249=_0xd76b99=>{clearTimeout(_0x4ce6fd),_0x16d594(_0xd76b99);},_0x2a72e6?this['pendingStorageAckResolvers']['set'](_0x2a72e6,_0x4bb249):this[_0x374833(0x7f1)]=_0x4bb249;});}['readBody'](_0x2d44df){return new Promise((_0x381883,_0x2b6506)=>{const _0x1e2615=_0xc050;let _0x3af6c7=0x0;const _0x1f9291=[];_0x2d44df['on']('data',_0x545713=>{const _0x4c242c=_0xc050;_0x3af6c7+=_0x545713[_0x4c242c(0x3b7)];if(_0x3af6c7>_0xfadaa9){_0x1f9291['length']=0x0,_0x381883({'text':'','tooLarge':!![]}),_0x2d44df[_0x4c242c(0xa37)](_0x4c242c(0x78f)),_0x2d44df[_0x4c242c(0xa37)](_0x4c242c(0x5b3)),_0x2d44df[_0x4c242c(0xa37)](_0x4c242c(0x3dd)),_0x2d44df['on'](_0x4c242c(0x78f),()=>void 0x0),_0x2d44df['on'](_0x4c242c(0x5b3),()=>void 0x0),_0x2d44df['on'](_0x4c242c(0x3dd),()=>void 0x0);return;}_0x1f9291['push'](_0x545713);}),_0x2d44df['on'](_0x1e2615(0x5b3),()=>_0x381883({'text':Buffer[_0x1e2615(0x6b1)](_0x1f9291)['toString']('utf-8'),'tooLarge':![]})),_0x2d44df['on'](_0x1e2615(0x3dd),_0x2b6506);});}};function _0x325758(_0x657558){const _0x3f92c4=_0xf8ecb6;try{if(_0x3f92c4(0xa4b)===_0x3f92c4(0x9bb))_0x478e74++;else{const _0x4f2f76=new URL(_0x657558,'http://localhost');return''+_0x4f2f76[_0x3f92c4(0x667)]+_0x4f2f76[_0x3f92c4(0x4d2)];}}catch{return _0x657558;}}var _0x102bfa='No\x20runtime\x20signals\x20have\x20reached\x20Ceraph\x20from\x20the\x20device\x20this\x20session\x20—\x20in-app\x20runtime\x20errors\x20(uncaught\x20JS\x20exceptions,\x20failed\x20network\x20requests)\x20are\x20NOT\x20being\x20captured\x20in\x20your\x20results.\x20If\x20you\x20added\x20the\x20Ceraph\x20shim\x20(installCeraph),\x20the\x20device\x20can\x27t\x20reach\x20port\x208101\x20on\x20this\x20Mac:\x20check\x20your\x20firewall\x20and\x20that\x20the\x20device\x20and\x20Mac\x20are\x20on\x20the\x20same\x20network\x20(the\x20shim\x20posts\x20to\x20the\x20Mac\x27s\x20LAN\x20IP\x20discovered\x20from\x20the\x20Metro\x20dev-server\x20URL).\x20Fix\x20that\x20and\x20re-run\x20to\x20capture\x20them.\x20If\x20you\x20haven\x27t\x20added\x20the\x20shim,\x20you\x20can\x20ignore\x20this.',_0x4377d1='No\x20runtime\x20signals\x20are\x20being\x20captured\x20this\x20session:\x20Ceraph\x27s\x20device-signal\x20listener\x20could\x20not\x20start\x20(port\x208101\x20failed\x20to\x20bind\x20—\x20e.g.\x20a\x20permission\x20error,\x20or\x20an\x20invalid\x20CERAPH_SIGNAL_HOST).\x20In-app\x20runtime\x20errors\x20(uncaught\x20JS\x20exceptions,\x20failed\x20network\x20requests)\x20will\x20NOT\x20appear\x20in\x20your\x20results\x20until\x20it\x20binds.\x20Check\x20CERAPH_SIGNAL_HOST\x20and\x20that\x20port\x208101\x20is\x20free\x20and\x20permitted,\x20then\x20restart\x20Ceraph.',_0x3686ac=_0xf8ecb6(0x380);function _0x12b624(_0x58dd5c,_0x11a276,_0x477b1d){const _0x1513f2=_0xf8ecb6;if(_0x58dd5c)return{'entry':null,'advisedStatus':_0x11a276};if(_0x11a276===_0x477b1d)return{'entry':null,'advisedStatus':_0x11a276};const _0xb31d1c=_0x477b1d==='port-conflict'?_0x3686ac:_0x477b1d===_0x1513f2(0x264)?_0x4377d1:_0x102bfa;return{'entry':{'type':_0x1513f2(0x3e0),'text':_0xb31d1c},'advisedStatus':_0x477b1d};}var _0x515691=0.12,_0x2d3545=0x3a98;function _0x510090(_0x2a68e9){const _0x5c4777=_0xf8ecb6;if(!_0x2a68e9)return![];const _0x3da631=[_0x2a68e9];while(_0x3da631['length']>0x0){const _0x452c66=_0x3da631[_0x5c4777(0x253)](),_0x4e37bf=_0x452c66['rawIdentifier'];if(typeof _0x4e37bf===_0x5c4777(0x30d)&&_0x4e37bf['toLowerCase']()['includes']('redbox'))return!![];if(Array[_0x5c4777(0x200)](_0x452c66[_0x5c4777(0x4e3)])){for(const _0x3727c1 of _0x452c66['children'])_0x3da631[_0x5c4777(0x4d1)](_0x3727c1);}}return![];}var _0x57b45e=new Set([_0xf8ecb6(0x9d5),'reload',_0xf8ecb6(0x3e1),_0xf8ecb6(0x967)]),_0x36ac30=0xfa0;function _0x1d2039(_0x4a1955){const _0x15c826=_0xf8ecb6;if(!_0x4a1955)return null;const _0x102fca=[],_0x21edd7=new Set(),_0x4ce579=[{'node':_0x4a1955,'inRedbox':![]}];while(_0x4ce579[_0x15c826(0x3b7)]>0x0){const {node:_0x264ea0,inRedbox:_0x1b7bf2}=_0x4ce579['pop'](),_0x26f773=_0x264ea0[_0x15c826(0x5eb)],_0xe4645d=_0x1b7bf2||typeof _0x26f773===_0x15c826(0x30d)&&_0x26f773['toLowerCase']()['includes'](_0x15c826(0x60c));if(_0xe4645d)for(const _0x96687d of[_0x264ea0[_0x15c826(0x39d)],_0x264ea0[_0x15c826(0x960)],_0x264ea0[_0x15c826(0x9e5)]]){const _0x553446=typeof _0x96687d===_0x15c826(0x30d)?_0x96687d[_0x15c826(0x668)]():'';if(!_0x553446||_0x57b45e['has'](_0x553446['toLowerCase']())||_0x21edd7['has'](_0x553446))continue;_0x21edd7[_0x15c826(0x856)](_0x553446),_0x102fca[_0x15c826(0x4d1)](_0x553446);}if(Array['isArray'](_0x264ea0['children']))for(const _0x14171e of _0x264ea0[_0x15c826(0x4e3)]){_0x4ce579[_0x15c826(0x4d1)]({'node':_0x14171e,'inRedbox':_0xe4645d});}}if(_0x102fca[_0x15c826(0x3b7)]===0x0)return null;const _0x2f1b47=_0x102fca[_0x15c826(0x4ec)]('\x0a')[_0x15c826(0x668)]();if(!_0x2f1b47)return null;return _0x2f1b47[_0x15c826(0x3b7)]>_0x36ac30?_0x2f1b47['slice'](0x0,_0x36ac30)+'…':_0x2f1b47;}var _0x3396cb=class{constructor(_0x4578ae,_0x480af2={}){const _0x4f1e7d=_0xf8ecb6;this['screen']=_0x4578ae,this[_0x4f1e7d(0x466)]=_0x480af2[_0x4f1e7d(0x466)]??_0x2d3545,this['onRedbox']=_0x480af2[_0x4f1e7d(0xaed)];}[_0xf8ecb6(0x3d7)]=null;['ticking']=![];['intervalMs'];[_0xf8ecb6(0xaed)];[_0xf8ecb6(0x306)]=null;[_0xf8ecb6(0x5cf)](){const _0x2c09e6=_0xf8ecb6;if(this['timer'])return;this['timer']=setInterval(()=>{void this['tick']();},this['intervalMs']),this[_0x2c09e6(0x3d7)][_0x2c09e6(0x2d6)]?.();}[_0xf8ecb6(0x8bc)](){const _0x4374f7=_0xf8ecb6;this['timer']&&(clearInterval(this[_0x4374f7(0x3d7)]),this['timer']=null);}async[_0xf8ecb6(0x77b)](){const _0x6b329a=_0xf8ecb6;if(this[_0x6b329a(0x3bb)])return![];this['ticking']=!![];try{if(!await this[_0x6b329a(0x5be)][_0x6b329a(0x3a4)]())return![];const _0x34c0ec=await this[_0x6b329a(0x5be)][_0x6b329a(0x491)]();if(!_0x510090(_0x34c0ec))return this[_0x6b329a(0x306)]=null,![];if(this[_0x6b329a(0xaed)]){const _0x22561d=_0x1d2039(_0x34c0ec);if(_0x22561d&&_0x22561d!==this['lastRedboxSignature']){this['lastRedboxSignature']=_0x22561d;try{await this['onRedbox'](_0x22561d);}catch{}}}const {width:_0x13e52a,height:_0x1b652a}=await this['screen'][_0x6b329a(0x22d)](),_0x5fe072=await this[_0x6b329a(0x5be)][_0x6b329a(0x2cd)](Math[_0x6b329a(0x281)](_0x13e52a/0x2),Math['round'](_0x1b652a*_0x515691),![]);return _0x5fe072[_0x6b329a(0x6d0)];}catch{return![];}finally{'WbbKW'!=='WbbKW'?_0x5e440f=_0x6b329a(0x255):this[_0x6b329a(0x3bb)]=![];}}},_0x2ee2ce=[{'id':_0xf8ecb6(0x55e),'titlePattern':/Would Like to Access the Camera/i,'acceptButtons':['OK','Allow']},{'id':'microphone','titlePattern':/Would Like to Access the Microphone/i,'acceptButtons':['OK',_0xf8ecb6(0x209)]},{'id':_0xf8ecb6(0x1f5),'titlePattern':/Would Like to Access Your Photos/i,'acceptButtons':['Allow\x20Access\x20to\x20All\x20Photos',_0xf8ecb6(0xaa9),_0xf8ecb6(0x209)]},{'id':_0xf8ecb6(0xab4),'titlePattern':/Allow .* to Use Your Location\??/i,'acceptButtons':[_0xf8ecb6(0x829),_0xf8ecb6(0x7ab),'Allow']},{'id':'notifications','titlePattern':/Would Like to Send You Notifications/i,'acceptButtons':[_0xf8ecb6(0x209)]},{'id':_0xf8ecb6(0xb12),'titlePattern':/Would Like to Find and Connect to Devices on Your Local Network/i,'acceptButtons':[_0xf8ecb6(0x209),'OK']},{'id':_0xf8ecb6(0xa72),'titlePattern':/Would Like to Use Bluetooth/i,'acceptButtons':['OK','Allow']},{'id':'tracking','titlePattern':/Allow .* to track your activity|would like permission to track/i,'acceptButtons':['Allow']},{'id':'faceid','titlePattern':/Would Like to Use Face ID/i,'acceptButtons':['OK','Allow']}],_0x3e50e6=[/XCUIElementTypeAlert/i,/SBAlertController/i];function _0x33f1a9(_0x579604){const _0x41795b=_0xf8ecb6,_0x480e66=String(_0x579604[_0x41795b(0x45e)]??'');return _0x3e50e6[_0x41795b(0x275)](_0x2ef17d=>_0x2ef17d['test'](_0x480e66));}function _0x233393(_0x54344c){const _0x4d78ee=_0xf8ecb6;if(_0x33f1a9(_0x54344c))return _0x54344c;const _0x3fb08b=_0x54344c[_0x4d78ee(0x4e3)];if(Array['isArray'](_0x3fb08b))for(const _0x216cd6 of _0x3fb08b){const _0x30a3f3=_0x233393(_0x216cd6);if(_0x30a3f3)return _0x30a3f3;}return null;}function _0x30edfc(_0x1f03f8){const _0x53077f=[],_0x225235=[],_0x518ad8=_0x41c33d=>{const _0x55fea3=_0xc050,_0x4d070f=String(_0x41c33d[_0x55fea3(0x45e)]??''),_0x22b7e1=String(_0x41c33d[_0x55fea3(0x960)]??_0x41c33d[_0x55fea3(0x9e5)]??''),_0x160fea=String(_0x41c33d['value']??'');if(/XCUIElementTypeStaticText/i['test'](_0x4d070f)){const _0x6e0071=_0x22b7e1||_0x160fea;if(_0x6e0071)_0x53077f[_0x55fea3(0x4d1)](_0x6e0071);}else{if(/XCUIElementTypeButton/i[_0x55fea3(0x8aa)](_0x4d070f)){if(_0x22b7e1)_0x225235['push']({'label':_0x22b7e1,'element':_0x41c33d});}else{if(!_0x4d070f){}}}const _0x5f5d9b=_0x41c33d[_0x55fea3(0x4e3)];if(Array['isArray'](_0x5f5d9b)){for(const _0x20eacd of _0x5f5d9b)_0x518ad8(_0x20eacd);}};return _0x518ad8(_0x1f03f8),{'texts':_0x53077f,'buttons':_0x225235};}var _0x3e768a=class{[_0xf8ecb6(0x5be)];['mode'];[_0xf8ecb6(0x6d1)];constructor(_0x4bf9c6){const _0x2b2126=_0xf8ecb6;this['screen']=_0x4bf9c6[_0x2b2126(0x5be)],this['mode']=_0x4bf9c6['mode'],this['onDialog']=_0x4bf9c6['onDialog'];}['getMode'](){const _0x1e193b=_0xf8ecb6;return this[_0x1e193b(0x315)];}['setMode'](_0xcf5c8c){const _0x14ea10=_0xf8ecb6;this[_0x14ea10(0x315)]=_0xcf5c8c;}async['checkAndHandle'](){const _0x2b4010=_0xf8ecb6;if(this['mode']===_0x2b4010(0x411))return{'handled':![]};const _0x94b053=await this[_0x2b4010(0x5be)][_0x2b4010(0x67e)]()['catch'](()=>void 0x0);if(!_0x94b053?.['success']||!_0x94b053['source'])return{'handled':![]};const _0x124fd5=_0x233393(_0x94b053[_0x2b4010(0x40e)]);if(!_0x124fd5)return{'handled':![]};const {texts:_0x2a9d95,buttons:_0x19cc47}=_0x30edfc(_0x124fd5);if(_0x2a9d95['length']===0x0&&_0x19cc47[_0x2b4010(0x3b7)]===0x0)return{'handled':![]};const _0x68f4d9=_0x2a9d95[0x0]??'',_0x4eb411=_0x2a9d95[_0x2b4010(0x795)](0x1)[_0x2b4010(0x4ec)]('\x20'),_0x269466=_0x2ee2ce['find'](_0x48e709=>_0x48e709['titlePattern'][_0x2b4010(0x8aa)](_0x68f4d9));if(!_0x269466)return{'handled':![]};let _0x275c2a='accept';if(this[_0x2b4010(0x315)]==='ask'){if(this['onDialog'])try{_0x275c2a=await this[_0x2b4010(0x6d1)]({'title':_0x68f4d9,'body':_0x4eb411});}catch{_0x275c2a=_0x2b4010(0x89e);}}const _0x2d4f37=_0x275c2a===_0x2b4010(0x89e)?_0x269466['acceptButtons']:_0x269466[_0x2b4010(0xada)]??['Don\x27t\x20Allow','Cancel'],_0xdbeab4=_0x2d4f37['map'](_0xcbc9c6=>_0x19cc47['find'](_0xd65992=>_0xd65992[_0x2b4010(0x960)][_0x2b4010(0x5b5)]()===_0xcbc9c6['toLowerCase']()))['find'](_0x29e5ed=>!!_0x29e5ed);if(!_0xdbeab4)return{'handled':![],'dialog':{'title':_0x68f4d9,'body':_0x4eb411,'action':_0x275c2a}};const _0x7a6ee=await this[_0x2b4010(0x5be)][_0x2b4010(0x31f)]({'accessibilityLabel':_0xdbeab4[_0x2b4010(0x960)]});if(!_0x7a6ee['success'])return{'handled':![],'dialog':{'title':_0x68f4d9,'body':_0x4eb411,'action':_0x275c2a}};return{'handled':!![],'dialog':{'title':_0x68f4d9,'body':_0x4eb411,'action':_0x275c2a}};}};function _0x5daebe(_0x1362f1){const _0x5e232f=_0xf8ecb6,_0x50a876=(_0x1362f1??'')['toLowerCase']();if(_0x50a876===_0x5e232f(0x411)||_0x50a876==='false'||_0x50a876==='0')return _0x5e232f(0x411);if(_0x50a876==='ask')return'ask';return'auto-accept';}import{promises as _0x4708b2}from'fs';import{homedir as _0x3a86a5}from'os';import{join as _0xb31dfd}from'path';var _0x1393b3=_0xf8ecb6(0x374);function _0x13969c(){const _0x192275=_0xf8ecb6;return _0xb31dfd(_0x3a86a5(),'.ceraph',_0x192275(0xa19));}function _0x5e35cd(_0x4cc822){const _0xcef85e=_0xf8ecb6;if(!_0x4cc822||typeof _0x4cc822!=='object')return![];const _0x12c9b0=_0x4cc822;if(typeof _0x12c9b0[_0xcef85e(0x73c)]!=='string'||_0x12c9b0[_0xcef85e(0x73c)]['length']===0x0)return![];if(typeof _0x12c9b0['expiresAt']!=='number')return![];if(_0x12c9b0['githubUser']!==void 0x0){if(!_0x12c9b0['githubUser']||typeof _0x12c9b0['githubUser']!==_0xcef85e(0x9e3))return![];const _0x5d73cc=_0x12c9b0[_0xcef85e(0x58e)];if(typeof _0x5d73cc[_0xcef85e(0x7fc)]!==_0xcef85e(0x30d)||typeof _0x5d73cc['id']!=='number')return![];}if(typeof _0x12c9b0['storedAt']!=='string')return![];return!![];}function _0x4a1e0a(_0x1880a6){if(_0x1880a6['githubUser'])return _0x1880a6;return{..._0x1880a6,'githubUser':{'login':'','id':0x0}};}async function _0x1be651(_0x224be4={}){const _0x1c105b=_0xf8ecb6,_0x396b86=_0x224be4[_0x1c105b(0x538)]??_0x13969c();let _0xd10a4e;try{_0xd10a4e=await _0x4708b2['readFile'](_0x396b86,_0x1c105b(0x827));}catch{return null;}let _0x44a5d3;try{_0x44a5d3=JSON[_0x1c105b(0x981)](_0xd10a4e);}catch{return null;}if(!_0x5e35cd(_0x44a5d3))return null;if(_0x44a5d3[_0x1c105b(0xaf1)]>0x0&&_0x44a5d3['expiresAt']<Date['now']())return null;const _0x858c=_0x4a1e0a(_0x44a5d3);if(_0x858c[_0x1c105b(0x73c)]===_0x1393b3)return null;return _0x858c;}var _0x126fc6=new Set([_0xf8ecb6(0x806),'127.0.0.1','[::1]',_0xf8ecb6(0x74d),_0xf8ecb6(0x802),'::ffff:7f00:1']);function _0x364e6a(_0x517292){const _0x2f5a65=_0xf8ecb6;let _0x4bb80b;try{_0x4bb80b=new URL(_0x517292);}catch{if('lUopV'===_0x2f5a65(0xa7a))return null;else throw new Error(_0x2f5a65(0x44a)+_0x517292+_0x2f5a65(0x8bd));}if(_0x4bb80b['protocol']===_0x2f5a65(0x5d8))return _0x517292;if(_0x4bb80b[_0x2f5a65(0xb03)]==='http:'){const _0x2ab40a=_0x4bb80b['hostname']['toLowerCase']();if(_0x126fc6[_0x2f5a65(0x979)](_0x2ab40a))return _0x517292;throw new Error('Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20over\x20plaintext\x20HTTP\x20to\x20a\x20non-local\x20host:\x20\x22'+_0x517292+'\x22.\x20Use\x20https://\x20for\x20remote\x20endpoints\x20(http://\x20is\x20only\x20allowed\x20for\x20localhost\x20/\x20127.0.0.1).');}throw new Error(_0x2f5a65(0x48d)+_0x4bb80b['protocol']+'\x22\x20URL:\x20\x22'+_0x517292+'\x22.\x20Only\x20https://\x20(or\x20http://\x20for\x20localhost\x20/\x20127.0.0.1)\x20endpoints\x20are\x20allowed.');}var _0x331bdf=process.env.CERAPH_CATALOG_ENDPOINT??_0xf8ecb6(0x5f2),_0x1993c8=process.env.CERAPH_CATALOG_PUBLIC_KEY_ENDPOINT??'https://ceraph.dev/api/catalog/public-key';async function _0x3d8a92(_0x491af0={}){const _0x46c163=_0xf8ecb6,_0xfa11bd=_0x491af0['log']??(_0x30811c=>process['stderr']['write'](_0x30811c+'\x0a'));try{const _0x42b6a1=_0x491af0[_0x46c163(0x327)]??_0x331bdf,_0x1e5ed3=_0x491af0['publicKeyEndpoint']??_0x1993c8;let _0x4cf41d=null;try{_0x364e6a(_0x42b6a1),_0x364e6a(_0x1e5ed3);}catch(_0x29b8ce){if('OogOe'!=='RUKDL')_0x4cf41d=_0x29b8ce instanceof Error?_0x29b8ce[_0x46c163(0x531)]:String(_0x29b8ce);else return _0x410839(_0x2654f5,_0x46c163(0x2e2));}const _0x100e3d=_0x4cf41d?null:await((async()=>{const _0x13f24e=_0x46c163,_0x1dea3c=_0x491af0['publicKey']??await _0x26b288({'fetchImpl':_0x491af0['fetchImpl'],'timeoutMs':_0x491af0[_0x13f24e(0x2f9)]??0x1388,'log':_0xfa11bd,'endpoint':_0x1e5ed3});return _0xb1badd({'endpoint':_0x42b6a1,'publicKey':_0x1dea3c,'timeoutMs':_0x491af0[_0x13f24e(0x2f9)]??0x1388,'fetchImpl':_0x491af0[_0x13f24e(0x5d0)]});})());_0x4cf41d&&_0xfa11bd(_0x46c163(0x2c2)+_0x4cf41d+')');if(_0x100e3d){_0x2e9203(_0x100e3d,_0xfa11bd);const _0x293597=Object['keys'](_0x100e3d['catalog'])[_0x46c163(0x3b7)],_0x5bca8e=_0x100e3d[_0x46c163(0x314)]?Object[_0x46c163(0x8c1)](_0x100e3d[_0x46c163(0x314)])['length']:0x0,_0x2fe2ca=_0x100e3d['extendedCatalog']?Object[_0x46c163(0x8c1)](_0x100e3d[_0x46c163(0x951)])[_0x46c163(0x3b7)]:0x0;_0xfa11bd(_0x46c163(0x37e)+_0x293597+'\x20versioned,\x20'+_0x5bca8e+_0x46c163(0x3ba)+_0x2fe2ca+_0x46c163(0x429));if(_0x100e3d[_0x46c163(0x421)]){const {droppedCount:_0x1fef91,samples:_0x4413e7}=_0x100e3d['droppedEntries'];_0xfa11bd(_0x46c163(0xa1b)+_0x1fef91+_0x46c163(0x587)+_0x4413e7['join'](',\x20'));}return _0x100e3d[_0x46c163(0xaff)];}return _0xfa11bd(_0x46c163(0x8c8)),_0x3b6c12(null),_0x50a1b6(null),null;}catch{return null;}}function _0x2e9203(_0x1d4a3c,_0x459468){const _0x33176f=_0xf8ecb6;try{'bqvTq'===_0x33176f(0x2b6)?(_0x3b6c12(_0x1d4a3c[_0x33176f(0x314)]??null),_0x50a1b6(_0x1d4a3c[_0x33176f(0x951)]??null)):_0x228c4b[_0x33176f(0x2b0)]=(..._0x15181c)=>{const _0x280c1b=_0x33176f;_0x540b95[_0x280c1b(0x910)][_0x280c1b(0xaac)](_0x15181c[_0x280c1b(0x86b)](_0x124d94=>typeof _0x124d94===_0x280c1b(0x30d)?_0x124d94:_0x4480dc(_0x124d94))[_0x280c1b(0x4ec)]('\x20')+'\x0a');};}catch(_0x52f069){_0x459468(_0x33176f(0x4aa)+(_0x52f069 instanceof Error?_0x52f069[_0x33176f(0x531)]:String(_0x52f069)));}}async function _0x26b288(_0x4d305d){const _0x2cf097=_0xf8ecb6,_0x5b8caa=_0x4d305d['endpoint']??_0x1993c8;try{_0x364e6a(_0x5b8caa);}catch(_0x370e3d){return _0x4d305d[_0x2cf097(0x2b0)](_0x2cf097(0x442)+(_0x370e3d instanceof Error?_0x370e3d['message']:String(_0x370e3d))+_0x2cf097(0x481)),_0x1c7a97;}const _0x1a5dca=await _0x4bae0d({'endpoint':_0x5b8caa,'timeoutMs':_0x4d305d[_0x2cf097(0x2f9)]??0x1388,'fetchImpl':_0x4d305d['fetchImpl']});if(_0x1a5dca)return _0x1a5dca;return _0x1c7a97;}var _0x27ee0f=null;function _0x258be2(_0x43badb){_0x27ee0f=_0x43badb;}var _0x43b35b=_0xf8ecb6(0x347),_0x375735=0x7530,_0x3eb20a=class extends Error{['kind'];['status'];[_0xf8ecb6(0x847)];['details'];constructor(_0x382a86,_0x2e7207,_0x2a6592,_0x3eb0d0,_0x3c4898){const _0xe15591=_0xf8ecb6;super(_0x2a6592),this['name']='CeraphServerError',this['kind']=_0x382a86,this[_0xe15591(0x428)]=_0x2e7207,this[_0xe15591(0x847)]=_0x2a6592;if(_0x3eb0d0!==void 0x0)this['cause']=_0x3eb0d0;if(_0x3c4898!==void 0x0)this[_0xe15591(0x65d)]=_0x3c4898;}};async function _0xdb0b95(_0x1f61fd){const _0xfb8d3e=_0xf8ecb6,_0x4a0981=_0x1f61fd[_0xfb8d3e(0x428)];if(_0x4a0981===0x191)return new _0x3eb20a(_0xfb8d3e(0x800),0x191,_0xfb8d3e(0x563));if(_0x4a0981===0x192||_0x4a0981===0x193)return new _0x3eb20a(_0xfb8d3e(0xb21),_0x4a0981,'Flow\x20intelligence\x20(rn_list_flows\x20/\x20rn_find_flows\x20/\x20rn_test_flows)\x20is\x20a\x20Pro\x20feature\x20—\x20upgrade\x20at\x20https://ceraph.dev/#pricing.\x20If\x20you\x20just\x20upgraded,\x20re-run\x20this\x20—\x20your\x20Pro\x20access\x20refreshes\x20automatically.');if(_0x4a0981===0x1ad)return new _0x3eb20a(_0xfb8d3e(0x477),0x1ad,_0xfb8d3e(0x328));if(_0x4a0981>=0x1f4)return new _0x3eb20a(_0xfb8d3e(0x57e),_0x4a0981,'Ceraph\x20server\x20is\x20having\x20a\x20moment\x20(HTTP\x20'+_0x4a0981+').\x20Try\x20again\x20in\x20a\x20few\x20seconds.');let _0x228e51,_0x403a0c;try{const _0xf3b016=await _0x1f61fd[_0xfb8d3e(0x2ea)]();if(_0xf3b016&&typeof _0xf3b016==='object'){_0x403a0c=_0xf3b016;const _0x209cbc=_0xf3b016,_0x3afce1=typeof _0x209cbc['message']==='string'&&_0x209cbc[_0xfb8d3e(0x531)]||typeof _0x209cbc[_0xfb8d3e(0x3dd)]===_0xfb8d3e(0x30d)&&_0x209cbc['error']||void 0x0;if(_0x3afce1)_0x228e51=_0x3afce1;}}catch{}return new _0x3eb20a('bad-response',_0x4a0981,'Ceraph\x20request\x20failed\x20(HTTP\x20'+_0x4a0981+(_0x228e51?':\x20'+_0x228e51:'')+').',void 0x0,_0x403a0c);}function _0x3980d8(_0x1bba44){const _0x237480=_0xf8ecb6,_0x4ae461=_0x1bba44?.['apiBase']?.[_0x237480(0x668)]()||process.env.CERAPH_API_URL?.['trim']()||_0x43b35b;return _0x364e6a(_0x4ae461),_0x4ae461[_0x237480(0x42e)](/\/+$/,'');}async function _0x4e6fa7(_0x3f200c,_0x11c2e4,_0xb72165,_0x2c6ba0){const _0x3bf31d=_0xf8ecb6;if(!_0xb72165)throw new _0x3eb20a(_0x3bf31d(0x800),0x191,_0x3bf31d(0x563));const _0x400732=_0x2c6ba0?.['timeoutMs']??_0x375735,_0x235f29=_0x3980d8(_0x2c6ba0),_0x4d500c=''+_0x235f29+(_0x3f200c[_0x3bf31d(0x746)]('/')?_0x3f200c:'/'+_0x3f200c),_0x62535c=new AbortController(),_0x4da29e=setTimeout(()=>_0x62535c[_0x3bf31d(0x95c)](),_0x400732);let _0x49dae9;try{_0x49dae9=await fetch(_0x4d500c,{'method':'POST','headers':{'Content-Type':_0x3bf31d(0x22a),'Authorization':'Bearer\x20'+_0xb72165['accessToken']},'body':JSON[_0x3bf31d(0x312)](_0x11c2e4??{}),'signal':_0x62535c['signal']});}catch(_0x53b229){const _0x1215a7=_0x53b229;if(_0x1215a7?.[_0x3bf31d(0x9e5)]===_0x3bf31d(0xace)){if(_0x3bf31d(0x3b8)==='Jfrjb')_0x125aaa=_0x3c97c2['filter'](_0x1dad43=>_0x1dad43['id']===_0x129b2e['id']&&_0x1dad43[_0x3bf31d(0x69a)]===_0x3bf31d(0xa45));else throw new _0x3eb20a(_0x3bf31d(0x651),0x0,_0x3bf31d(0x823)+_0x400732+_0x3bf31d(0x8ea),_0x53b229);}throw new _0x3eb20a('network-error',0x0,_0x3bf31d(0x900),_0x53b229);}finally{clearTimeout(_0x4da29e);}if(!_0x49dae9['ok']){if(_0x3bf31d(0x8c0)!=='eeRgT')throw await _0xdb0b95(_0x49dae9);else return{'kind':_0x3bf31d(0xacf),'filePath':_0x161331};}let _0x7a7f90;try{_0x7a7f90=await _0x49dae9['json']();}catch(_0x2605b6){if(_0x3bf31d(0x454)!=='tgoLB'){const _0x2cdde2=_0x2605b6;throw new _0x3eb20a(_0x3bf31d(0x4a9),_0x49dae9['status'],'Ceraph\x20server\x20returned\x20malformed\x20JSON\x20for\x20'+_0x3f200c+':\x20'+(_0x2cdde2?.[_0x3bf31d(0x531)]??String(_0x2605b6)),_0x2605b6);}else{if(_0x10a264[_0x3bf31d(0x5a0)]==='launch'||_0x9a499['action']==='terminate'||_0x36be47[_0x3bf31d(0x5a0)]==='reset')return!![];if(_0xce0a5d['action']==='pressKey'&&_0x3bddd3['key']===_0x3bf31d(0xa4a))return!![];if(_0x35e546['action']==='tap')return!![];if(_0xc38b69['action']==='type'&&_0x6f5bd9['into'])return!![];if(_0x5d01dd['verifyNavigation'])return!![];if(_0xe03f21['verifyProfileTransition'])return!![];if(_0x32e880[_0x3bf31d(0x41b)]){if(_0x3ad68e[_0x3bf31d(0x41b)][_0x3bf31d(0x98f)]==='storage')return!![];const _0x11af1d=_0x4b26b4['verifyMutation'][_0x3bf31d(0x9de)]['toUpperCase']();return _0x11af1d==='POST'||_0x11af1d===_0x3bf31d(0x594)||_0x11af1d==='PATCH'||_0x11af1d==='DELETE';}return![];}}if(!_0x7a7f90||typeof _0x7a7f90!==_0x3bf31d(0x9e3)||Array[_0x3bf31d(0x200)](_0x7a7f90))throw new _0x3eb20a('bad-response',_0x49dae9[_0x3bf31d(0x428)],'Ceraph\x20server\x20returned\x20an\x20unexpected\x20response\x20shape\x20for\x20'+_0x3f200c+_0x3bf31d(0x44b));return _0x7a7f90;}var _0x2a7d77=0x5*0x3c*0x3e8,_0x12fa01=null,_0x4c06a0=null;function _0x409a76(){_0x12fa01=null,_0x4c06a0=null;}var _0x304c87=_0xf8ecb6(0x347);function _0x39e8c6(_0x1b41b6){const _0x1f34e4=_0xf8ecb6,_0x50ee41=_0x1b41b6[_0x1f34e4(0xb06)]?.['trim']()||process.env.CERAPH_API_URL?.[_0x1f34e4(0x668)]()||_0x304c87;return _0x50ee41[_0x1f34e4(0x42e)](/\/+$/,'')+'/tier-check';}async function _0x2a0a26(_0xd0d9a7={}){return _0x2cd7fc(_0xd0d9a7,'isPro');}async function _0x4faaf3(_0x55ea36={}){return _0x2cd7fc(_0x55ea36,'mobilePro');}function _0xc050(_0x287309,_0xfb26ba){_0x287309=_0x287309-0x1ec;const _0x3e8879=_0x3e88();let _0xc050ac=_0x3e8879[_0x287309];return _0xc050ac;}async function _0x2cd7fc(_0x40f5c6,_0x23d330){const _0x99d240=_0xf8ecb6,_0x26cc9e=_0x40f5c6['ttlMs']??_0x2a7d77,_0x3f5c93=_0x40f5c6[_0x99d240(0x2f8)]??Date['now'],_0x29b56a=_0x40f5c6['loadAuth']??_0x1be651,_0x4d5a1b=_0x40f5c6[_0x99d240(0x772)]??((_0x584f2c,_0x2cef3e)=>globalThis[_0x99d240(0x2ce)](_0x584f2c,_0x2cef3e)),_0x3622c8=()=>_0x23d330===_0x99d240(0x2e2)?_0x4c06a0:_0x12fa01,_0x27a440=_0x472fc7=>{const _0x126f55=_0x99d240;if(_0x23d330===_0x126f55(0x2e2))_0x4c06a0=_0x472fc7;else _0x12fa01=_0x472fc7;},_0x3bbcb4=_0x3622c8();if(_0x3bbcb4&&_0x3f5c93()-_0x3bbcb4['fetchedAt']<_0x26cc9e)return _0x3bbcb4[_0x99d240(0x39d)];let _0x2a8db5=![];try{const _0x6bee02=await _0x29b56a();if(!_0x6bee02?.[_0x99d240(0x73c)])return _0x27a440({'value':![],'fetchedAt':_0x3f5c93()}),![];const _0x1fd298=_0x39e8c6(_0x40f5c6),_0x4c00d4=await _0x4d5a1b(_0x1fd298,{'headers':{'Authorization':'Bearer\x20'+_0x6bee02[_0x99d240(0x73c)],'Accept':'application/json'}});if(!_0x4c00d4['ok'])return _0x27a440({'value':![],'fetchedAt':_0x3f5c93()}),![];const _0x17074f=await _0x4c00d4['json']();_0x2a8db5=_0x17074f!==null&&typeof _0x17074f==='object'&&_0x17074f[_0x23d330]===!![];}catch{'vpoWO'===_0x99d240(0x86c)?this[_0x99d240(0xa01)]=null:_0x2a8db5=![];}return _0x27a440({'value':_0x2a8db5,'fetchedAt':_0x3f5c93()}),_0x2a8db5;}import{promises as _0x6d8dfe}from'fs';import{join as _0x3ab963}from'path';import{execFile}from'child_process';import{constants as _0x2bd48f,promises as _0x2e20ae}from'fs';import{isAbsolute as _0x589d70,join as _0x4ad26b,normalize,relative as _0x50619e}from'path';import{promisify}from'util';var _0x1b1611=promisify(execFile),_0x1a0ea1=0xc8,_0x2b521b=0x7a120,_0x407c84=new Set(['.tsx','.ts',_0xf8ecb6(0x73b),'.js',_0xf8ecb6(0xa70),'.mjs',_0xf8ecb6(0x584)]),_0x2c6b44=[/(^|\/)\.env(\.|$)/,/\.pem$/,/\.key$/,/\.p12$/,/\.pfx$/,/\.keystore$/,/\.jks$/,/\.mobileprovision$/,/(^|\/)credentials?\b/,/(^|\/)secrets?\b/,/private[_-]?key/];function _0xcc4120(_0x13f1d0){const _0x5baca5=_0xf8ecb6,_0xf7459a=_0x13f1d0[_0x5baca5(0x5b5)]();for(const _0x3afc4f of _0x2c6b44){if(_0x3afc4f['test'](_0xf7459a))return![];}const _0x3406cc=_0xf7459a['split']('/')['pop']()??'';if(/[._-]tokens?($|[._-])/[_0x5baca5(0x8aa)](_0x3406cc))return![];const _0x1074f5=_0x13f1d0['lastIndexOf']('.');if(_0x1074f5<0x0)return![];const _0x4e0ba0=_0x13f1d0['slice'](_0x1074f5)[_0x5baca5(0x5b5)]();return _0x407c84['has'](_0x4e0ba0);}async function _0x511969(_0x499f7f,_0x3d3a30){const _0x3ddecf=_0xf8ecb6;try{return await _0x1b1611(_0x3ddecf(0x490),['rev-parse',_0x3ddecf(0xa36),_0x3ddecf(0x278),_0x3d3a30],{'cwd':_0x499f7f}),!![];}catch{return![];}}var _0x4c0ab0=new Map();function _0x9c174(_0x32abc4){const _0x21a479=_0xf8ecb6,_0xda9672=_0x4c0ab0[_0x21a479(0x3fd)](_0x32abc4);if(_0xda9672)return _0xda9672;const _0x5a646f=_0x20bed6(_0x32abc4);return _0x4c0ab0[_0x21a479(0x93e)](_0x32abc4,_0x5a646f),_0x5a646f;}async function _0x20bed6(_0xa0afd6){const _0x9d4e3b=_0xf8ecb6;try{const {stdout:_0x18187b}=await _0x1b1611(_0x9d4e3b(0x490),[_0x9d4e3b(0x6f2),_0x9d4e3b(0x595),_0x9d4e3b(0x4f9)],{'cwd':_0xa0afd6}),_0x1c9a43=_0x18187b[_0x9d4e3b(0x668)]();if(_0x1c9a43){const _0xe912cd=_0x1c9a43['replace'](/^origin\//,'');if(_0xe912cd&&await _0x511969(_0xa0afd6,_0xe912cd))return _0xe912cd;if(await _0x511969(_0xa0afd6,_0x1c9a43))return _0x1c9a43;if(_0xe912cd)return _0xe912cd;}}catch{}for(const _0x509b12 of['main','master']){if(await _0x511969(_0xa0afd6,_0x509b12))return _0x509b12;}return'HEAD';}async function _0x4aa79c(_0x3f4f84){const _0x142b11=_0xf8ecb6;try{const {stdout:_0x34a384}=await _0x1b1611(_0x142b11(0x490),['rev-parse',_0x142b11(0x201),'HEAD'],{'cwd':_0x3f4f84});return _0x34a384[_0x142b11(0x668)]();}catch{return _0x142b11(0x6b2);}}async function _0x1f644c(_0x1dfa33,_0x4c8966){const _0x57da21=_0xf8ecb6;try{const {stdout:_0x36a371}=await _0x1b1611(_0x57da21(0x490),['rev-parse',_0x4c8966],{'cwd':_0x1dfa33});return _0x36a371['trim']();}catch{return _0x57da21(0xae0)!=='XILED'?this['appendIfValid'](_0xa498d2):_0x4c8966;}}async function _0x4f2a26(_0x355841,_0x21839d){const _0x244cce=_0xf8ecb6;try{const {stdout:_0x91b5c0}=await _0x1b1611('git',['diff','--relative',_0x21839d],{'cwd':_0x355841,'maxBuffer':0x20*0x400*0x400});return _0x91b5c0;}catch(_0x195298){const _0x4a688c=_0x195298 instanceof Error?_0x195298[_0x244cce(0x531)]:String(_0x195298);if(_0x4a688c['includes']('unknown\x20revision')){const {stdout:_0x43d621}=await _0x1b1611(_0x244cce(0x490),['diff',_0x244cce(0x2fd),_0x244cce(0xa12)],{'cwd':_0x355841,'maxBuffer':0x20*0x400*0x400});return _0x43d621;}throw _0x195298;}}async function _0x48efab(_0x29623e){const _0x4fc8fd=_0xf8ecb6;try{const {stdout:_0x5d14d4}=await _0x1b1611(_0x4fc8fd(0x490),[_0x4fc8fd(0x6b6)],{'cwd':_0x29623e,'maxBuffer':0x8*0x400*0x400});return _0x5d14d4[_0x4fc8fd(0x51a)]('\x0a')['map'](_0x2955bf=>_0x2955bf['trim']())['filter'](Boolean)[_0x4fc8fd(0x529)](_0xcc4120);}catch{return[];}}async function _0x4748b8(_0x5ecb6a,_0x4788d7){const _0x1f00c1=_0xf8ecb6;try{const {stdout:_0x47bfbc}=await _0x1b1611('git',[_0x1f00c1(0x7d6),_0x1f00c1(0x77d),_0x1f00c1(0x2fd),_0x4788d7],{'cwd':_0x5ecb6a,'maxBuffer':0x8*0x400*0x400});return _0x47bfbc['split']('\x0a')[_0x1f00c1(0x86b)](_0x4b2471=>_0x4b2471['trim']())['filter'](_0x50e237=>_0x50e237[_0x1f00c1(0x3b7)]>0x0);}catch(_0x2cb1df){const _0x40b94=_0x2cb1df instanceof Error?_0x2cb1df[_0x1f00c1(0x531)]:String(_0x2cb1df);if(_0x40b94[_0x1f00c1(0x27e)](_0x1f00c1(0x64b))){const {stdout:_0x1b1887}=await _0x1b1611('git',[_0x1f00c1(0x7d6),'--name-only','--relative','HEAD'],{'cwd':_0x5ecb6a,'maxBuffer':0x8*0x400*0x400});return _0x1b1887['split']('\x0a')['map'](_0x2c1bae=>_0x2c1bae[_0x1f00c1(0x668)]())['filter'](_0x1f4763=>_0x1f4763['length']>0x0);}throw _0x2cb1df;}}async function _0x26a76c(_0x32b7ee,_0x286cf1){const _0x28b7d0=_0xf8ecb6,_0x1bd21f={},_0x1c4cd2=new Set();let _0x173964;try{_0x173964=await _0x2e20ae[_0x28b7d0(0x6f7)](_0x32b7ee);}catch{return _0x1bd21f;}for(const _0x2f25e8 of _0x286cf1){if(_0x28b7d0(0x6eb)!==_0x28b7d0(0x6eb)){const _0x5f34e8=[];if(_0x1ddec2[_0x28b7d0(0xa9a)])_0x5f34e8[_0x28b7d0(0x4d1)]('key='+_0x25c8b2['elementKey']);if(typeof _0x6db70d[_0x28b7d0(0x9a5)]===_0x28b7d0(0x30d))_0x5f34e8[_0x28b7d0(0x4d1)](_0x28b7d0(0x74f)+_0x33c41a(_0x4fe0ee[_0x28b7d0(0x9a5)],0x50));if(typeof _0x4385d6['nextText']==='string')_0x5f34e8[_0x28b7d0(0x4d1)]('next='+_0x1a0550(_0x1333e6['nextText'],0x50));if(typeof _0x5815ff[_0x28b7d0(0x270)]==='number')_0x5f34e8['push'](_0x28b7d0(0x27d)+_0x1546de['durationMs']);return _0x5f34e8['length']>0x0?_0x5f34e8['join']('\x20'):void 0x0;}else{if(_0x1c4cd2['size']>=_0x1a0ea1)break;if(_0x589d70(_0x2f25e8)||_0x2f25e8[_0x28b7d0(0x27e)]('..'))continue;const _0x2df54e=normalize(_0x4ad26b(_0x32b7ee,_0x2f25e8)),_0x1401ec=_0x50619e(_0x32b7ee,_0x2df54e);if(_0x1401ec[_0x28b7d0(0x746)]('..')||_0x589d70(_0x1401ec))continue;if(_0x1c4cd2['has'](_0x1401ec))continue;_0x1c4cd2[_0x28b7d0(0x856)](_0x1401ec);if(!_0xcc4120(_0x1401ec))continue;let _0x5b8243;try{'GHzJh'!=='GHzJh'?_0x4f9703[_0x28b7d0(0x6ee)](_0x28b7d0(0x72c)):_0x5b8243=await _0x2e20ae[_0x28b7d0(0x6f7)](_0x2df54e);}catch(_0x2663f7){const _0x351c30=_0x2663f7;if(_0x351c30['code']===_0x28b7d0(0x5a8)||_0x351c30['code']==='ELOOP'||_0x351c30[_0x28b7d0(0x3aa)]===_0x28b7d0(0x235)||_0x351c30[_0x28b7d0(0x3aa)]==='EPERM'){if('avzrd'!=='PMjIK')continue;else return _0x384947(_0x28b7d0(0xad8)),null;}throw _0x2663f7;}const _0x522114=_0x50619e(_0x173964,_0x5b8243);if(_0x522114[_0x28b7d0(0x746)]('..')||_0x589d70(_0x522114))continue;let _0x5610ee;try{_0x5610ee=await _0x2e20ae['open'](_0x2df54e,_0x2bd48f[_0x28b7d0(0x586)]|_0x2bd48f['O_NOFOLLOW']);const _0x1de76e=await _0x5610ee['stat']();if(_0x1de76e[_0x28b7d0(0x926)]())continue;if(_0x1de76e[_0x28b7d0(0x952)]>_0x2b521b)continue;const _0x504896=await _0x5610ee['readFile']('utf-8');_0x1bd21f[_0x1401ec]=_0x504896;}catch(_0x5d0d03){const _0x568c74=_0x5d0d03;if(_0x568c74[_0x28b7d0(0x3aa)]==='ENOENT'||_0x568c74['code']==='EISDIR'||_0x568c74[_0x28b7d0(0x3aa)]===_0x28b7d0(0x739)||_0x568c74[_0x28b7d0(0x3aa)]===_0x28b7d0(0x235)||_0x568c74['code']===_0x28b7d0(0x915))continue;throw _0x5d0d03;}finally{await _0x5610ee?.['close']();}}}return _0x1bd21f;}import{execFile as _0x24b644}from'child_process';import{promisify as _0xb24c57}from'util';var _0x587d94=_0xb24c57(_0x24b644);async function _0x2e0c69(_0x2fd782){const _0x244fd8=_0xf8ecb6,{stdout:_0x470afc}=await _0x587d94(_0x244fd8(0x490),[_0x244fd8(0x2f7),'--get',_0x244fd8(0xac7)],{'cwd':_0x2fd782,'encoding':_0x244fd8(0x827)}),_0x1259d9=_0x470afc[_0x244fd8(0x668)](),_0x427e10=_0x1259d9['replace'](/\.git$/,''),_0x128d7a=_0x427e10['match'](/^(?:https?:\/\/(?:[^/@]+@)?github\.com(?::\d+)?\/|git@github\.com:|ssh:\/\/git@github\.com(?::\d+)?\/)([^/]+)\/([^/]+?)$/);if(!_0x128d7a)throw new Error('Could\x20not\x20resolve\x20GitHub\x20repo\x20from\x20git\x20remote.');return{'owner':_0x128d7a[0x1],'repo':_0x128d7a[0x2]};}var _0x1d993a=0x7a120,_0x5c09e3=0x1f4,_0xcd601f=0x8*0x400*0x400;async function _0xb5d385(_0x498862,_0x34d088={}){const _0x457506=_0xf8ecb6,_0x67b599=_0x34d088['fetcher']??_0x4e6fa7,_0x44771d=_0x34d088[_0x457506(0x9c7)]??_0x48efab,_0x2b7fff=_0x34d088[_0x457506(0x7c0)]??(async _0x135842=>{try{return await _0x2e0c69(_0x135842);}catch{return null;}}),_0x3917a6=_0x34d088['resolveSha']??_0x1f644c,_0x297637=_0x34d088[_0x457506(0x612)]??_0x4aa79c,_0x223091=_0x34d088[_0x457506(0x4e4)]??(_0x25c010=>_0x6d8dfe[_0x457506(0x4e4)](_0x25c010,_0x457506(0x827))),_0x23293b=await _0x2b7fff(_0x498862[_0x457506(0x288)])[_0x457506(0x48b)](()=>null);if(!_0x23293b)return{'status':_0x457506(0x965),'reason':'no-github-remote','message':'No\x20GitHub\x20remote\x20detected\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.'};const _0x706d21=await _0x297637(_0x498862['workingDir']),_0x5898bc=await _0x3917a6(_0x498862[_0x457506(0x288)],_0x457506(0xa12));if(_0x5898bc===_0x457506(0xa12)||_0x5898bc['length']<0x7||_0x706d21===_0x457506(0x6b2))return{'status':_0x457506(0x965),'reason':_0x457506(0x7da),'message':_0x457506(0x31c)};const _0x137b68=await _0x44771d(_0x498862['workingDir']);if(_0x137b68['length']===0x0)return{'status':_0x457506(0x965),'reason':_0x457506(0x973),'message':'No\x20graph-relevant\x20files\x20found\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.'};const _0x3f727f={};let _0x16a8f5=![],_0x3ebe5e=0x0;for(const _0x3f3dc9 of _0x137b68){if(!_0xcc4120(_0x3f3dc9))continue;if(Object[_0x457506(0x8c1)](_0x3f727f)['length']>=_0x5c09e3){_0x16a8f5=!![];break;}let _0x2a4d16;try{_0x2a4d16=await _0x223091(_0x3ab963(_0x498862[_0x457506(0x288)],_0x3f3dc9));}catch{continue;}const _0x5e7acb=Buffer[_0x457506(0x901)](_0x2a4d16);if(_0x5e7acb>_0x1d993a)continue;if(_0x3ebe5e+_0x5e7acb>_0xcd601f){_0x16a8f5=!![];break;}_0x3f727f[_0x3f3dc9]=_0x2a4d16,_0x3ebe5e+=_0x5e7acb;}if(Object['keys'](_0x3f727f)['length']===0x0)return{'status':'skipped','reason':_0x457506(0x973),'message':'No\x20readable\x20graph-relevant\x20files\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.'};let _0x5d5959;if(_0x3f727f[_0x457506(0x8fb)]){if('btDtC'==='xORUE'){let _0x455055=_0x2345ab['trim']();if(_0x455055['endsWith'](';'))_0x455055=_0x455055['slice'](0x0,-0x1)['trim']();return(_0x455055[_0x457506(0x746)]('\x22')&&_0x455055[_0x457506(0xaa5)]('\x22')||_0x455055[_0x457506(0x746)]('\x27')&&_0x455055['endsWith']('\x27'))&&(_0x455055=_0x455055['slice'](0x1,-0x1)),_0x455055;}else _0x5d5959=_0x3f727f[_0x457506(0x8fb)];}try{const _0x58ebf8=await _0x67b599('/rn-init-graph',{'repoOwner':_0x23293b['owner'],'repoName':_0x23293b['repo'],'branch':_0x706d21,'headSha':_0x5898bc,'appFiles':_0x3f727f,..._0x5d5959?{'appJsonContent':_0x5d5959}:{}},_0x498862[_0x457506(0x309)]);if(_0x58ebf8['ok']&&_0x58ebf8['flavor']&&typeof _0x58ebf8[_0x457506(0x984)]===_0x457506(0x2af)&&typeof _0x58ebf8['layoutCount']===_0x457506(0x2af))return{'status':'seeded','flavor':_0x58ebf8['flavor'],'screenCount':_0x58ebf8[_0x457506(0x984)],'layoutCount':_0x58ebf8[_0x457506(0xa7f)],'bundleId':_0x58ebf8[_0x457506(0x369)]??null,'persisted':_0x58ebf8[_0x457506(0x6ae)]===!![]};return{'status':'skipped','reason':'server-error','message':'Graph\x20cache\x20seed\x20returned\x20an\x20unexpected\x20response\x20shape.'};}catch(_0x31f628){if(_0x31f628 instanceof _0x3eb20a){const _0x3d8549=_0x31f628['kind']===_0x457506(0x4a9)&&_0x31f628[_0x457506(0x847)]['includes']('no-mobile-graph')?_0x457506(0x914):'server-error';return{'status':_0x457506(0x965),'reason':_0x3d8549,'message':_0x16a8f5?_0x31f628['agentMessage']+'\x20(payload\x20was\x20capped\x20at\x20'+_0x5c09e3+_0x457506(0x941):_0x31f628[_0x457506(0x847)]};}return{'status':_0x457506(0x965),'reason':_0x457506(0x57e),'message':_0x31f628 instanceof Error?_0x31f628[_0x457506(0x531)]:'Graph\x20cache\x20seed\x20failed\x20(unknown\x20error).'};}}var _0x5c32c3=null;function _0x25cdf3(_0x448b05={}){if(_0x5c32c3)return _0x5c32c3;const _0x4856f4=_0x2fd8c7(_0x448b05)['catch'](()=>null);return _0x5c32c3=_0x4856f4['then'](_0x41abc2=>{return _0x41abc2===null&&(_0x5c32c3=null),_0x41abc2;}),_0x5c32c3;}async function _0x2fd8c7(_0x264088){const _0x482585=_0xf8ecb6,_0x181e72=_0x264088[_0x482585(0x288)]??process[_0x482585(0x7f5)](),_0x56d13b=_0x264088[_0x482585(0x2c1)]??(()=>_0x1be651()),_0x43197e=_0x264088['checkMobilePro']??(()=>_0x4faaf3()),_0x4a9552=_0x264088['seedMobileGraph']??_0xb5d385,_0x18740a=await _0x56d13b()[_0x482585(0x48b)](()=>null);if(!_0x18740a?.[_0x482585(0x73c)])return null;const _0x1af6cb=await _0x43197e()['catch'](()=>![]);if(!_0x1af6cb)return null;return _0x4a9552({'workingDir':_0x181e72,'auth':_0x18740a});}import{promises as _0x8fffa5}from'fs';import{homedir as _0x10cdf6}from'os';import{join as _0x2f4eff,dirname as _0x4234b9}from'path';function _0x17c6cf(){return _0x2f4eff(_0x10cdf6(),'.ceraph','init-tier.json');}async function _0x31acfa(_0x2a2182){const _0x2709b1=_0xf8ecb6,_0x3a13f9=_0x2a2182??_0x17c6cf();let _0x28d8e7;try{_0x28d8e7=await _0x8fffa5[_0x2709b1(0x4e4)](_0x3a13f9,_0x2709b1(0x827));}catch{return null;}let _0x4b1ef9;try{_0x4b1ef9=JSON['parse'](_0x28d8e7);}catch{return null;}if(!_0x4b1ef9||typeof _0x4b1ef9!=='object'||Array[_0x2709b1(0x200)](_0x4b1ef9)){if(_0x2709b1(0x2bb)===_0x2709b1(0x2bb))return null;else _0x31f40c[_0x3f6c8b]=_0x2ad001(_0x25af3e[_0xbd3acb]);}const _0x224dec=_0x4b1ef9,_0x5e1a8e=_0x224dec['tier'];if(_0x5e1a8e!==_0x2709b1(0x7a4)&&_0x5e1a8e!==_0x2709b1(0x2a1))return null;const _0x1e4ffe=typeof _0x224dec['selectedAt']===_0x2709b1(0x30d)&&_0x224dec['selectedAt']['length']>0x0?_0x224dec[_0x2709b1(0x1f8)]:new Date(0x0)[_0x2709b1(0x471)]();return{'tier':_0x5e1a8e,'selectedAt':_0x1e4ffe};}async function _0x29339f(_0x402e2c,_0x431c0d,_0x291f52=Date['now']){const _0x2a64d2=_0xf8ecb6,_0x1d4ebf=_0x431c0d??_0x17c6cf(),_0x51b388={'tier':_0x402e2c,'selectedAt':new Date(_0x291f52())[_0x2a64d2(0x471)]()};return await _0x8fffa5[_0x2a64d2(0x243)](_0x4234b9(_0x1d4ebf),{'recursive':!![],'mode':0x1c0}),await _0x8fffa5['writeFile'](_0x1d4ebf,JSON[_0x2a64d2(0x312)](_0x51b388,null,0x2)+'\x0a',_0x2a64d2(0x827)),_0x51b388;}import{promises as _0x549cd8,constants as _0x754901}from'fs';import{homedir as _0x28d99a,platform}from'os';import{join as _0x89c0d9,dirname as _0x35ced3}from'path';import{spawn as _0x4185f9}from'child_process';import{randomBytes as _0x53ee8f}from'crypto';import{createServer as _0x218d09}from'http';import{createInterface}from'readline';var _0x31b07f=0x5*0x3c*0x3e8;function _0x435104(){const _0x245922=_0xf8ecb6,_0x400a6d=process.env.CERAPH_WEB_BASE_URL?.['trim']();if(_0x400a6d)return _0x400a6d;const _0x57b559=process.env.CERAPH_API_URL?.['trim']();if(_0x57b559){const _0x5d2771=_0x57b559[_0x245922(0x42e)](/\/+$/,'')[_0x245922(0x42e)](/\/api\/mcp$/,'');if(_0x5d2771&&_0x5d2771!==_0x57b559['replace'](/\/+$/,''))return _0x5d2771;}return'https://ceraph.dev';}function _0x5a3230(_0x172d4c={}){const _0x178e63=_0xf8ecb6,_0x1656b8=_0x435104()['replace'](/\/+$/,''),_0x31bc48=_0x172d4c['intent']===_0x178e63(0x2a1)?_0x178e63(0x64f):'';return _0x1656b8+_0x178e63(0x3b4)+_0x31bc48;}async function _0x57ae5f(_0x309cec={}){const _0x4a2dce=_0xf8ecb6,_0x4a0903=_0x309cec['token']?.['trim']()||process.env.CERAPH_AUTH_TOKEN?.[_0x4a2dce(0x668)]();if(_0x4a0903)return _0x4d47b8(_0x4a0903,void 0x0,_0x309cec['authFilePath']);const _0xeb97bb=_0x309cec['timeoutMs']??_0x31b07f,_0x28b037=(_0x309cec[_0x4a2dce(0x27f)]??_0x435104())[_0x4a2dce(0x42e)](/\/+$/,''),_0x583d63=_0x53ee8f(0x10)[_0x4a2dce(0xafa)]('base64url'),_0x3dd81f=await _0xe01f12(_0x583d63,_0x28b037),_0x85b1ac=_0x309cec[_0x4a2dce(0x31e)]===_0x4a2dce(0x2a1)?'&intent=pro':'',_0x4b0695=_0x28b037+'/cli-auth?port='+_0x3dd81f[_0x4a2dce(0x21a)]+'&state='+encodeURIComponent(_0x583d63)+_0x85b1ac,_0x2d86ae=new AbortController();if(_0x309cec[_0x4a2dce(0x773)]){if('kHPaO'===_0x4a2dce(0x51d)){const _0x48a1f6=_0x28e901();return{'status':_0x4a2dce(0x396),'verificationUri':_0x48a1f6,'url':_0x48a1f6,'message':'Sign\x20in\x20to\x20run\x20the\x20complete\x20init.\x20Open\x20the\x20verificationUri,\x20sign\x20in,\x20copy\x20the\x20token\x20it\x20issues,\x20and\x20re-call\x20ceraph_init\x20with\x20that\x20value\x20as\x20`token`.\x20The\x20project\x20is\x20left\x20untouched\x20until\x20you\x20do.'};}else{if(_0x309cec[_0x4a2dce(0x773)][_0x4a2dce(0x652)]){_0x3dd81f['close']();throw new DOMException('aborted',_0x4a2dce(0xace));}_0x309cec[_0x4a2dce(0x773)]['addEventListener'](_0x4a2dce(0x95c),()=>{const _0x5814a7=_0x4a2dce;if('rVXHZ'!==_0x5814a7(0xa81))_0x3dd81f['abort'](new DOMException(_0x5814a7(0x652),'AbortError')),_0x2d86ae[_0x5814a7(0x95c)]();else{if(_0x401ae1['ok'])return{'message':_0x5814a7(0x249)+_0x3d603e['port'],'fatal':![],'status':'bound'};if(_0x52af81[_0x5814a7(0x583)]==='EADDRINUSE')return{'message':_0x5814a7(0x55f)+_0x352529['port']+'\x20is\x20held\x20by\x20another\x20process\x20—\x20usually\x20a\x20second\x20Ceraph\x20MCP\x20(a\x20different\x20project,\x20or\x20a\x20stale/orphaned\x20session),\x20but\x20possibly\x20an\x20unrelated\x20server.\x20This\x20Ceraph\x20server\x20runs\x20with\x20all\x20tools,\x20but\x20it\x20doesn\x27t\x20own\x20the\x20device-signal\x20listener:\x20runtime-error\x20capture\x20reaches\x20this\x20session\x20only\x20if\x20the\x20holder\x20is\x20a\x20Ceraph\x20instance\x20on\x20the\x20SAME\x20project\x20(shared\x20.rn-errors.json)\x20—\x20otherwise\x20errors\x20won\x27t\x20appear\x20here.\x20Free\x20the\x20port\x20(lsof\x20-nP\x20-iTCP:'+_0x413095['port']+')\x20and\x20this\x20session\x20reclaims\x20it\x20automatically.','fatal':![],'status':_0x5814a7(0x4d0)};return{'message':_0x5814a7(0x3c2)+_0x5e8c48['port']+':\x20'+_0x3bbe87[_0x5814a7(0x3dd)]+'.\x20Shim-side\x20signals\x20(JS\x20errors,\x20unhandled\x20rejections,\x20network\x20failures)\x20will\x20be\x20dropped.','fatal':![],'status':'bind-failed'};}},{'once':!![]});}}_0x3bda54(_0x4b0695),process['stderr'][_0x4a2dce(0xaac)](_0x4a2dce(0x2c9)+_0x28b037+'/cli-auth\x20in\x20your\x20browser\x20to\x20sign\x20in.\x20If\x20the\x20browser\x20didn\x27t\x20open,\x20visit\x20the\x20URL\x20manually:\x0a\x20\x20'+_0x4b0695+'\x0a');try{const _0x51783e=await _0x31a21d(_0x3dd81f['tokenPromise'],_0xeb97bb);return _0x4d47b8(_0x51783e[_0x4a2dce(0x1f0)],_0x51783e['email'],_0x309cec['authFilePath']);}catch(_0x34f89e){if(_0x34f89e instanceof _0x3f34b6){process[_0x4a2dce(0x910)][_0x4a2dce(0xaac)](_0x4a2dce(0x4ae));const _0x38b4a4=await Promise['race']([_0x3dd81f['tokenPromise'][_0x4a2dce(0x9c5)](_0x1eed5e=>({'kind':_0x4a2dce(0xaf8),'payload':_0x1eed5e})),_0x102f07(_0x2d86ae[_0x4a2dce(0x773)])['then'](_0x97ba97=>({'kind':_0x4a2dce(0x908),'line':_0x97ba97}))]);if(_0x38b4a4['kind']==='listener')return _0x2d86ae['abort'](),_0x4d47b8(_0x38b4a4[_0x4a2dce(0x35c)][_0x4a2dce(0x1f0)],_0x38b4a4['payload']['email'],_0x309cec['authFilePath']);if(!_0x38b4a4['line']){if('FwgUD'!==_0x4a2dce(0x38e)){if(_0x309cec['signal']?.['aborted'])throw new DOMException(_0x4a2dce(0x652),_0x4a2dce(0xace));throw new Error(_0x4a2dce(0x7a0));}else{if(_0x2ede57)return;_0x58ce14(),_0x1d5b9d(_0x54cebe);}}return _0x4d47b8(_0x38b4a4['line'],void 0x0,_0x309cec['authFilePath']);}throw _0x34f89e;}finally{_0x3dd81f['close']();}}var _0x326cb7=0x10*0x400;async function _0x2ff780(_0x91f8e){return new Promise(_0x134610=>{const _0x58c787=_0xc050;let _0x51c914=0x0;const _0x13c8f4=[];_0x91f8e['on']('data',_0x44236d=>{const _0x5b9cf5=_0xc050;_0x51c914+=_0x44236d['length'];if(_0x51c914>_0x326cb7){_0x91f8e[_0x5b9cf5(0x26c)](),_0x134610(null);return;}_0x13c8f4['push'](_0x44236d);}),_0x91f8e['on']('end',()=>{const _0x256fa1=_0xc050,_0x1bfccc=Buffer[_0x256fa1(0x6b1)](_0x13c8f4)['toString'](_0x256fa1(0x483));if(!_0x1bfccc){_0x134610(null);return;}try{const _0x104f3e=JSON[_0x256fa1(0x981)](_0x1bfccc);_0x104f3e&&typeof _0x104f3e==='object'?_0x134610(_0x104f3e):_0x134610(null);}catch{_0x134610(null);}}),_0x91f8e['on'](_0x58c787(0x3dd),()=>_0x134610(null));});}async function _0xe01f12(_0x46a82a,_0x5a5a40){const _0x4a46bd=_0xf8ecb6;let _0x1b842c,_0x166afb;const _0x1ec15b=new Promise((_0x1667e6,_0x12cff9)=>{_0x1b842c=_0x1667e6,_0x166afb=_0x12cff9;});let _0x8e7323=![],_0x24a706=![],_0x23acad,_0xe10e44;try{_0xe10e44=new URL(_0x5a5a40)['origin'];}catch(_0x5d19f2){throw new Error('Invalid\x20CERAPH_WEB_BASE_URL\x20or\x20CERAPH_API_URL:\x20\x22'+_0x5a5a40+'\x22\x20—\x20must\x20be\x20a\x20valid\x20URL\x20with\x20scheme\x20(e.g.\x20https://ceraph.dev\x20or\x20http://localhost:3000).\x20Original\x20error:\x20'+(_0x5d19f2 instanceof Error?_0x5d19f2[_0x4a46bd(0x531)]:String(_0x5d19f2)));}_0x23acad=_0x218d09((_0x2ca291,_0x3c2e91)=>{const _0x19f5b1=_0x4a46bd;_0x3c2e91[_0x19f5b1(0x96a)](_0x19f5b1(0x44d),_0xe10e44),_0x3c2e91[_0x19f5b1(0x96a)]('Access-Control-Allow-Methods','POST,\x20GET,\x20OPTIONS'),_0x3c2e91[_0x19f5b1(0x96a)](_0x19f5b1(0x527),_0x19f5b1(0x307));if(_0x2ca291['method']==='OPTIONS'){_0x3c2e91[_0x19f5b1(0x66c)]=0xcc,_0x3c2e91[_0x19f5b1(0x5b3)]();return;}const _0x4c8826=new URL(_0x2ca291['url']??'/','http://127.0.0.1:'+_0x2f6a16);if(_0x4c8826[_0x19f5b1(0x667)]!=='/callback'){if('SDRzj'===_0x19f5b1(0x622)){_0x3c2e91['statusCode']=0x194,_0x3c2e91['end']('not\x20found');return;}else _0x1b1909['videoRecorder']=null,void _0x1d9363[_0x19f5b1(0x8bc)]()[_0x19f5b1(0x48b)](_0x221e35=>{const _0x195ee3=_0x19f5b1;_0x3c9e1e['stderr'][_0x195ee3(0xaac)](_0x195ee3(0x94e)+(_0x221e35 instanceof _0xdeca80?_0x221e35[_0x195ee3(0x531)]:_0x3eacc4(_0x221e35))+'\x0a');});}const _0x5980c8=_0x4c8826['searchParams']['get']('state')??'';if(_0x5980c8!==_0x46a82a){_0x3c2e91['statusCode']=0x190,_0x3c2e91[_0x19f5b1(0x5b3)](_0x19f5b1(0x748));return;}if(_0x24a706||_0x8e7323){_0x3c2e91['statusCode']=0x199,_0x3c2e91['end'](_0x24a706?'already-handled':'in-flight');return;}if(_0x2ca291[_0x19f5b1(0x33a)]!=='POST'){_0x3c2e91[_0x19f5b1(0x66c)]=0x195,_0x3c2e91[_0x19f5b1(0x5b3)](_0x19f5b1(0x2da));return;}_0x8e7323=!![],void _0x2ff780(_0x2ca291)['then'](_0x1d7bc4=>{const _0x3a93d9=_0x19f5b1;if('uUYmc'!==_0x3a93d9(0x9bd))return{'ok':!![],'severity':'info','message':'No\x20real\x20iOS\x20device\x20detected\x20—\x20target\x20is\x20simulator,\x20so\x20this\x20is\x20fine.'};else{const _0x49aea4=_0x1d7bc4&&typeof _0x1d7bc4['token']===_0x3a93d9(0x30d)?_0x1d7bc4['token']['trim']():'',_0x5b608b=_0x1d7bc4&&typeof _0x1d7bc4['email']==='string'?_0x1d7bc4['email']:'';if(!_0x49aea4){_0x8e7323=![],_0x3c2e91[_0x3a93d9(0x66c)]=0x190,_0x3c2e91['end'](_0x3a93d9(0xb17));return;}_0x24a706=!![],_0x3c2e91['statusCode']=0xc8,_0x3c2e91[_0x3a93d9(0x96a)](_0x3a93d9(0x307),'text/html;\x20charset=utf-8'),_0x3c2e91[_0x3a93d9(0x5b3)]('<!doctype\x20html><html><body\x20style=\x22font-family:system-ui;padding:32px;background:#0b0f14;color:#e6edf3;\x22><h1>CLI\x20signed\x20in</h1><p>You\x20can\x20close\x20this\x20tab.</p></body></html>');try{_0x23acad[_0x3a93d9(0x716)]();}catch{}_0x1b842c({'token':_0x49aea4,'email':_0x5b608b||void 0x0});}});return;});const _0x2f6a16=await new Promise((_0x53e2a0,_0x4cac68)=>{const _0x110d0d=_0x4a46bd;_0x23acad[_0x110d0d(0x6b8)]('error',_0x4cac68),_0x23acad['listen'](0x0,_0x110d0d(0x2f1),()=>{const _0x5416cc=_0x110d0d,_0x17f7b2=_0x23acad[_0x5416cc(0x506)]();if(!_0x17f7b2||typeof _0x17f7b2===_0x5416cc(0x30d)||typeof _0x17f7b2[_0x5416cc(0x21a)]!=='number'){try{_0x23acad[_0x5416cc(0x716)]();}catch{}_0x4cac68(new Error('Could\x20not\x20bind\x20a\x20free\x20port\x20for\x20the\x20auth\x20listener.'));return;}_0x53e2a0(_0x17f7b2['port']);});});return _0x23acad['on'](_0x4a46bd(0x3dd),_0x4bde04=>_0x166afb(_0x4bde04)),{'port':_0x2f6a16,'tokenPromise':_0x1ec15b,'close':()=>{try{_0x23acad['close']();}catch{}},'abort':_0x56c591=>{const _0x163043=_0x4a46bd;_0x166afb(_0x56c591);try{'CkYtx'!==_0x163043(0x60b)?_0x23acad['close']():void _0x52163d();}catch{}}};}function _0x3bda54(_0x4ade88){const _0x4d4dc2=_0xf8ecb6;try{const _0x1ef233=platform();let _0x539cd4,_0x28d69e;if(_0x1ef233===_0x4d4dc2(0x5ad))_0x539cd4=_0x4d4dc2(0xad9),_0x28d69e=[_0x4ade88];else _0x1ef233===_0x4d4dc2(0xb0c)?(_0x539cd4='cmd',_0x28d69e=['/c','start','',_0x4ade88]):(_0x539cd4=_0x4d4dc2(0x862),_0x28d69e=[_0x4ade88]);const _0x12f43e=_0x4185f9(_0x539cd4,_0x28d69e,{'stdio':'ignore','detached':!![]});_0x12f43e['on']('error',()=>{}),_0x12f43e[_0x4d4dc2(0x2d6)]();}catch{}}var _0x3f34b6=class extends Error{constructor(){const _0x48dff2=_0xf8ecb6;super('listener-timeout'),this['name']=_0x48dff2(0x4a3);}};function _0x31a21d(_0x2f9fdb,_0x1e6039){return new Promise((_0x14afb3,_0x51a4dc)=>{const _0x481dfd=setTimeout(()=>_0x51a4dc(new _0x3f34b6()),_0x1e6039);_0x2f9fdb['then'](_0x12a41a=>{clearTimeout(_0x481dfd),_0x14afb3(_0x12a41a);},_0x532172=>{clearTimeout(_0x481dfd),_0x51a4dc(_0x532172);});});}function _0x102f07(_0x563e8b){return new Promise(_0x5b9bc8=>{const _0x40cd65=_0xc050,_0x2f694d=createInterface({'input':process[_0x40cd65(0x908)],'crlfDelay':Infinity});let _0x3eda29=![];const _0x17d603=_0x2a0821=>{const _0x7304bf=_0x40cd65;if(_0x3eda29)return;_0x3eda29=!![];try{_0x2f694d[_0x7304bf(0x716)]();}catch{}_0x5b9bc8(_0x2a0821);};_0x2f694d[_0x40cd65(0x6b8)]('line',_0x5ed032=>_0x17d603(_0x5ed032['trim']()||null)),_0x2f694d['once']('close',()=>_0x17d603(null));if(_0x563e8b[_0x40cd65(0x652)]){_0x17d603(null);return;}_0x563e8b['addEventListener'](_0x40cd65(0x95c),()=>_0x17d603(null),{'once':!![]});});}function _0x5ab5b6(_0x5e0f26){const _0x580dde=_0xf8ecb6;return _0x5e0f26??_0x89c0d9(_0x28d99a(),_0x580dde(0x4b1),_0x580dde(0xa19));}async function _0x4d47b8(_0x525249,_0x3c31e3,_0x3cce51){const _0x59744a=_0xf8ecb6,_0x145193={'accessToken':_0x525249,'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()[_0x59744a(0x471)](),..._0x3c31e3?{'email':_0x3c31e3}:{}};return await _0x3fb635(_0x145193,_0x3cce51),{'token':_0x525249,..._0x3c31e3?{'email':_0x3c31e3}:{}};}async function _0x3fb635(_0xb31a5b,_0x502d3a){const _0x527a4b=_0xf8ecb6,_0x4c2978=_0x5ab5b6(_0x502d3a);await _0x549cd8[_0x527a4b(0x243)](_0x35ced3(_0x4c2978),{'recursive':!![],'mode':0x1c0});const _0x179236=JSON[_0x527a4b(0x312)](_0xb31a5b,null,0x2)+'\x0a',_0x109b19=_0x4c2978+_0x527a4b(0xa56)+process['pid']+'.'+Math[_0x527a4b(0xafe)]()[_0x527a4b(0xafa)](0x24)[_0x527a4b(0x795)](0x2);try{const _0x2814a0=await _0x549cd8['open'](_0x109b19,_0x754901['O_CREAT']|_0x754901[_0x527a4b(0x985)]|_0x754901[_0x527a4b(0x8d4)],0x180);try{await _0x2814a0['writeFile'](_0x179236);}finally{await _0x2814a0[_0x527a4b(0x716)]();}await _0x549cd8[_0x527a4b(0x661)](_0x109b19,_0x4c2978);}catch(_0x191733){try{await _0x549cd8['unlink'](_0x109b19);}catch{}throw _0x191733;}try{await _0x549cd8[_0x527a4b(0x4d7)](_0x35ced3(_0x4c2978),0x1c0);}catch{}}import{join as _0x3d20c5}from'path';import{readFile as _0x20d412,writeFile as _0x15e27a,access as _0x19e282,mkdir as _0x18a594}from'fs/promises';import{createHash}from'crypto';import{join as _0x9d958}from'path';import{readFile as _0x1da03f}from'fs/promises';import{Project,Node,SyntaxKind}from'ts-morph';var _0xe66411=_0xf8ecb6(0xa5f),_0x33f2a4=[_0xf8ecb6(0x1fc),'babel.config.cjs','.babelrc.js'];function _0xd0b03f(_0x32900e){const _0x42dd0e=_0xf8ecb6;return createHash('sha256')[_0x42dd0e(0x5fd)](_0x32900e)[_0x42dd0e(0xabb)]('hex')[_0x42dd0e(0x795)](0x0,0x10);}async function _0x5169fa(_0x393ec,_0x52bb32=_0x44a683=>_0x1da03f(_0x44a683,'utf-8')){const _0x5d2591=_0xf8ecb6;for(const _0x198c27 of _0x33f2a4){if('zzklm'!=='eMmUg'){const _0x48091b=_0x9d958(_0x393ec,_0x198c27);try{const _0x3286c8=await _0x52bb32(_0x48091b);return{'path':_0x48091b,'text':_0x3286c8};}catch{}}else{const _0x254de2=_0x257957[_0x5d2591(0x3dd)]?':\x20'+_0x155933[_0x5d2591(0x3dd)]:'';_0x18748c['push'](_0x5d2591(0x904)+_0x254de2);}}return null;}function _0x5019e6(_0x26725b,_0x445a9e){const _0x21171d=_0xf8ecb6;if(Node[_0x21171d(0x54b)](_0x26725b)||Node[_0x21171d(0x7cd)](_0x26725b))return _0x26725b['getLiteralText']()===_0x445a9e;if(Node[_0x21171d(0x3ea)](_0x26725b)){const _0x557cac=_0x26725b[_0x21171d(0x912)]()[0x0];return!!_0x557cac&&_0x5019e6(_0x557cac,_0x445a9e);}if(Node[_0x21171d(0x503)](_0x26725b)){const _0x1f179a=_0x26725b[_0x21171d(0x708)]();if(Node['isIdentifier'](_0x1f179a)&&_0x1f179a[_0x21171d(0x3a0)]()===_0x21171d(0x94a)){const _0x52c7b9=_0x26725b['getArguments']()[0x0];return!!_0x52c7b9&&_0x5019e6(_0x52c7b9,_0x445a9e);}}return![];}function _0x101725(_0x22aae1){const _0x2e184a=_0xf8ecb6,_0x4515ce=new Project({'useInMemoryFileSystem':!![],'compilerOptions':{'allowJs':!![]}}),_0x4bb463=_0x4515ce['createSourceFile']('babel.config.js',_0x22aae1);for(const _0x3e9e61 of _0x4bb463['getDescendantsOfKind'](SyntaxKind[_0x2e184a(0x2ba)])){if(_0x3e9e61['getName']()!=='plugins')continue;const _0x41f755=_0x3e9e61[_0x2e184a(0x7b9)]();if(_0x41f755&&Node[_0x2e184a(0x3ea)](_0x41f755))return{'array':_0x41f755,'sourceText':_0x4bb463[_0x2e184a(0x8e7)]()};}return null;}function _0x5b5efa(_0x10b85f){const _0x304309=_0xf8ecb6,_0x354e05=_0x101725(_0x10b85f);if(!_0x354e05)return![];return _0x354e05[_0x304309(0x20f)][_0x304309(0x912)]()['some'](_0x247b59=>_0x5019e6(_0x247b59,_0xe66411));}var _0x5ddcab='react-native-reanimated/plugin';function _0x339bd1(_0xd9f614){const _0x507c1d=_0xf8ecb6;return _0x507c1d(0x602)+_0xd9f614+'\x27],\x0a\x20\x20\x20\x20plugins:\x20[\x27'+_0xe66411+_0x507c1d(0x5d4);}async function _0x4c8152(_0x144163){const _0x53cea8=_0xf8ecb6;try{return await _0x19e282(_0x144163),!![];}catch{return _0x53cea8(0x4e1)===_0x53cea8(0x4e1)?![]:(_0x516c29+=0x1,_0x53cea8(0x2b3)+_0x2cadf3[_0x53cea8(0x2f8)]()[_0x53cea8(0xafa)](0x24)+'-'+_0x46bd1d['toString'](0x24));}}async function _0x4d599f(_0x559e1b,_0x27f136){for(const _0x507eed of _0x33f2a4){const _0x3bcdb6=_0x3d20c5(_0x559e1b,_0x507eed);if(await _0x27f136(_0x3bcdb6))return _0x3bcdb6;}return null;}async function _0x20bee7(_0xe71a1a,_0x29603d={}){const _0x376d3a=_0xf8ecb6,_0x5b4bb9=_0x29603d['readFile']??(_0x3de3e5=>_0x20d412(_0x3de3e5,_0x376d3a(0x827))),_0x3ef792=_0x29603d['writeFile']??((_0x444873,_0x19bd73)=>_0x15e27a(_0x444873,_0x19bd73,'utf-8')),_0x4c120d=_0x29603d[_0x376d3a(0x753)]??_0x4c8152,_0x4f02c6=await _0x4d599f(_0xe71a1a,_0x4c120d);if(!_0x4f02c6){let _0x5a8c7a=_0x376d3a(0x47c);try{const _0x305644=JSON[_0x376d3a(0x981)](await _0x5b4bb9(_0x3d20c5(_0xe71a1a,'package.json'))),_0x1d4d0f={..._0x305644[_0x376d3a(0x8b4)],..._0x305644[_0x376d3a(0xb2a)]};if(!_0x1d4d0f['expo'])_0x5a8c7a=_0x376d3a(0x6ea);}catch{}const _0x58d8eb=_0x3d20c5(_0xe71a1a,'babel.config.js'),_0x3724f2=_0x339bd1(_0x5a8c7a);return await _0x3ef792(_0x58d8eb,_0x3724f2),await _0x296a92(_0xe71a1a,_0x3724f2,_0x29603d,_0x3ef792),{'kind':_0x376d3a(0x8f4),'path':_0x58d8eb,'preset':_0x5a8c7a};}let _0x367c65;try{_0x367c65=await _0x5b4bb9(_0x4f02c6);}catch{return{'kind':_0x376d3a(0x50a),'path':_0x4f02c6,'reason':'could\x20not\x20read\x20the\x20file'};}const _0x475af2=_0x101725(_0x367c65);if(_0x475af2){const _0x5e8893=_0x475af2[_0x376d3a(0x20f)]['getElements']();if(_0x5e8893['some'](_0x38a1a3=>_0x5019e6(_0x38a1a3,_0xe66411)))return await _0x296a92(_0xe71a1a,_0x367c65,_0x29603d,_0x3ef792),{'kind':'already-present','path':_0x4f02c6};const _0x3a21f8=_0x5e8893[_0x376d3a(0x713)](_0x52531b=>_0x5019e6(_0x52531b,_0x5ddcab)),_0x360900=_0x3a21f8>=0x0?_0x3a21f8:_0x5e8893['length'];_0x475af2[_0x376d3a(0x20f)]['insertElement'](_0x360900,'\x22'+_0xe66411+'\x22');const _0xdcb840=_0x475af2[_0x376d3a(0x20f)][_0x376d3a(0x400)]()[_0x376d3a(0x8e7)]();return await _0x3ef792(_0x4f02c6,_0xdcb840),await _0x296a92(_0xe71a1a,_0xdcb840,_0x29603d,_0x3ef792),{'kind':_0x376d3a(0x7ed),'path':_0x4f02c6,'beforeReanimated':_0x3a21f8>=0x0};}return{'kind':'needs-manual','path':_0x4f02c6,'reason':'no\x20`plugins:\x20[...]`\x20array\x20found\x20to\x20edit\x20safely\x20(dynamic\x20config?).\x20Add\x20\x22'+_0xe66411+'\x22\x20to\x20your\x20babel\x20plugins,\x20before\x20any\x20\x22'+_0x5ddcab+_0x376d3a(0x3ad)};}async function _0x296a92(_0x566c76,_0x220bab,_0x5a2ee5,_0x480aaa){const _0x473ad8=_0xf8ecb6,_0x2455c5=_0x3d20c5(_0x566c76,_0x473ad8(0x4b1));if(!_0x5a2ee5['writeFile'])try{await _0x18a594(_0x2455c5,{'recursive':!![]});}catch{}const _0x149640={'pluginVersion':_0x5a2ee5[_0x473ad8(0x371)]??_0x373cd1,'babelConfigHash':_0xd0b03f(_0x220bab)};await _0x480aaa(_0x3d20c5(_0x2455c5,'testid-config.json'),JSON['stringify'](_0x149640,null,0x2)+'\x0a');}var _0x373cd1=_0xf8ecb6(0x20d);async function _0x316cc9(_0x4343d7){const _0x2dd160=_0xf8ecb6,{projectDir:_0x4463b0,sentinel:_0xf72ebe,readFile:_0x434e74}=_0x4343d7;if(!_0xf72ebe)return{'ready':![],'reason':'no-sentinel-received'};if(typeof _0xf72ebe[_0x2dd160(0x371)]!=='string'||typeof _0xf72ebe[_0x2dd160(0x726)]!=='string')return{'ready':![],'reason':'no-sentinel-received'};const _0x2b1944=await _0x5169fa(_0x4463b0,_0x434e74);if(!_0x2b1944)return{'ready':![],'reason':'no-local-babel-config'};if(!_0x5b5efa(_0x2b1944['text']))return{'ready':![],'reason':_0x2dd160(0x3e8)};if(_0xf72ebe[_0x2dd160(0x371)]!==_0x373cd1)return{'ready':![],'reason':_0x2dd160(0x499)};if(_0xf72ebe[_0x2dd160(0x726)]!==_0xd0b03f(_0x2b1944[_0x2dd160(0x3e0)]))return{'ready':![],'reason':_0x2dd160(0x876)};return{'ready':!![]};}import{rename as _0x46cae0,unlink as _0x15af31,writeFile as _0x39617a}from'fs/promises';import{join as _0x29d6aa}from'path';function _0x417aee(_0x547b53){const _0x155b79=_0x29d6aa(_0x547b53,'.rn-flow-progress.json'),_0x74a973=async _0x35ccf3=>{const _0x5077c7=_0xc050,_0x3afabf=_0x155b79+'.tmp.'+process[_0x5077c7(0x8e3)]+'.'+Math['random']()[_0x5077c7(0xafa)](0x24)[_0x5077c7(0x795)](0x2);try{await _0x39617a(_0x3afabf,_0x35ccf3,_0x5077c7(0x827)),await _0x46cae0(_0x3afabf,_0x155b79);}catch(_0x45fab5){try{await _0x15af31(_0x3afabf);}catch{}throw _0x45fab5;}};return{async 'write'(_0x154c0a){try{await _0x74a973(JSON['stringify']({'timestamp':_0x154c0a['timestamp'],'entry':_0x154c0a},null,0x2));}catch{}},async 'clear'(){const _0x269b91=_0xc050;try{await _0x74a973(JSON[_0x269b91(0x312)]({'timestamp':new Date()['toISOString'](),'entry':null},null,0x2));}catch{}}};}import{spawn as _0x1abfff}from'child_process';import{mkdir as _0x475a69,readFile as _0x4248c2,access as _0x29f8f2}from'fs/promises';import{join as _0x17e7d3}from'path';import{readFile as _0x3dbb34,access as _0x4be249}from'fs/promises';import{join as _0x31c7a9}from'path';var _0x549207=[{'file':'pnpm-lock.yaml','pm':_0xf8ecb6(0x8f6)},{'file':_0xf8ecb6(0x66b),'pm':_0xf8ecb6(0x2d0)},{'file':'bun.lockb','pm':_0xf8ecb6(0x524)},{'file':'bun.lock','pm':_0xf8ecb6(0x524)},{'file':_0xf8ecb6(0x3c3),'pm':'npm'}];async function _0x5211f4(_0x4eeace){const _0x299fc4=_0xf8ecb6;try{return await _0x4be249(_0x4eeace),!![];}catch{return'sShtq'===_0x299fc4(0x54c)?![]:{'ok':!![],'severity':_0x299fc4(0x799),'message':'All\x20<CeraphCamera>\x20components\x20have\x20an\x20explicit\x20imageKey\x20(or\x20use\x20a\x20runtime\x20sentinel).'};}}async function _0x20b434(_0xdb38da){const _0x5856f7=_0xf8ecb6;for(const {file:_0x3ec943,pm:_0x18b104}of _0x549207){if(await _0x5211f4(_0x31c7a9(_0xdb38da,_0x3ec943)))return _0x18b104;}return _0x5856f7(0x26d);}function _0x46ad3b(_0x546337,_0x81481=_0xf8ecb6(0x28d)){const _0x58fb71=_0xf8ecb6;switch(_0x546337){case _0x58fb71(0x8f6):return{'bin':_0x58fb71(0x8f6),'args':['add',_0x81481]};case'yarn':return{'bin':_0x58fb71(0x2d0),'args':[_0x58fb71(0x856),_0x81481]};case'bun':return{'bin':'bun','args':['add',_0x81481]};case _0x58fb71(0x26d):return{'bin':'npm','args':[_0x58fb71(0x639),_0x81481]};}}async function _0x47e59c(_0x581cbb,_0x188679='@ceraph/react-native-mcp'){const _0x9ab5b6=_0xf8ecb6;let _0x2f192c;try{_0x2f192c=await _0x3dbb34(_0x31c7a9(_0x581cbb,_0x9ab5b6(0x2a8)),_0x9ab5b6(0x827));}catch{return![];}let _0x1ad5c3;try{_0x1ad5c3=JSON['parse'](_0x2f192c);}catch{return![];}if(!_0x1ad5c3||typeof _0x1ad5c3!==_0x9ab5b6(0x9e3))return![];const _0x1cb9f1=_0x1ad5c3,_0x5159e4=_0x1cb9f1[_0x9ab5b6(0x8b4)],_0x195fb5=_0x1cb9f1[_0x9ab5b6(0xb2a)];return Boolean(_0x5159e4?.[_0x188679]||_0x195fb5?.[_0x188679]);}import{chmod,rename as _0x42c49e,stat as _0x356e3d,unlink as _0x437a3b,writeFile as _0x11ed44}from'fs/promises';import{dirname as _0x20b344,join as _0xcc6a6}from'path';async function _0x18b8bb(_0x15bc3f,_0x565d92){const _0x52f3a2=_0xf8ecb6,_0x5ca37d=_0x20b344(_0x15bc3f),_0x1ca4a1=_0xcc6a6(_0x5ca37d,_0x15bc3f['slice'](_0x5ca37d['length']+0x1)+'.tmp.'+process[_0x52f3a2(0x8e3)]+'.'+Math[_0x52f3a2(0xafe)]()['toString'](0x24)['slice'](0x2));let _0xbc61c4;try{const _0x13169b=await _0x356e3d(_0x15bc3f);_0xbc61c4=_0x13169b[_0x52f3a2(0x315)]&0x1ff;}catch{}try{await _0x11ed44(_0x1ca4a1,_0x565d92,'utf-8'),_0xbc61c4!==void 0x0&&await chmod(_0x1ca4a1,_0xbc61c4),await _0x42c49e(_0x1ca4a1,_0x15bc3f);}catch(_0x16ae56){try{await _0x437a3b(_0x1ca4a1);}catch{}throw _0x16ae56;}}import{readFile as _0x12b993}from'fs/promises';async function _0x354490(_0x2c6dd9){const _0x1f384c=_0xf8ecb6;let _0x2c4b0e;try{_0x2c4b0e=await _0x12b993(_0x2c6dd9,'utf-8');}catch(_0x1aace8){const _0x5eb686=_0x1aace8;if(_0x5eb686&&_0x5eb686['code']===_0x1f384c(0x5a8))return{'kind':_0x1f384c(0x934)};throw _0x1aace8;}try{return{'kind':'ok','value':JSON[_0x1f384c(0x981)](_0x2c4b0e)};}catch(_0x58be5a){return{'kind':'malformed','raw':_0x2c4b0e,'error':_0x58be5a};}}function _0x29787e(_0x25f834){const _0x347ea6=_0xf8ecb6;return _0x25f834!=null&&typeof _0x25f834===_0x347ea6(0x9e3)&&!Array[_0x347ea6(0x200)](_0x25f834);}import{mkdir as _0xe8bde8}from'fs/promises';import{join as _0x1d9beb}from'path';var _0x3c3e94='react-native-mcp',_0x49cf2c=['.claude',_0xf8ecb6(0x5ea)];async function _0x3031b6(_0x1b2bef){const _0x5119b0=_0xf8ecb6,_0x4b83d9=_0x1d9beb(_0x1b2bef,..._0x49cf2c),_0x1807a6=await _0x354490(_0x4b83d9);if(_0x1807a6[_0x5119b0(0xb14)]==='malformed')return{'status':'preserved','settingsPath':_0x4b83d9,'reason':'existing\x20settings\x20at\x20'+_0x4b83d9+'\x20is\x20malformed\x20JSON\x20—\x20preserved;\x20fix\x20it\x20manually\x20then\x20re-run'};if(_0x1807a6['kind']==='ok'&&!_0x29787e(_0x1807a6[_0x5119b0(0x39d)]))return{'status':_0x5119b0(0x93c),'settingsPath':_0x4b83d9,'reason':_0x5119b0(0x6df)+_0x4b83d9+_0x5119b0(0x2ca)+(Array[_0x5119b0(0x200)](_0x1807a6[_0x5119b0(0x39d)])?'array':typeof _0x1807a6['value'])+')\x20—\x20preserved'};const _0x1b8f4a=_0x1807a6['kind']==='ok'?_0x1807a6['value']:{};if(_0x1b8f4a['enableAllProjectMcpServers']===!![])return{'status':_0x5119b0(0x485),'settingsPath':_0x4b83d9};const _0xb94d2d=_0x1b8f4a['enabledMcpjsonServers'];if(_0xb94d2d!==void 0x0){if(!Array[_0x5119b0(0x200)](_0xb94d2d)||!_0xb94d2d[_0x5119b0(0xaad)](_0x4f02be=>typeof _0x4f02be==='string'))return{'status':_0x5119b0(0x93c),'settingsPath':_0x4b83d9,'reason':'existing\x20enabledMcpjsonServers\x20in\x20'+_0x4b83d9+'\x20is\x20not\x20an\x20array\x20of\x20strings\x20—\x20preserved'};if(_0xb94d2d['includes'](_0x3c3e94))return{'status':'already-approved','settingsPath':_0x4b83d9};}const _0xc6bc3e=Array[_0x5119b0(0x200)](_0xb94d2d)?[..._0xb94d2d,_0x3c3e94]:[_0x3c3e94];return _0x1b8f4a['enabledMcpjsonServers']=_0xc6bc3e,await _0xe8bde8(_0x1d9beb(_0x1b2bef,_0x5119b0(0x3fe)),{'recursive':!![]}),await _0x18b8bb(_0x4b83d9,JSON[_0x5119b0(0x312)](_0x1b8f4a,null,0x2)+'\x0a'),{'status':'approved','settingsPath':_0x4b83d9};}import{readFile as _0xf0c9eb,unlink as _0x4eba49,access as _0x35a3bd}from'fs/promises';import{homedir as _0x13a7d7}from'os';import{join as _0x3e7cb3}from'path';var _0x1e62a8=[_0xf8ecb6(0x5ec),_0x3e7cb3(_0xf8ecb6(0x85a),'mcp.json'),_0x3e7cb3('.vscode',_0xf8ecb6(0xab3))],_0x355c1c=[_0x3e7cb3('.codex','config.toml')],_0x89e7d2=_0x3e7cb3('.claude','settings.local.json'),_0x3246c9=[{'label':'Windsurf','dir':['.codeium',_0xf8ecb6(0x28c)],'file':['.codeium','windsurf','mcp_config.json']},{'label':_0xf8ecb6(0x6e9),'dir':[_0xf8ecb6(0xaec),'antigravity'],'file':[_0xf8ecb6(0xaec),_0xf8ecb6(0x601),_0xf8ecb6(0xac0)]}];function _0x3c12ca(_0xed4c1f){const _0x3700ad=_0xf8ecb6,_0x4e5609=_0xed4c1f??_0x13a7d7();return _0x3246c9['map'](_0x4633f=>({'label':_0x4633f['label'],'path':_0x3e7cb3(_0x4e5609,..._0x4633f[_0x3700ad(0x448)])}));}var _0x249835=['mobile-mcp','react-native-mcp'],_0x5b996d=[_0xf8ecb6(0x7df)];async function _0x3846cd(_0x18e1fc){try{return await _0x35a3bd(_0x18e1fc),!![];}catch{return![];}}async function _0x53f87e(_0x43ea54,_0x187a90={}){const _0x1435a1=_0xf8ecb6,_0x58b417=_0x187a90[_0x1435a1(0x4e4)]??(_0x4f778e=>_0xf0c9eb(_0x4f778e,'utf-8')),_0x445c40=_0x187a90['writeFile']??_0x18b8bb,_0xb7978b=_0x187a90['unlink']??(_0xc0444=>_0x4eba49(_0xc0444)),_0x478320=_0x187a90['fileExists']??_0x3846cd,_0x12ee3e=[];for(const _0x3e2ad9 of _0x1e62a8){const _0x1ac79a=_0x3e7cb3(_0x43ea54,_0x3e2ad9);if(!await _0x478320(_0x1ac79a)){_0x12ee3e['push']({'path':_0x1ac79a,'status':_0x1435a1(0x28b)});continue;}_0x12ee3e[_0x1435a1(0x4d1)](await _0x4edf65(_0x1ac79a,{'read':_0x58b417,'write':_0x445c40,'unlink':_0xb7978b}));}for(const _0xe636f5 of _0x355c1c){const _0x5af817=_0x3e7cb3(_0x43ea54,_0xe636f5);if(!await _0x478320(_0x5af817)){_0x12ee3e['push']({'path':_0x5af817,'status':_0x1435a1(0x28b)});continue;}_0x12ee3e['push'](await _0x5846ca(_0x5af817,{'read':_0x58b417,'write':_0x445c40,'unlink':_0xb7978b}));}const _0x3e4a14=_0x3e7cb3(_0x43ea54,_0x89e7d2);if(!await _0x478320(_0x3e4a14)){if(_0x1435a1(0x866)==='RAEvP')return _0x480e80('screen_screenshot',_0x2698cd);else _0x12ee3e['push']({'path':_0x3e4a14,'status':_0x1435a1(0x28b)});}else _0x12ee3e[_0x1435a1(0x4d1)](await _0x51ef7f(_0x3e4a14,{'read':_0x58b417,'write':_0x445c40,'unlink':_0xb7978b}));return{'files':_0x12ee3e};}async function _0x4edf65(_0x145345,_0x16efda){const _0x2be643=_0xf8ecb6,_0x402478=await _0x16efda[_0x2be643(0xad6)](_0x145345);let _0x19e3d9;try{_0x19e3d9=JSON['parse'](_0x402478);}catch{return{'path':_0x145345,'status':'malformed'};}if(!_0x19e3d9||typeof _0x19e3d9!==_0x2be643(0x9e3)||Array['isArray'](_0x19e3d9))return{'path':_0x145345,'status':'malformed'};const _0x1da193=_0x19e3d9,_0x734e32=_0x1da193['mcpServers'];if(!_0x734e32||typeof _0x734e32!==_0x2be643(0x9e3)||Array[_0x2be643(0x200)](_0x734e32))return{'path':_0x145345,'status':_0x2be643(0x5d9)};const _0x51a58b=_0x734e32,_0x5a0b22=[];for(const _0x7bad90 of _0x249835){_0x7bad90 in _0x51a58b&&(delete _0x51a58b[_0x7bad90],_0x5a0b22[_0x2be643(0x4d1)](_0x7bad90));}if(_0x5a0b22[_0x2be643(0x3b7)]===0x0)return{'path':_0x145345,'status':_0x2be643(0x5d9)};const _0x1d7f1a=Object[_0x2be643(0x8c1)](_0x1da193)[_0x2be643(0x529)](_0x469308=>_0x469308!==_0x2be643(0x67f)),_0x444e5f=Object['keys'](_0x51a58b)[_0x2be643(0x3b7)]===0x0;if(_0x444e5f&&_0x1d7f1a['length']===0x0)return await _0x16efda[_0x2be643(0xa91)](_0x145345),{'path':_0x145345,'status':'deleted-file','removedKeys':_0x5a0b22};const _0xb58344=_0x402478[_0x2be643(0x2f3)](/\n(\s+)"/),_0x48e16b=_0xb58344?.[0x1]??'\x20\x20',_0x3b58eb=_0x402478[_0x2be643(0xaa5)]('\x0a'),_0x73018d=JSON[_0x2be643(0x312)](_0x1da193,null,_0x48e16b);return await _0x16efda['write'](_0x145345,_0x3b58eb?_0x73018d+'\x0a':_0x73018d),{'path':_0x145345,'status':'removed-entries','removedKeys':_0x5a0b22};}async function _0x51ef7f(_0x38babd,_0x2b8991){const _0x3ee2e1=_0xf8ecb6,_0x5b4867=await _0x2b8991[_0x3ee2e1(0xad6)](_0x38babd);let _0x4d60b2;try{_0x4d60b2=JSON[_0x3ee2e1(0x981)](_0x5b4867);}catch{return{'path':_0x38babd,'status':'malformed'};}if(!_0x4d60b2||typeof _0x4d60b2!==_0x3ee2e1(0x9e3)||Array['isArray'](_0x4d60b2))return{'path':_0x38babd,'status':_0x3ee2e1(0xa16)};const _0x55bc8e=_0x4d60b2,_0x13448e=_0x55bc8e['enabledMcpjsonServers'];if(!Array['isArray'](_0x13448e)||!_0x13448e[_0x3ee2e1(0x27e)](_0x3c3e94))return{'path':_0x38babd,'status':'no-changes'};const _0x356df0=_0x13448e[_0x3ee2e1(0x529)](_0x35c524=>_0x35c524!==_0x3c3e94);_0x356df0['length']===0x0?delete _0x55bc8e['enabledMcpjsonServers']:_0x55bc8e['enabledMcpjsonServers']=_0x356df0;if(Object['keys'](_0x55bc8e)['length']===0x0)return await _0x2b8991['unlink'](_0x38babd),{'path':_0x38babd,'status':_0x3ee2e1(0x518),'removedKeys':[_0x3c3e94]};const _0x1ea203=_0x5b4867['match'](/\n(\s+)"/),_0x525d28=_0x1ea203?.[0x1]??'\x20\x20',_0x4a0f75=_0x5b4867['endsWith']('\x0a'),_0x57892b=JSON['stringify'](_0x55bc8e,null,_0x525d28);return await _0x2b8991['write'](_0x38babd,_0x4a0f75?_0x57892b+'\x0a':_0x57892b),{'path':_0x38babd,'status':_0x3ee2e1(0x63d),'removedKeys':[_0x3c3e94]};}function _0x896b90(_0x3a234d,_0x14f30e){const _0x4263ad=_0xf8ecb6,_0x353149=_0x3a234d[_0x4263ad(0x51a)](/\r?\n/),_0x54d106=_0x3a234d['endsWith']('\x0a');if(_0x54d106&&_0x353149[_0x4263ad(0x3b7)]>0x0&&_0x353149[_0x353149[_0x4263ad(0x3b7)]-0x1]===''){if(_0x4263ad(0x3ab)!==_0x4263ad(0x767))_0x353149[_0x4263ad(0x253)]();else{if(_0x54a7b8[_0x4263ad(0x746)](_0x1953a6))return _0x4263ad(0x79a);}}const _0x178066=[],_0x3f1eb9=[];let _0x3a9b59=![],_0x15f751=![];for(let _0x141e43=0x0;_0x141e43<_0x353149['length'];_0x141e43++){const _0x39747e=_0x353149[_0x141e43],_0x2a74d9=_0x39747e[_0x4263ad(0x668)](),_0x4fff5b=_0x2a74d9[_0x4263ad(0x746)]('[')&&_0x2a74d9['endsWith'](']');if(_0x4fff5b){if(_0x4263ad(0x6de)!=='BbEau'){const _0x47858e=_0x2a74d9['slice'](0x1,-0x1)[_0x4263ad(0x668)](),_0x5e0afd=_0x14f30e[_0x4263ad(0x979)](_0x47858e);if(_0x5e0afd){_0x178066['length']>0x0&&_0x178066[_0x178066['length']-0x1]===''&&_0x178066[_0x4263ad(0x253)]();const _0x4b095f=_0x47858e['startsWith'](_0x4263ad(0x8a2))?_0x47858e[_0x4263ad(0x795)]('mcp_servers.'[_0x4263ad(0x3b7)]):_0x47858e;_0x3f1eb9['push'](_0x4b095f),_0x3a9b59=!![],_0x15f751=![];continue;}(_0x3a9b59||_0x15f751)&&_0x178066['length']>0x0&&_0x178066[_0x178066['length']-0x1]!==''&&_0x178066[_0x4263ad(0x4d1)]('');_0x3a9b59=![],_0x15f751=![],_0x178066[_0x4263ad(0x4d1)](_0x39747e);continue;}else this['projectDir']=_0x469014,this['cacheDir']=_0x420f8e,this[_0x4263ad(0x3a6)]=_0x1b7539(_0x50edda,'last-build-snapshot.json');}if(_0x3a9b59){_0x15f751=!![];continue;}if(_0x15f751){if(_0x2a74d9==='')continue;_0x178066['length']>0x0&&_0x178066[_0x178066['length']-0x1]!==''&&_0x178066['push']('');_0x15f751=![],_0x178066['push'](_0x39747e);continue;}_0x178066[_0x4263ad(0x4d1)](_0x39747e);}while(_0x178066['length']>0x0&&_0x178066[_0x178066['length']-0x1]===''){_0x178066['pop']();}const _0x4378b7=_0x178066[_0x4263ad(0x4ec)]('\x0a'),_0x1a22cf=_0x54d106&&_0x4378b7['length']>0x0?_0x4378b7+'\x0a':_0x4378b7;return{'next':_0x1a22cf,'removedKeys':_0x3f1eb9};}async function _0x5846ca(_0x2c54c9,_0x2cdc82){const _0x555a00=_0xf8ecb6,_0x40ffae=await _0x2cdc82[_0x555a00(0xad6)](_0x2c54c9),_0xf51dc5=new Set(_0x249835['map'](_0x494c7c=>'mcp_servers.'+_0x494c7c)),{next:_0x1825be,removedKeys:_0x32aac6}=_0x896b90(_0x40ffae,_0xf51dc5);if(_0x32aac6[_0x555a00(0x3b7)]===0x0)return{'path':_0x2c54c9,'status':'no-changes'};if(_0x1825be['trim']()[_0x555a00(0x3b7)]===0x0)return await _0x2cdc82['unlink'](_0x2c54c9),{'path':_0x2c54c9,'status':_0x555a00(0x518),'removedKeys':_0x32aac6};return await _0x2cdc82[_0x555a00(0xaac)](_0x2c54c9,_0x1825be),{'path':_0x2c54c9,'status':_0x555a00(0x63d),'removedKeys':_0x32aac6};}async function _0xebaef1(_0x7185a={}){const _0x129db5=_0xf8ecb6,_0xc2aca7=_0x7185a['readFile']??(_0x5e39cc=>_0xf0c9eb(_0x5e39cc,'utf-8')),_0x53afb1=_0x7185a[_0x129db5(0x865)]??_0x18b8bb,_0x62b246=_0x7185a[_0x129db5(0xa91)]??(_0xeb90cd=>_0x4eba49(_0xeb90cd)),_0x1071e8=_0x7185a['fileExists']??_0x3846cd,_0x2ee372=[];for(const {path:_0x20315c}of _0x3c12ca(_0x7185a['home'])){if(!await _0x1071e8(_0x20315c)){_0x2ee372['push']({'path':_0x20315c,'status':'not-found'});continue;}_0x2ee372[_0x129db5(0x4d1)](await _0x4edf65(_0x20315c,{'read':_0xc2aca7,'write':_0x53afb1,'unlink':_0x62b246}));}return{'files':_0x2ee372};}import{readFile as _0x1489a0,writeFile as _0x119e20,readdir as _0x47e980}from'fs/promises';import{basename,dirname as _0x315efe,join as _0x52da00,relative as _0x35952a,sep as _0x1957bf}from'path';var _0x3cc529,_0x5d51c4,_0x8d83c2,_0x164504,_0x4cad3c=![];async function _0x252b24(){const _0x59c0f6=_0xf8ecb6;if(_0x4cad3c)return;const _0x17c8c4=await import(_0x59c0f6(0x74a));({IndentationText:_0x3cc529,Project:_0x5d51c4,SyntaxKind:_0x8d83c2,Node:_0x164504}=_0x17c8c4,_0x4cad3c=!![]);}var _0x3f22d5=[_0xf8ecb6(0x7b4),'src',_0xf8ecb6(0x9b8)],_0x52136a=new Set(['.tsx','.jsx']),_0x1184a8=new Set(['node_modules','dist',_0xf8ecb6(0xb1a),'.git',_0xf8ecb6(0x4b1),_0xf8ecb6(0x759),_0xf8ecb6(0x2fb),_0xf8ecb6(0x6c9),'android']),_0x5e27f2='@ceraph/react-native-mcp/shim',_0x315fe5='CeraphCamera';function _0x5c24db(_0x19f125){const _0x4e244c=_0xf8ecb6,_0x104aad=basename(_0x19f125)[_0x4e244c(0x42e)](/\.(tsx|jsx)$/i,''),_0x5aaef1=basename(_0x315efe(_0x19f125)),_0xe82195=new Set([_0x4e244c(0x87c),'index','screen',_0x4e244c(0x761),'layout']),_0x98f36c=_0xe82195['has'](_0x104aad[_0x4e244c(0x5b5)]())?_0x5aaef1:_0x104aad,_0x131731=_0x98f36c[_0x4e244c(0x42e)](/([a-z0-9])([A-Z])/g,_0x4e244c(0x855))['toLowerCase']()[_0x4e244c(0x42e)](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'');return _0x131731['length']>0x0?_0x131731:_0x4e244c(0x55e);}async function _0x462a91(_0xbe0870){const _0x478bf1=_0xf8ecb6,_0x30495c=[];async function _0x2c0ab2(_0x3ad015){const _0x5a093a=_0xc050;let _0x41a730;try{_0x41a730=await _0x47e980(_0x3ad015,{'withFileTypes':!![]});}catch{return;}for(const _0x2a7412 of _0x41a730){const _0x4d6a61=_0x52da00(_0x3ad015,_0x2a7412['name']);if(_0x2a7412['isDirectory']()){if(_0x1184a8[_0x5a093a(0x979)](_0x2a7412[_0x5a093a(0x9e5)]))continue;await _0x2c0ab2(_0x4d6a61);continue;}if(!_0x2a7412[_0x5a093a(0x237)]())continue;const _0x1c5ba1=_0x2a7412['name']['lastIndexOf']('.');if(_0x1c5ba1<0x0)continue;const _0x54762e=_0x2a7412['name'][_0x5a093a(0x795)](_0x1c5ba1)['toLowerCase']();if(!_0x52136a[_0x5a093a(0x979)](_0x54762e))continue;_0x30495c['push'](_0x4d6a61);}}for(const _0x27891f of _0x3f22d5){await _0x2c0ab2(_0x52da00(_0xbe0870,_0x27891f));}for(const _0x4a8a10 of['App.tsx',_0x478bf1(0x46e)]){_0x30495c[_0x478bf1(0x4d1)](_0x52da00(_0xbe0870,_0x4a8a10));}return _0x30495c;}function _0x544759(_0x3c7b60){const _0x40b956=_0xf8ecb6,_0x5a7f14=new _0x5d51c4({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x3cc529[_0x40b956(0x76e)]}});for(const _0x2d775b of _0x3c7b60){try{_0x5a7f14[_0x40b956(0x8d8)](_0x2d775b);}catch{}}return _0x5a7f14;}function _0x4b5155(_0x3f5627,_0x3712b9){const _0x1e5349=_0xf8ecb6,_0x3915dc=[];return _0x3f5627[_0x1e5349(0x6f8)](_0x1cd3ea=>{const _0x18947a=_0x1e5349;if(_0x164504[_0x18947a(0x4e5)](_0x1cd3ea)||_0x164504[_0x18947a(0x1f4)](_0x1cd3ea)){const _0x5be95d=_0x1cd3ea['getTagNameNode']();_0x5be95d[_0x18947a(0x3a0)]()===_0x3712b9&&_0x3915dc['push'](_0x1cd3ea);}}),_0x3915dc;}function _0xd38ecb(_0x5d5f23){const _0x420ed0=_0xf8ecb6,_0x5a555a=_0x5d5f23[_0x420ed0(0x8c7)]();for(const _0x17d12b of _0x5a555a){if(_0x164504[_0x420ed0(0x7fd)](_0x17d12b)){const _0xfcff42=_0x17d12b[_0x420ed0(0x879)]();if(_0xfcff42[_0x420ed0(0x3a0)]()===_0x420ed0(0x8d5))return!![];}}return![];}async function _0xfb1f2(_0x27f51a){const _0x2cf9e8=_0xf8ecb6;await _0x252b24();const _0x476dd9=await _0x462a91(_0x27f51a),_0x13423b=_0x544759(_0x476dd9),_0x1911f4=[];for(const _0x5643e7 of _0x13423b['getSourceFiles']()){const _0x406400=_0x4b5155(_0x5643e7,'CameraView');if(_0x406400['length']===0x0)continue;for(const _0x317af6 of _0x406400){const _0x3844e8=_0x317af6[_0x2cf9e8(0x70d)](),_0xc0144b=_0x5643e7['getLineAndColumnAtPos'](_0x3844e8);_0x1911f4[_0x2cf9e8(0x4d1)]({'filePath':_0x5643e7[_0x2cf9e8(0x9a8)](),'relPath':_0x35952a(_0x27f51a,_0x5643e7['getFilePath']())[_0x2cf9e8(0x51a)](_0x1957bf)['join']('/'),'line':_0xc0144b[_0x2cf9e8(0x397)],'suggestedKey':_0x5c24db(_0x5643e7['getFilePath']()),'alreadyHasImageKey':_0xd38ecb(_0x317af6)});}}return _0x1911f4['sort']((_0x192c31,_0x2d3d0f)=>_0x192c31['relPath']===_0x2d3d0f['relPath']?_0x192c31[_0x2cf9e8(0x397)]-_0x2d3d0f[_0x2cf9e8(0x397)]:_0x192c31[_0x2cf9e8(0x87a)]<_0x2d3d0f['relPath']?-0x1:0x1),{'edits':_0x1911f4,'filesScanned':_0x13423b['getSourceFiles']()['length']};}async function _0x5934f3(_0x48f23e,_0xe26ab3,_0x3a4f10={}){const _0x54a071=_0xf8ecb6;await _0x252b24();const _0x59ff8f=new Map();for(const _0x2f90a0 of _0xe26ab3){const _0x53b192=_0x59ff8f['get'](_0x2f90a0[_0x54a071(0x538)])??[];_0x53b192[_0x54a071(0x4d1)](_0x2f90a0),_0x59ff8f['set'](_0x2f90a0['filePath'],_0x53b192);}const _0x48b2e0=_0x544759(Array[_0x54a071(0x56c)](_0x59ff8f[_0x54a071(0x8c1)]())),_0x1419b3=[];let _0x40a430=0x0;for(const [_0x42bda4,_0x46add8]of _0x59ff8f){const _0x222489=_0x48b2e0[_0x54a071(0x400)](_0x42bda4);if(!_0x222489)continue;let _0x2a969b=0x0;for(const _0x3d8039 of _0x46add8){if('oqAwV'!=='oqAwV')return _0x428da3(_0x32fafa+_0x54a071(0x98d)+_0x2d3e68+_0x54a071(0x47f)),![];else{const _0x1337d3=_0x4b5155(_0x222489,'CameraView'),_0x79b27d=_0x1337d3[_0x54a071(0x415)](_0x38b401=>{const _0xa23cd=_0x54a071,_0x4b221b=_0x222489[_0xa23cd(0x623)](_0x38b401[_0xa23cd(0x70d)]());return _0x4b221b['line']===_0x3d8039['line'];});if(!_0x79b27d)continue;_0x79b27d['getTagNameNode']()[_0x54a071(0x9ea)](_0x54a071(0x902));if(_0x164504[_0x54a071(0x4e5)](_0x79b27d)){const _0x4f92af=_0x79b27d['getParentIfKind'](_0x8d83c2['JsxElement']);if(_0x4f92af){const _0xe8044f=_0x4f92af['getClosingElement']();_0xe8044f[_0x54a071(0x2ae)]()[_0x54a071(0x9ea)](_0x54a071(0x902));}}!_0x3d8039['alreadyHasImageKey']&&!_0x3a4f10['omitImageKey']&&_0x79b27d['addAttribute']({'name':_0x54a071(0x8d5),'initializer':'\x22'+_0x3d8039[_0x54a071(0x6e6)]+'\x22'}),_0x2a969b++,_0x40a430++;}}const _0xc33f12=_0x222489[_0x54a071(0x560)](_0x5e27f2);if(_0xc33f12){const _0x14869c=_0xc33f12['getNamedImports']();!_0x14869c['some'](_0x180491=>_0x180491[_0x54a071(0x385)]()===_0x315fe5)&&_0xc33f12['addNamedImport'](_0x315fe5);}else _0x222489[_0x54a071(0x7d4)]({'moduleSpecifier':_0x5e27f2,'namedImports':[_0x315fe5]});const _0x1d9715=_0x222489[_0x54a071(0x560)](_0x54a071(0x632));if(_0x1d9715){const _0x34709e=_0x4b5155(_0x222489,_0x54a071(0x936));if(_0x34709e[_0x54a071(0x3b7)]===0x0){const _0x1cc223=_0x1d9715[_0x54a071(0x3d5)](),_0x16f76a=_0x1cc223['find'](_0x4374f8=>_0x4374f8[_0x54a071(0x385)]()==='CameraView');if(_0x16f76a){_0x16f76a[_0x54a071(0x38a)]();const _0x4bd780=_0x1d9715[_0x54a071(0x3d5)](),_0x160e53=_0x1d9715['getDefaultImport']()!=null;_0x4bd780['length']===0x0&&!_0x160e53&&_0x1d9715['remove']();}}}if(_0x2a969b>0x0){const _0x4ca1ac=_0x222489[_0x54a071(0x8e7)]();await _0x119e20(_0x42bda4,_0x4ca1ac,_0x54a071(0x827)),_0x1419b3['push'](_0x42bda4);}}return{'filesEdited':_0x1419b3,'totalReplacements':_0x40a430};}async function _0x19c198(_0x53a5c3,_0x14d145,_0x4517d0){const _0x389e42=_0xf8ecb6;await _0x252b24();const _0x487a7e=_0x544759([_0x53a5c3]),_0x1d366b=_0x487a7e[_0x389e42(0x400)](_0x53a5c3);if(!_0x1d366b)return{'applied':![],'reason':_0x389e42(0x1fe)+_0x53a5c3};const _0x3c1805=_0x4b5155(_0x1d366b,'CeraphCamera'),_0x4178fa=_0x3c1805['find'](_0xcc1547=>{const _0x4d58a7=_0x389e42;if(_0x4d58a7(0x80e)==='dSCvI')return _0x31ab2e('sha256')[_0x4d58a7(0x5fd)](_0x54bc98)['digest'](_0x4d58a7(0x992))['slice'](0x0,0x10);else{const _0x227955=_0x1d366b['getLineAndColumnAtPos'](_0xcc1547[_0x4d58a7(0x70d)]());return _0x227955[_0x4d58a7(0x397)]===_0x14d145;}});if(!_0x4178fa)return{'applied':![],'reason':_0x389e42(0xae1)+_0x53a5c3+':'+_0x14d145};let _0x44d539=null,_0x579aa7=![];for(const _0x25277d of _0x4178fa['getAttributes']()){if(_0x164504['isJsxAttribute'](_0x25277d)){const _0x4092ee=_0x25277d['getNameNode']();if(_0x4092ee[_0x389e42(0x3a0)]()===_0x389e42(0x8d5)){_0x579aa7=!![];const _0x283c91=_0x25277d['getInitializer']();_0x283c91&&_0x164504['isStringLiteral'](_0x283c91)&&(_0x44d539=_0x283c91[_0x389e42(0x722)]());_0x25277d['setInitializer']('\x22'+_0x4517d0+'\x22');break;}}}!_0x579aa7&&_0x4178fa[_0x389e42(0x23a)]({'name':'imageKey','initializer':'\x22'+_0x4517d0+'\x22'});if(_0x44d539===_0x4517d0)return{'applied':![],'previousValue':_0x44d539,'reason':_0x389e42(0xa07)};return await _0x119e20(_0x53a5c3,_0x1d366b[_0x389e42(0x8e7)](),'utf-8'),{'applied':!![],'previousValue':_0x44d539};}async function _0x1558ea(_0x57129b){const _0x55587a=_0xf8ecb6;try{return await _0x1489a0(_0x57129b,_0x55587a(0x827));}catch{return null;}}async function _0x4c580e(_0x34f7da,_0x1e342d){await _0x119e20(_0x34f7da,_0x1e342d,'utf-8');}import{readFile as _0x4ab85c,writeFile as _0xc69d6c}from'fs/promises';import{dirname as _0xe784c,join as _0x53a149,relative as _0x3695c2,sep as _0x1f9ba7}from'path';var _0x2b28d0,_0x2c9fdb,_0x3091bc,_0x3c0632,_0x267924=![];async function _0x1c8008(){const _0x2682b6=_0xf8ecb6;if(_0x267924)return;const _0x1a2d62=await import(_0x2682b6(0x74a));({IndentationText:_0x2b28d0,Project:_0x2c9fdb,Node:_0x3091bc,SyntaxKind:_0x3c0632}=_0x1a2d62,_0x267924=!![]);}var _0xe8fe16='@ceraph/react-native-mcp/shim',_0x3ebd32=_0xf8ecb6(0xa93),_0x1449ad=_0x53a149('.ceraph',_0xf8ecb6(0x5c3));function _0x1d89df(_0x124073){const _0x415500=_0xf8ecb6,_0x50b978=_0xe784c(_0x124073['filePath']),_0x39e721=_0x124073[_0x415500(0xb14)]===_0x415500(0x6a7)?_0xe784c(_0x50b978):_0x50b978,_0x105664=_0x53a149(_0x39e721,_0x1449ad);let _0x59a948=_0x3695c2(_0x50b978,_0x105664);if(_0x1f9ba7!=='/')_0x59a948=_0x59a948['split'](_0x1f9ba7)['join']('/');if(!_0x59a948[_0x415500(0x746)]('./')&&!_0x59a948['startsWith']('../'))_0x59a948='./'+_0x59a948;return _0x59a948;}function _0x1b07f5(_0x123933){const _0x332712=_0xf8ecb6,_0x46a05e=_0x1d89df(_0x123933);return _0x3ebd32+'({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22'+_0x46a05e+_0x332712(0x482);}async function _0x2585c1(_0x56a2ef){const _0x9ff322=_0xf8ecb6;try{return await _0x4ab85c(_0x56a2ef,_0x9ff322(0x827)),!![];}catch{return![];}}async function _0x5ea314(_0x127535){const _0xd436fc=_0xf8ecb6,_0x5f0e78=_0x53a149(_0x127535,_0xd436fc(0x7b4),'_layout.tsx');if(await _0x2585c1(_0x5f0e78))return{'kind':'expo-router','filePath':_0x5f0e78};const _0x4c9452=_0x53a149(_0x127535,'app','_layout.jsx');if(await _0x2585c1(_0x4c9452))return{'kind':'expo-router','filePath':_0x4c9452};for(const _0x4228b6 of[_0xd436fc(0x7b7),_0xd436fc(0x46e)]){const _0x4f736a=_0x53a149(_0x127535,_0x4228b6);if(await _0x2585c1(_0x4f736a))return{'kind':'bare-rn','filePath':_0x4f736a};}return null;}function _0x51f1ce(_0x5c3c94){const _0x4383f1=_0xf8ecb6;for(const _0x375b8e of _0x5c3c94['getFunctions']()){if(_0x375b8e['isDefaultExport']())return _0x375b8e;}const _0x1a118e=_0x5c3c94[_0x4383f1(0x6a9)]()['find'](_0x9abffe=>_0x3091bc['isExportAssignment'](_0x9abffe));if(_0x1a118e&&_0x3091bc['isExportAssignment'](_0x1a118e)){const _0x1a6c92=_0x1a118e[_0x4383f1(0x708)]();if(_0x3091bc[_0x4383f1(0x9ce)](_0x1a6c92)){const _0x7e3341=_0x1a6c92['getSymbol']();if(_0x7e3341){const _0x21ab61=_0x7e3341[_0x4383f1(0x91a)]()[0x0];if(_0x21ab61&&_0x3091bc['isVariableDeclaration'](_0x21ab61)){const _0xe7ce1=_0x21ab61['getInitializer']();if(_0xe7ce1&&_0x3091bc['isArrowFunction'](_0xe7ce1))return _0xe7ce1;if(_0xe7ce1&&_0x3091bc['isFunctionExpression'](_0xe7ce1))return _0xe7ce1;}}}if(_0x3091bc[_0x4383f1(0x282)](_0x1a6c92))return _0x1a6c92;if(_0x3091bc[_0x4383f1(0x2df)](_0x1a6c92))return _0x1a6c92;}return null;}function _0x547865(_0x591dc6){const _0x43fb1e=_0xf8ecb6,_0x485680=_0x591dc6[_0x43fb1e(0x560)](_0x43fb1e(0x8cb));if(!_0x485680)return _0x591dc6[_0x43fb1e(0x7d4)]({'moduleSpecifier':'react','namedImports':[_0x43fb1e(0x5da)]}),!![];const _0x530fd0=_0x485680[_0x43fb1e(0x3d5)]();if(!_0x530fd0['some'](_0x571f15=>_0x571f15['getName']()==='useEffect'))return _0x485680[_0x43fb1e(0xab6)]('useEffect'),!![];return![];}function _0x5ea1dd(_0x1f8228){const _0x1566e4=_0xf8ecb6,_0x21e890=_0x1f8228['getImportDeclaration'](_0xe8fe16);if(!_0x21e890)return _0x1f8228['addImportDeclaration']({'moduleSpecifier':_0xe8fe16,'namedImports':[_0x3ebd32]}),!![];const _0x4a01d9=_0x21e890['getNamedImports']();if(!_0x4a01d9['some'](_0xb0b977=>_0xb0b977[_0x1566e4(0x385)]()===_0x3ebd32))return _0x21e890['addNamedImport'](_0x3ebd32),!![];return![];}function _0xf6ec8d(_0x47a7ac){const _0x431034=_0x47a7ac['getBody']();if(!_0x431034||!_0x3091bc['isBlock'](_0x431034))return null;let _0x4d3661=null,_0x1431cb=null;return _0x431034['forEachDescendant']((_0x2fca1,_0x386951)=>{const _0x133280=_0xc050;if(_0x1431cb){_0x386951[_0x133280(0x8bc)]();return;}if(_0x3091bc['isCallExpression'](_0x2fca1)){const _0x4f61f6=_0x2fca1[_0x133280(0x708)]();if(_0x3091bc['isIdentifier'](_0x4f61f6)&&_0x4f61f6[_0x133280(0x3a0)]()===_0x3ebd32){if(_0x4d3661===null)_0x4d3661=_0x2fca1;_0x2fca1[_0x133280(0x27a)]()['length']===0x0&&(_0x1431cb=_0x2fca1,_0x386951['stop']());}}}),_0x1431cb??_0x4d3661;}function _0x45b4c7(_0x456907){return _0xf6ec8d(_0x456907)!==null;}function _0x419b59(_0x3bef64,_0x28b3e1){const _0x3424e9=_0xf8ecb6;if(_0x3bef64[_0x3424e9(0x27a)]()[_0x3424e9(0x3b7)]>0x0)return![];const _0xade3e2=_0x1d89df(_0x28b3e1);return _0x3bef64[_0x3424e9(0x730)]('{\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22'+_0xade3e2+_0x3424e9(0x4c5)),!![];}async function _0x2dff89(_0x23d607){const _0x2816da=_0xf8ecb6;await _0x1c8008();let _0x4a8114;try{const _0x25c64c=new _0x2c9fdb({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}});_0x4a8114=_0x25c64c[_0x2816da(0x8d8)](_0x23d607);}catch{return _0x2816da(0x41a);}const _0x570b9e=_0x51f1ce(_0x4a8114);if(!_0x570b9e)return _0x2816da(0x41a);const _0x336a79=_0xf6ec8d(_0x570b9e);if(!_0x336a79)return'none';return _0x336a79[_0x2816da(0x27a)]()['length']===0x0?'bare':_0x2816da(0x8a6);}function _0x297781(_0x2eed00,_0x4fec04){const _0x265884=_0xf8ecb6;if(_0x45b4c7(_0x2eed00))return![];if(_0x3091bc[_0x265884(0x282)](_0x2eed00)){const _0x2b1096=_0x2eed00[_0x265884(0x468)]();if(!_0x3091bc[_0x265884(0x44e)](_0x2b1096)){const _0x4416a5=_0x2b1096[_0x265884(0x3a0)]();_0x2b1096['replaceWithText'](_0x265884(0x9d2)+_0x4416a5+';\x20}');}}const _0x23cabb=_0x2eed00[_0x265884(0x468)]();if(!_0x23cabb||!_0x3091bc[_0x265884(0x44e)](_0x23cabb))return![];return _0x23cabb['insertStatements'](0x0,'useEffect(()\x20=>\x20{\x20'+_0x1b07f5(_0x4fec04)+';\x20},\x20[]);'),!![];}async function _0x2175ac(_0xe4d5d1){const _0x3db3a2=_0xf8ecb6;await _0x1c8008();const _0x791546=new _0x2c9fdb({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x2b28d0[_0x3db3a2(0x76e)]}}),_0x20e77c=_0x791546[_0x3db3a2(0x8d8)](_0xe4d5d1[_0x3db3a2(0x538)]),_0x63d9b=_0x51f1ce(_0x20e77c);if(!_0x63d9b)return{'applied':![],'alreadyPresent':![],'reason':'Could\x20not\x20locate\x20the\x20default-exported\x20function\x20component.\x20Manually\x20add\x20the\x20following\x20near\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20'+_0xe4d5d1[_0x3db3a2(0x538)]+_0x3db3a2(0x30f)+_0xe8fe16+_0x3db3a2(0x522)+_0x1b07f5(_0xe4d5d1)+_0x3db3a2(0xa4f)};const _0x4f3286=_0xf6ec8d(_0x63d9b);if(_0x4f3286){const _0x5b1181=_0x419b59(_0x4f3286,_0xe4d5d1),_0x165f1d=_0x5ea1dd(_0x20e77c),_0x3c842f=_0x547865(_0x20e77c),_0x3bf255=_0x5b1181||_0x165f1d||_0x3c842f;return _0x3bf255&&await _0xc69d6c(_0xe4d5d1['filePath'],_0x20e77c['getFullText'](),'utf-8'),{'applied':_0x3bf255,'alreadyPresent':!![],'reason':_0x5b1181?'Upgraded\x20existing\x20installCeraph()\x20with\x20the\x20testID\x20sentinel\x20seam.':_0x3bf255?'Already\x20wired\x20—\x20added\x20missing\x20import(s).':_0x3db3a2(0x3f1)};}const _0x108ac5=_0x297781(_0x63d9b,_0xe4d5d1);if(!_0x108ac5)return{'applied':![],'alreadyPresent':![],'reason':'Default\x20export\x20is\x20not\x20a\x20block-bodied\x20function.\x20Manually\x20add\x20the\x20following\x20at\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20'+_0xe4d5d1[_0x3db3a2(0x538)]+':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22'+_0xe8fe16+'\x22;\x0a\x20\x20useEffect(()\x20=>\x20{\x20'+_0x1b07f5(_0xe4d5d1)+';\x20},\x20[]);'};_0x5ea1dd(_0x20e77c),_0x547865(_0x20e77c);const _0x741775=_0x20e77c['getFullText']();return await _0xc69d6c(_0xe4d5d1[_0x3db3a2(0x538)],_0x741775,'utf-8'),{'applied':!![],'alreadyPresent':![]};}async function _0x5b2f2b(_0xd3dd98){const _0x16eb60=_0xf8ecb6;try{return _0x16eb60(0x2e5)===_0x16eb60(0x6e0)?{'kind':'block','response':{'content':[{'type':_0x16eb60(0x3e0),'text':_0x710f77['stringify']({'status':'doctor-failed','message':'Doctor\x20checks\x20failed.\x20Resolve\x20these\x20before\x20running\x20flows.\x20After\x20fixing,\x20retry\x20—\x20doctor\x20re-runs\x20automatically\x20until\x20it\x20passes.','errors':_0x203875['map'](_0x149fdb=>({'name':_0x149fdb[_0x16eb60(0x9e5)],'message':_0x149fdb[_0x16eb60(0x531)],'remediation':_0x149fdb['remediation']})),'hint':_0x16eb60(0x976)},null,0x2)}],'isError':!![]}}:await _0x4ab85c(_0xd3dd98[_0x16eb60(0x538)],_0x16eb60(0x827));}catch{return null;}}async function _0x2b12e3(_0x2bfbc4,_0x6598a8){await _0xc69d6c(_0x2bfbc4['filePath'],_0x6598a8,'utf-8');}import{readFile as _0x457b28,writeFile as _0x319b71,access as _0x60b34a}from'fs/promises';import{join as _0x12d72f}from'path';var _0x111e44='ceraph';async function _0x34f188(_0x4d1fbb){try{return await _0x60b34a(_0x4d1fbb),!![];}catch{return![];}}async function _0x263689(_0xf5ada,_0x965f7c={}){const _0x51cda3=_0xf8ecb6,_0x64a892=_0x965f7c[_0x51cda3(0x753)]??_0x34f188,_0x508acb=_0x965f7c[_0x51cda3(0x4e4)]??(_0x1eadf4=>_0x457b28(_0x1eadf4,'utf-8')),_0x31df0e=_0x965f7c['writeFile']??((_0x15ec25,_0x4a6b2a)=>_0x319b71(_0x15ec25,_0x4a6b2a,_0x51cda3(0x827))),_0x33ec60=_0x12d72f(_0xf5ada,'app.json'),_0x5c240a=_0x12d72f(_0xf5ada,_0x51cda3(0x3d4)),_0x51a2cf=_0x12d72f(_0xf5ada,_0x51cda3(0x892)),_0x236ef0=_0x12d72f(_0xf5ada,'ios'),_0x1ea38c=_0x12d72f(_0xf5ada,'android'),_0x389df2=await _0x64a892(_0x5c240a),_0x18d53f=await _0x64a892(_0x51a2cf);if(_0x389df2||_0x18d53f)return{'kind':_0x51cda3(0x781),'path':_0x18d53f?_0x51a2cf:_0x5c240a};if(await _0x64a892(_0x33ec60)){const _0x3674fa=await _0x508acb(_0x33ec60),_0x38366d=_0x2cc4b7(_0x3674fa);if(!_0x38366d['ok'])return{'kind':_0x51cda3(0x781),'path':_0x33ec60};const _0x265ab2=_0x3c9cb7(_0x38366d['parsed'],_0x111e44);if(_0x265ab2['action']===_0x51cda3(0x5c2)){if('MWQfq'!==_0x51cda3(0x5f4))return{'kind':_0x51cda3(0x4ab),'scheme':_0x265ab2[_0x51cda3(0xb27)],'path':_0x33ec60};else this['cached']=null,this['inflight']=null,this['simulatorWdaPort']=null,this['simulatorWdaUdid']=null,this[_0x51cda3(0x3af)]['clear'](),this[_0x51cda3(0xa62)]['clear'](),this['stateVersion']++;}return await _0x31df0e(_0x33ec60,_0x3e7df9(_0x38366d[_0x51cda3(0x3da)],_0x3674fa)),{'kind':_0x51cda3(0x9a9),'previousScheme':_0x265ab2['previousScheme'],'nextScheme':_0x265ab2['nextScheme'],'path':_0x33ec60};}if(await _0x64a892(_0x236ef0)||await _0x64a892(_0x1ea38c))return{'kind':'bare-rn-needs-manual'};return{'kind':_0x51cda3(0x9ab)};}function _0x2cc4b7(_0xee86b6){const _0x116d61=_0xf8ecb6;try{const _0x25d136=JSON[_0x116d61(0x981)](_0xee86b6);if(!_0x25d136||typeof _0x25d136!=='object'||Array['isArray'](_0x25d136))return{'ok':![],'parsed':{}};return{'ok':!![],'parsed':_0x25d136};}catch{return{'ok':![],'parsed':{}};}}function _0x3e7df9(_0x4685a2,_0x24dbb0){const _0x2f7705=_0xf8ecb6,_0x1e778d=_0x24dbb0[_0x2f7705(0x2f3)](/\n(\s+)"/),_0x272f47=_0x1e778d?.[0x1]??'\x20\x20',_0xe68577=_0x24dbb0[_0x2f7705(0xaa5)]('\x0a'),_0x20bda4=JSON['stringify'](_0x4685a2,null,_0x272f47);return _0xe68577?_0x20bda4+'\x0a':_0x20bda4;}function _0x3c9cb7(_0x1f8685,_0x12ed6f){const _0x11fe2e=_0xf8ecb6;(!_0x1f8685[_0x11fe2e(0x982)]||typeof _0x1f8685['expo']!==_0x11fe2e(0x9e3))&&(_0x1f8685['expo']={});const _0x21a940=_0x1f8685['expo'],_0x425973=_0x21a940[_0x11fe2e(0xb27)];if(typeof _0x425973==='string'&&_0x425973===_0x12ed6f)return{'action':_0x11fe2e(0x5c2),'scheme':_0x425973,'previousScheme':_0x425973,'nextScheme':[_0x425973]};if(Array[_0x11fe2e(0x200)](_0x425973)&&_0x425973['includes'](_0x12ed6f))return{'action':'already','scheme':_0x425973,'previousScheme':_0x425973,'nextScheme':[..._0x425973]};if(_0x425973===void 0x0)return _0x21a940[_0x11fe2e(0xb27)]=_0x12ed6f,{'action':'added','scheme':_0x12ed6f,'previousScheme':void 0x0,'nextScheme':[_0x12ed6f]};if(typeof _0x425973===_0x11fe2e(0x30d)){const _0x3799a5=[_0x425973,_0x12ed6f];return _0x21a940[_0x11fe2e(0xb27)]=_0x3799a5,{'action':_0x11fe2e(0x7ed),'scheme':_0x3799a5,'previousScheme':_0x425973,'nextScheme':_0x3799a5};}if(Array['isArray'](_0x425973)){const _0x36c9ef=[..._0x425973,_0x12ed6f];return _0x21a940['scheme']=_0x36c9ef,{'action':'added','scheme':_0x36c9ef,'previousScheme':_0x425973,'nextScheme':_0x36c9ef};}return _0x21a940['scheme']=_0x12ed6f,{'action':'added','scheme':_0x12ed6f,'previousScheme':_0x425973,'nextScheme':[_0x12ed6f]};}function _0x5c9d06(){const _0x19923c=_0xf8ecb6;return'\x0aAdd\x20Ceraph\x27s\x20custom\x20URL\x20scheme\x20so\x20deep\x20links\x20(ceraph://reload,\x0aceraph://reset,\x20ceraph://storage)\x20reach\x20the\x20running\x20app.\x0a\x0aiOS\x20—\x20edit\x20ios/<YourApp>/Info.plist:\x0a\x0a\x20\x20<key>CFBundleURLTypes</key>\x0a\x20\x20<array>\x0a\x20\x20\x20\x20<dict>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLName</key>\x0a\x20\x20\x20\x20\x20\x20<string>com.yourcompany.yourapp</string>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLSchemes</key>\x0a\x20\x20\x20\x20\x20\x20<array>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>ceraph</string>\x0a\x20\x20\x20\x20\x20\x20</array>\x0a\x20\x20\x20\x20</dict>\x0a\x20\x20</array>\x0a\x0aAndroid\x20—\x20edit\x20android/app/src/main/AndroidManifest.xml\x20inside\x20the\x0aMainActivity\x20<activity>\x20block:\x0a\x0a\x20\x20<intent-filter>\x0a\x20\x20\x20\x20<action\x20android:name=\x22android.intent.action.VIEW\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.DEFAULT\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.BROWSABLE\x22\x20/>\x0a\x20\x20\x20\x20<data\x20android:scheme=\x22ceraph\x22\x20/>\x0a\x20\x20</intent-filter>\x0a\x0aThen\x20rebuild\x20the\x20native\x20app\x20(pod\x20install\x20+\x20xcodebuild\x20on\x20iOS,\x20./gradlew\x0aassembleDebug\x20on\x20Android).\x20Existing\x20JS-only\x20reloads\x20do\x20not\x20pick\x20up\x0anative\x20config\x20changes.\x0a'[_0x19923c(0x313)]();}function _0x8d4874(_0x40e47f){const _0x6f8ce8=_0xf8ecb6;return('\x0aYour\x20project\x20uses\x20'+_0x40e47f+_0x6f8ce8(0x5f1))[_0x6f8ce8(0x313)]();}import{readFile as _0x38c482,readdir as _0x90cb29,stat as _0x54b2d6}from'fs/promises';import{join as _0x5264bd,relative as _0xbe8ea5,sep as _0x24785a}from'path';async function _0x42ebc7(_0x52b30d){try{return await _0x54b2d6(_0x52b30d),!![];}catch{return![];}}async function _0x5a35e9(_0x5a0fc2){const _0x210a86=_0xf8ecb6;try{const _0x22308b=await _0x38c482(_0x5a0fc2,'utf-8'),_0x2f41cd=JSON['parse'](_0x22308b);if(!_0x2f41cd||typeof _0x2f41cd!==_0x210a86(0x9e3))return null;return _0x2f41cd;}catch{return null;}}function _0x5cb79f(_0x1a47cb){const _0x1cbc74=_0xf8ecb6;if(!_0x1a47cb)return{'expo':![],'rn':![]};const _0x48454a=_0x1a47cb['dependencies']??{},_0x2a2622=_0x1a47cb[_0x1cbc74(0xb2a)]??{},_0x375c95={..._0x48454a,..._0x2a2622};return{'expo':Boolean(_0x375c95[_0x1cbc74(0x982)]||_0x375c95['expo-router']),'rn':Boolean(_0x375c95['react-native'])};}async function _0x676dc6(_0x4585f1){const _0x3150ac=_0x5264bd(_0x4585f1,'pnpm-workspace.yaml');let _0x1d267c;try{_0x1d267c=await _0x38c482(_0x3150ac,'utf-8');}catch{return null;}return _0x2b43b2(_0x1d267c);}function _0x2b43b2(_0x3ec997){const _0x37b192=_0xf8ecb6,_0x2452f5=[];let _0x598e19=![];for(const _0x11f8ab of _0x3ec997['split'](/\r?\n/)){const _0x292d01=_0x11f8ab[_0x37b192(0x42e)](/#.*$/,'')['trimEnd']();if(_0x292d01[_0x37b192(0x3b7)]===0x0)continue;if(/^packages\s*:\s*$/['test'](_0x292d01)){_0x598e19=!![];continue;}if(!_0x11f8ab['startsWith']('\x20')&&!_0x11f8ab['startsWith']('-')&&_0x292d01[_0x37b192(0xaa5)](':')){_0x598e19=![];continue;}if(!_0x598e19)continue;const _0x39a6f9=_0x292d01[_0x37b192(0x2f3)](/^\s*-\s*['"]?([^'"]+?)['"]?\s*$/);if(_0x39a6f9&&_0x39a6f9[0x1])_0x2452f5['push'](_0x39a6f9[0x1]);}return _0x2452f5;}async function _0x98e744(_0x5d743a,_0x421d29){const _0x1590bb=_0xf8ecb6,_0x3a5179=_0x421d29[_0x1590bb(0x42e)](/^\.\//,'')[_0x1590bb(0x42e)](/\/+$/,'');if(_0x3a5179['length']===0x0)return[];if(!_0x3a5179['includes']('*')){if(_0x1590bb(0x6a6)!=='XuicZ'){const _0x3122b6=new _0x2a7906({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x4b7463['TwoSpaces']}});for(const _0x1b96db of _0x1561ec){try{_0x3122b6['addSourceFileAtPath'](_0x1b96db);}catch{}}return _0x3122b6;}else{const _0x5ab167=_0x5264bd(_0x5d743a,_0x3a5179),_0x4e0e2d=await _0x42ebc7(_0x5ab167);return _0x4e0e2d?[_0x5ab167]:[];}}const _0x31102c=_0x3a5179[_0x1590bb(0x2f3)](/^([^*]+)\/\*$/);if(!_0x31102c||!_0x31102c[0x1])return[];const _0x1696e6=_0x31102c[0x1]['replace'](/\/+$/,''),_0x589cde=_0x5264bd(_0x5d743a,_0x1696e6);let _0x65fff1;try{_0x65fff1=await _0x90cb29(_0x589cde,{'withFileTypes':!![]});}catch{return[];}const _0x191e7d=[];for(const _0xe4b896 of _0x65fff1){if(!_0xe4b896['isDirectory']())continue;if(_0xe4b896['name'][_0x1590bb(0x746)]('.'))continue;_0x191e7d[_0x1590bb(0x4d1)](_0x5264bd(_0x589cde,_0xe4b896[_0x1590bb(0x9e5)]));}return _0x191e7d;}async function _0x3835b8(_0x5ecfcd){const _0xf05184=_0xf8ecb6,_0x91828e=new Set();let _0x2b0805=![];const _0x5cb1c8=await _0x5a35e9(_0x5264bd(_0x5ecfcd,'package.json'));if(_0x5cb1c8?.[_0xf05184(0x593)]){_0x2b0805=!![];if(Array[_0xf05184(0x200)](_0x5cb1c8[_0xf05184(0x593)])){for(const _0x535fdc of _0x5cb1c8['workspaces'])_0x91828e[_0xf05184(0x856)](_0x535fdc);}else{if(_0x5cb1c8['workspaces']&&typeof _0x5cb1c8['workspaces']===_0xf05184(0x9e3)&&Array['isArray'](_0x5cb1c8['workspaces']['packages'])){if(_0xf05184(0xa5e)!=='TFSrw')return{'success':![],'tappedAt':{'x':_0x4dc9a5,'y':_0x5efb71},'pixelRatio':this[_0xf05184(0x547)]??0x0,'correction':'Failed\x20before\x20correction\x20could\x20be\x20applied','error':_0xe35fe7 instanceof _0x37c5cd?_0x25c23c['message']:_0xf05184(0x64c)};else for(const _0x21ad00 of _0x5cb1c8['workspaces'][_0xf05184(0x824)]){'CDsLh'===_0xf05184(0xae7)?_0x91828e[_0xf05184(0x856)](_0x21ad00):this['metroWarnings']['push'](..._0x48638f[_0xf05184(0x7a8)]);}}}}const _0x12fec1=await _0x676dc6(_0x5ecfcd);if(_0x12fec1!=null){_0x2b0805=!![];for(const _0x23a131 of _0x12fec1)_0x91828e[_0xf05184(0x856)](_0x23a131);}const _0x5d4c61=await _0x5a35e9(_0x5264bd(_0x5ecfcd,_0xf05184(0x94c)));if(_0x5d4c61){const _0x1c946b=_0x5d4c61['packages'];if(Array['isArray'](_0x1c946b)){_0x2b0805=!![];for(const _0x3c5ecc of _0x1c946b){if(typeof _0x3c5ecc==='string')_0x91828e['add'](_0x3c5ecc);}}else await _0x42ebc7(_0x5264bd(_0x5ecfcd,'lerna.json'))&&(_0x2b0805=!![]);}if(!_0x2b0805)return null;return Array[_0xf05184(0x56c)](_0x91828e);}async function _0x534210(_0x160d06){const _0x29eb1f=_0xf8ecb6,_0x439e82=await _0x5a35e9(_0x5264bd(_0x160d06,_0x29eb1f(0x2a8))),_0x1ebf97=_0x5cb79f(_0x439e82);if(_0x1ebf97['expo']||_0x1ebf97['rn']){if(_0x29eb1f(0x501)!=='mMjMI')return{'kind':'none','matches':[],'rootIsRnApp':!![],'isMonorepo':await _0x3835b8(_0x160d06)!=null};else _0x277bc8();}const _0x25e201=await _0x3835b8(_0x160d06);if(_0x25e201==null)return{'kind':'none','matches':[],'rootIsRnApp':![],'isMonorepo':![]};const _0x34bed4=new Set();for(const _0x568c9e of _0x25e201){for(const _0x2bcc22 of await _0x98e744(_0x160d06,_0x568c9e)){_0x34bed4['add'](_0x2bcc22);}}const _0x5536a3=[];for(const _0x3716f8 of _0x34bed4){const _0x3cb598=_0x5264bd(_0x3716f8,'package.json'),_0x29f64b=await _0x5a35e9(_0x3cb598),_0x4bd372=_0x5cb79f(_0x29f64b),_0x4d837a=await _0x42ebc7(_0x5264bd(_0x3716f8,'app.json')),_0x3e24ce=[];if(_0x4bd372[_0x29eb1f(0x982)])_0x3e24ce[_0x29eb1f(0x4d1)](_0x29eb1f(0x982));if(_0x4bd372['rn'])_0x3e24ce[_0x29eb1f(0x4d1)](_0x29eb1f(0x9f5));if(_0x4d837a)_0x3e24ce['push'](_0x29eb1f(0x8fb));if(_0x3e24ce[_0x29eb1f(0x3b7)]===0x0)continue;const _0x141138=_0xbe8ea5(_0x160d06,_0x3716f8)['split'](_0x24785a)['join']('/');_0x5536a3[_0x29eb1f(0x4d1)]({'absPath':_0x3716f8,'relPath':_0x141138[_0x29eb1f(0x3b7)]>0x0?_0x141138:'.','signals':_0x3e24ce});}_0x5536a3[_0x29eb1f(0x426)]((_0x177745,_0x453e0e)=>_0x177745['relPath']<_0x453e0e['relPath']?-0x1:_0x177745['relPath']>_0x453e0e[_0x29eb1f(0x87a)]?0x1:0x0);const _0x2a1013=_0x5536a3[_0x29eb1f(0x3b7)]===0x0?_0x29eb1f(0x41a):_0x5536a3['length']===0x1?_0x29eb1f(0x65e):'multi';return{'kind':_0x2a1013,'matches':_0x5536a3,'rootIsRnApp':![],'isMonorepo':!![]};}async function _0x208c82(){return _0x1be651();}async function _0x464e89(_0x57f140,_0x2e3972=_0x57f140){const _0x43b3b6=_0xf8ecb6,[_0x2f0d8c,_0x434910,_0x5d12d1,_0x444cac,_0x4f6ac2]=await Promise['all']([_0x47e59c(_0x57f140),_0x208c82(),_0x58274e(_0x57f140),_0xfb1f2(_0x57f140),_0x5ea314(_0x57f140)]),_0x5aae19=_0x4f6ac2?await _0x2dff89(_0x4f6ac2[_0x43b3b6(0x538)]):null,_0x57ac82=_0x5aae19===null?null:_0x5aae19===_0x43b3b6(0x8a6),_0x353010=_0x5d12d1['kind']==='expo-json-already-registered'?!![]:_0x5d12d1[_0x43b3b6(0xb14)]==='expo-json-added'?![]:null,_0x17b358=_0x5d12d1['kind']==='expo-json-added'||_0x5d12d1[_0x43b3b6(0xb14)]==='expo-json-already-registered'?'expo-json':_0x5d12d1[_0x43b3b6(0xb14)]==='expo-config-needs-manual'?_0x43b3b6(0x808):_0x5d12d1['kind']===_0x43b3b6(0x895)?_0x43b3b6(0xacf):_0x43b3b6(0x41a);return{'workingDir':_0x57f140,'packageInstalled':_0x2f0d8c,'authenticated':_0x434910!=null,'schemeRegistered':_0x353010,'projectKind':_0x17b358,'cameraScanResults':_0x444cac[_0x43b3b6(0x7be)]['map'](_0xda386=>({'relPath':_0xda386['relPath'],'line':_0xda386['line'],'alreadyHasImageKey':_0xda386['alreadyHasImageKey'],'suggestedKey':_0xda386['suggestedKey']})),'bootInjected':_0x57ac82,'bootSeamState':_0x5aae19,'bootTarget':_0x4f6ac2,'mcpClientsPresent':{'claudeCode':await _0x141e0b(_0x17e7d3(_0x2e3972,_0x43b3b6(0x5ec))),'cursor':await _0x141e0b(_0x17e7d3(_0x2e3972,'.cursor','mcp.json')),'codex':await _0x141e0b(_0x17e7d3(_0x2e3972,'.codex',_0x43b3b6(0x9e2))),'vscode':await _0x141e0b(_0x17e7d3(_0x2e3972,'.vscode','mcp.json'))}};}async function _0x58274e(_0x47175c){return _0x263689(_0x47175c,{'writeFile':async()=>void 0x0});}async function _0x170983(_0x25f53a={}){const _0x5b731c=_0xf8ecb6;try{const _0x315b32=await _0x57ae5f({'signal':_0x25f53a['signal'],'token':_0x25f53a['token'],'intent':_0x25f53a['intent']});return _0x315b32[_0x5b731c(0x41e)]?{'status':'ok','email':_0x315b32[_0x5b731c(0x41e)]}:{'status':'ok'};}catch(_0x54c571){if(_0x54c571 instanceof Error&&(_0x54c571[_0x5b731c(0x9e5)]==='AbortError'||typeof DOMException!=='undefined'&&_0x54c571 instanceof DOMException))return{'status':'aborted'};const _0xe544d2=_0x54c571 instanceof Error?_0x54c571[_0x5b731c(0x531)]:String(_0x54c571);return{'status':'error','error':_0xe544d2};}}async function _0x9cda3f(_0x15dc20){const _0x1d3147=_0xf8ecb6,_0x578c50=await _0xfb1f2(_0x15dc20),_0x5751f9=[],_0x507b7c=new Map();for(const _0x5aad24 of _0x578c50[_0x1d3147(0x7be)]){let _0x52d4ed=_0x507b7c[_0x1d3147(0x3fd)](_0x5aad24[_0x1d3147(0x538)]);_0x52d4ed===void 0x0&&(_0x52d4ed=await _0x4248c2(_0x5aad24[_0x1d3147(0x538)],'utf-8')['catch'](()=>''),_0x507b7c['set'](_0x5aad24[_0x1d3147(0x538)],_0x52d4ed)),_0x5751f9[_0x1d3147(0x4d1)]({'filePath':_0x5aad24['filePath'],'relPath':_0x5aad24['relPath'],'line':_0x5aad24['line'],'suggestedKey':_0x5aad24[_0x1d3147(0x6e6)],'alreadyHasImageKey':_0x5aad24['alreadyHasImageKey'],'surroundingCode':_0x3b1fe6(_0x52d4ed,_0x5aad24['line'],0xf)});}return{'usages':_0x5751f9,'filesScanned':_0x578c50['filesScanned']};}function _0x3b1fe6(_0x4d7ac0,_0x119e9f,_0x21eb69){const _0x56de65=_0xf8ecb6,_0x42b39a=_0x4d7ac0['split'](/\r?\n/),_0x1d2e8e=Math['max'](0x0,_0x119e9f-0x1-_0x21eb69),_0x3c38e6=Math['min'](_0x42b39a['length'],_0x119e9f-0x1+_0x21eb69+0x1);return _0x42b39a[_0x56de65(0x795)](_0x1d2e8e,_0x3c38e6)['join']('\x0a');}async function _0x3252d9(_0x27e6ed,_0x1850de){const _0x3c81da=_0xf8ecb6,_0x467060=await _0xfb1f2(_0x27e6ed),_0x38cd52=_0x467060[_0x3c81da(0x7be)]['find'](_0xe83130=>_0xe83130[_0x3c81da(0x538)]===_0x1850de[_0x3c81da(0x538)]&&_0xe83130['line']===_0x1850de['line']);if(!_0x38cd52){if(_0x3c81da(0x95d)!=='eYSTm'){const _0x5a65d2=await _0x4248c2(_0x1850de['filePath'],_0x3c81da(0x827))[_0x3c81da(0x48b)](()=>null);if(_0x5a65d2==null)return{'success':![],'reason':'File\x20not\x20found:\x20'+_0x1850de[_0x3c81da(0x538)]};if(_0x5a65d2[_0x3c81da(0x27e)](_0x3c81da(0x902))){const _0x3d136c=await _0x19c198(_0x1850de['filePath'],_0x1850de['line'],_0x1850de[_0x3c81da(0x8d5)]);if(_0x3d136c['applied']){if(_0x3c81da(0x4ee)!==_0x3c81da(0x8ff)){const _0x394c4b=await _0x4248c2(_0x1850de['filePath'],'utf-8');return{'success':!![],'newContent':_0x394c4b};}else{_0x154803[_0x3c81da(0x4d1)](_0x3c81da(0x2f4)+_0x5191d8['name']+':\x20'+_0xfb468d[_0x3c81da(0x531)]);if(_0x23f1b7['remediation'])_0x4eb68c[_0x3c81da(0x4d1)](_0x3c81da(0xa79)+_0x1a8e3d['remediation']);}}if(_0x3d136c['reason']==='imageKey\x20unchanged')return{'success':!![],'already':!![],'newContent':_0x5a65d2};return{'success':![],'reason':_0x3d136c['reason']??'No\x20<CeraphCamera>\x20at\x20'+_0x1850de['filePath']+':'+_0x1850de[_0x3c81da(0x397)]};}return{'success':![],'reason':_0x3c81da(0x909)+_0x1850de[_0x3c81da(0x538)]+':'+_0x1850de[_0x3c81da(0x397)]};}else return _0x3c81da(0x365);}const _0x50e0ff={'filePath':_0x38cd52[_0x3c81da(0x538)],'relPath':_0x38cd52[_0x3c81da(0x87a)],'line':_0x38cd52['line'],'suggestedKey':_0x1850de['imageKey'],'alreadyHasImageKey':_0x38cd52[_0x3c81da(0x695)]};await _0x5934f3(_0x27e6ed,[_0x50e0ff]);const _0x2bc1fe=await _0x4248c2(_0x1850de['filePath'],_0x3c81da(0x827));return{'success':!![],'newContent':_0x2bc1fe};}async function _0x1ebf34(_0x5cc00d){const _0x2bf151=_0xf8ecb6,_0x6d8559=await _0x20bee7(_0x5cc00d),_0x3e7783=await _0x5ea314(_0x5cc00d);if(!_0x3e7783)return{'applied':![],'reason':'Could\x20not\x20find\x20app/_layout.tsx\x20or\x20App.tsx.\x20Add\x20this\x20to\x20your\x20root\x20component\x20manually\x20(the\x20require\x20path\x20is\x20relative\x20to\x20that\x20file\x20—\x20`./.ceraph/testid-config.json`\x20from\x20a\x20root\x20App.tsx,\x20`../.ceraph/testid-config.json`\x20from\x20app/_layout.tsx):\x0a\x20\x20useEffect(()\x20=>\x20{\x20installCeraph({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22./.ceraph/testid-config.json\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20});\x20},\x20[]);','babelConfig':_0x6d8559};const _0xa4b6a8=await _0x2175ac(_0x3e7783);return{'applied':_0xa4b6a8[_0x2bf151(0x1ee)],'filePath':_0x3e7783['filePath'],'already':_0xa4b6a8[_0x2bf151(0x92f)],'reason':_0xa4b6a8[_0x2bf151(0x256)],'babelConfig':_0x6d8559};}async function _0x59c56b(_0xa5325b){const _0x4fa27b=_0xf8ecb6,_0x553f7a=await _0x263689(_0xa5325b);let _0x311882;if(_0x553f7a['kind']===_0x4fa27b(0x781))_0x311882=_0x8d4874(_0x553f7a['path']);else{if(_0x553f7a['kind']===_0x4fa27b(0x895)){if('jxkZC'==='jxkZC')_0x311882=_0x5c9d06();else throw new _0x1ce6a('network-error',0x0,'Could\x20not\x20reach\x20the\x20Ceraph\x20server\x20(request\x20timed\x20out\x20after\x20'+_0x4401d8+_0x4fa27b(0x8ea),_0x433df3);}}return{'action':_0x553f7a,'instructions':_0x311882};}var _0x14762c={'react-native-mcp':{'command':'npx','args':['-y',_0xf8ecb6(0x7c4)]}};async function _0x5d6407(_0x3b8d58){const _0x260634=_0xf8ecb6,_0x44750d=[],_0x4d36c6=[],_0x4b49f9=[],_0x37254f=[{'name':'Claude\x20Code','path':_0x17e7d3(_0x3b8d58,'.mcp.json')},{'name':'Cursor','path':_0x17e7d3(_0x3b8d58,_0x260634(0x85a),'mcp.json')},{'name':'Codex','path':_0x17e7d3(_0x3b8d58,'.codex',_0x260634(0x9e2)),'toml':!![]},{'name':'VS\x20Code','path':_0x17e7d3(_0x3b8d58,'.vscode',_0x260634(0xab3))}];for(const _0x4be3d1 of _0x37254f){if('MendI'!==_0x260634(0xa30)){if(_0x304ca3){this['bootBuffer']=[],this[_0x260634(0x6ca)]=0x0,this['bootWriteCount']=0x0,this['asyncStorageReadBuffer']=[],this['bootCaptureMode']=!![];return;}this['bootCaptureMode']=![];}else{const _0x16de44=_0x4be3d1[_0x260634(0x87d)]?await _0x4ea3f6(_0x4be3d1['path']):await _0x581099(_0x4be3d1[_0x260634(0x2c7)]);if(_0x16de44[_0x260634(0x428)]===_0x260634(0xa97))_0x44750d[_0x260634(0x4d1)](_0x4be3d1['name']);else{if(_0x16de44['status']==='skipped')_0x4d36c6[_0x260634(0x4d1)](_0x4be3d1['name']);else _0x4b49f9[_0x260634(0x4d1)]({'name':_0x4be3d1['name'],'reason':_0x16de44[_0x260634(0x256)]});}}}const _0x3ecc74=await _0x3031b6(_0x3b8d58);return{'written':_0x44750d,'skipped':_0x4d36c6,'preserved':_0x4b49f9,'claudePreApproval':_0x3ecc74};}async function _0x581099(_0x34b36c){const _0x111053=_0xf8ecb6,_0x552194=await _0x354490(_0x34b36c);if(_0x552194[_0x111053(0xb14)]==='malformed')return{'status':'preserved','reason':_0x111053(0x9d8)+_0x34b36c+_0x111053(0x89b)};const _0x29c022=_0x552194['kind']==='ok'?_0x552194[_0x111053(0x39d)]:{};if(_0x552194['kind']==='ok'&&!_0x29787e(_0x29c022))return'hOozS'===_0x111053(0x403)?{'status':_0x111053(0x93c),'reason':_0x111053(0x9d8)+_0x34b36c+_0x111053(0x2ca)+(Array['isArray'](_0x29c022)?_0x111053(0x20f):typeof _0x29c022)+')\x20—\x20preserved'}:{'success':![],'errors':[{'file':'','line':0x0,'message':'prebuild\x20--clean\x20failed:\x0a'+_0xfb01c9[_0x111053(0x9e9)],'type':_0x111053(0xb1a)}],'warnings':[],'output':_0x42140e[_0x111053(0x9e9)]};const _0x5f1640=_0x29787e(_0x29c022)?_0x29c022:{},_0x203682=_0x5f1640[_0x111053(0x67f)];if(_0x203682!==void 0x0&&!_0x29787e(_0x203682))return{'status':'preserved','reason':_0x111053(0x792)+_0x34b36c+'\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20'+(Array[_0x111053(0x200)](_0x203682)?'array':typeof _0x203682)+')\x20—\x20preserved'};const _0x29b649=_0x29787e(_0x203682)?_0x203682:{};let _0x43365d=![];for(const _0x422c05 of _0x5b996d){_0x422c05 in _0x29b649&&(delete _0x29b649[_0x422c05],_0x43365d=!![]);}if(_0x29b649['react-native-mcp']&&!_0x43365d)return{'status':_0x111053(0x965)};return _0x29b649[_0x111053(0x223)]=_0x14762c['react-native-mcp'],_0x5f1640[_0x111053(0x67f)]=_0x29b649,await _0x475a69(_0x17e7d3(_0x34b36c,'..'),{'recursive':!![]}),await _0x18b8bb(_0x34b36c,JSON['stringify'](_0x5f1640,null,0x2)+'\x0a'),{'status':'written'};}async function _0x4ea3f6(_0x28c3e9){const _0x34de62=_0xf8ecb6;let _0x427a83='';try{if(_0x34de62(0x8bf)!==_0x34de62(0x6ef))_0x427a83=await _0x4248c2(_0x28c3e9,'utf-8');else return{'ok':![],'error':_0x34de62(0x416)};}catch{}const _0x85d5f0=new Set(_0x5b996d['map'](_0x2c4442=>'mcp_servers.'+_0x2c4442)),_0xb22936=_0x896b90(_0x427a83,_0x85d5f0);_0x427a83=_0xb22936['next'];const _0x15412a=_0xb22936[_0x34de62(0x63b)]['length']>0x0,_0x4b77f1=_0x427a83[_0x34de62(0x27e)]('[mcp_servers.react-native-mcp]');if(_0x4b77f1&&!_0x15412a)return{'status':'skipped'};if(!_0x4b77f1){const _0x5723f6='\x0a[mcp_servers.react-native-mcp]\x0acommand\x20=\x20\x22npx\x22\x0aargs\x20=\x20[\x22-y\x22,\x20\x22@ceraph/react-native-mcp@latest\x22]\x0a';_0x427a83=_0x427a83+_0x5723f6;}return await _0x475a69(_0x17e7d3(_0x28c3e9,'..'),{'recursive':!![]}),await _0x18b8bb(_0x28c3e9,_0x427a83),{'status':_0x34de62(0xa97)};}async function _0x4367cd(_0x372235){const _0x14d8d6=_0xf8ecb6,_0xca590f=await _0x534210(_0x372235);return{'isMonorepo':_0xca590f[_0x14d8d6(0x673)],'rootIsRnApp':_0xca590f[_0x14d8d6(0xb04)],'matches':_0xca590f[_0x14d8d6(0x764)]};}async function _0x141e0b(_0x17d12f){try{return await _0x29f8f2(_0x17d12f),!![];}catch{return![];}}import{readFile as _0x330453,writeFile as _0x4f66a1,mkdir as _0x2946ce,access as _0x518b77,chmod as _0x44b754}from'fs/promises';import{join as _0x4b16de}from'path';import{spawn as _0x33397f}from'child_process';import{join as _0xd26b69}from'path';import{createInterface as _0xfb0c4f}from'readline';function _0x53987a(_0x137f38){const _0xfc056c=_0xf8ecb6;if(_0x137f38['nonInteractive']!==void 0x0)return _0x137f38['nonInteractive'];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process['stdin'][_0xfc056c(0x4b9)];}function _0x5b735b(_0x1392f3){return new Promise(_0x1fddf9=>{const _0x8de014=_0xc050;if(_0x8de014(0x7f2)!==_0x8de014(0x465)){const _0x54e919=_0xfb0c4f({'input':process[_0x8de014(0x908)],'output':process[_0x8de014(0x790)]});_0x54e919[_0x8de014(0xa2b)](_0x1392f3,_0x12d80f=>{const _0x293901=_0x8de014;_0x54e919[_0x293901(0x716)](),_0x1fddf9(_0x12d80f);});}else{const _0x3a80e7={'name':'monorepo','status':_0x8de014(0x3dd),'details':{'matches':_0x140a82['matches']},'remediation':_0x44c6cf[_0x8de014(0x638)]};return _0x474a16(_0x3a80e7),_0x1481de(_0x2c0319['projectDir'],_0x5411d9);}});}async function _0xafbc13(_0x44b5e9,_0x2e4001={}){const _0x58a58d=_0xf8ecb6,_0x1fa0c9=_0x2e4001[_0x58a58d(0x98b)]??!![];if(_0x53987a(_0x2e4001))return _0x1fa0c9;const _0x2f5022=_0x2e4001['ask']??_0x5b735b,_0x24285c=_0x1fa0c9?_0x58a58d(0x66f):_0x58a58d(0x379),_0xfc290=(await _0x2f5022(_0x44b5e9+_0x24285c))['trim']()['toLowerCase']();if(_0xfc290['length']===0x0)return _0x1fa0c9;return _0xfc290==='y'||_0xfc290===_0x58a58d(0x907);}function _0x1405d2(_0x52a750,_0x28c9f5={}){const _0x47538a=_0xf8ecb6,_0x522f2b=_0x28c9f5[_0x47538a(0xaac)]??(_0x5a69a4=>process[_0x47538a(0x790)][_0x47538a(0xaac)](_0x5a69a4));_0x522f2b(_0x52a750);}function _0x2e36f6(_0x1bbca1,_0x195ca6){const _0xe509d7=_0xf8ecb6,_0x59933f=_0x195ca6??_0x1bbca1;if(process['stdout']['isTTY']!==!![]||process[_0xe509d7(0x910)]['isTTY']!==!![]){if(_0xe509d7(0x67a)!=='eLWTF'){const _0x398d74=_0x18d318['getImportDeclaration']('react');if(!_0x398d74)return _0x3312a1['addImportDeclaration']({'moduleSpecifier':_0xe509d7(0x8cb),'namedImports':[_0xe509d7(0x5da)]}),!![];const _0x3ee50e=_0x398d74[_0xe509d7(0x3d5)]();if(!_0x3ee50e['some'](_0x1f5b62=>_0x1f5b62['getName']()==='useEffect'))return _0x398d74['addNamedImport'](_0xe509d7(0x5da)),!![];return![];}else return _0x59933f;}return'\x1b]8;;'+_0x1bbca1+'\x07'+_0x59933f+'\x1b]8;;\x07';}async function _0x3bf280(_0x385eed,_0x514814,_0x2498ef={}){const _0x4dd10b=_0xf8ecb6;if(_0x514814['length']===0x0)return null;if(_0x53987a(_0x2498ef))return 0x0;const _0x1a684e=_0x2498ef[_0x4dd10b(0x8a8)]??_0x5b735b,_0x377334=[_0x385eed];_0x514814['forEach']((_0x5ecc32,_0x45d307)=>{const _0x1f2613=_0x4dd10b;_0x377334[_0x1f2613(0x4d1)]('\x20\x20'+(_0x45d307+0x1)+'.\x20'+_0x5ecc32);}),_0x377334[_0x4dd10b(0x4d1)]('');const _0x522ddc=_0x377334[_0x4dd10b(0x4ec)]('\x0a')+('Select\x20[1-'+_0x514814['length']+']:\x20'),_0x5eba3b=(await _0x1a684e(_0x522ddc))['trim']();if(_0x5eba3b[_0x4dd10b(0x3b7)]===0x0)return 0x0;const _0x43a710=Number['parseInt'](_0x5eba3b,0xa)-0x1;if(Number[_0x4dd10b(0x303)](_0x43a710)||_0x43a710<0x0||_0x43a710>=_0x514814['length'])return null;return _0x43a710;}async function _0x303aef(){return _0x1be651();}var _0x148fa0=_0xf8ecb6(0x231),_0x3a264a=_0xf8ecb6(0x953),_0x1b1989='Which\x20plan?',_0x37698d=_0xf8ecb6(0x277),_0x1ee032=_0xf8ecb6(0x5f3),_0xc4ce02=[_0x37698d,_0x1ee032];function _0x53b27a(_0x20378b){return new Promise(_0x25e6b7=>{const _0x3fb378=_0xc050,_0x122810=_0x33397f(_0x20378b[_0x3fb378(0x9c1)],_0x20378b[_0x3fb378(0x886)],{'cwd':_0x20378b['cwd'],'stdio':_0x20378b[_0x3fb378(0xa0d)]?[_0x3fb378(0x9fa),0x2,0x2]:'inherit'});_0x122810['on'](_0x3fb378(0x3dd),()=>_0x25e6b7({'exitCode':0x7f})),_0x122810['on']('exit',_0x54ef1c=>_0x25e6b7({'exitCode':_0x54ef1c??0x1}));});}function _0x566d0c(_0x567254){return'\x20\x20'+_0x567254+'\x0a';}async function _0x5a9822(_0x2aed8e,_0x1bb6f5={}){const _0xb7251f=_0xf8ecb6,_0x5d33e0=_0x4b428b=>_0x1405d2(_0x4b428b,_0x1bb6f5),_0x3f20fa=()=>{_0x5d33e0('\x0a');},_0x6821f7=await _0x839e1c(_0x2aed8e,_0x1bb6f5),_0x15e59a=await _0x20b434(_0x6821f7),_0x5774df=await _0x47e59c(_0x6821f7);let _0x8124be=_0x5774df;if(!_0x1bb6f5['skipInstall']){_0x3f20fa();const _0x54831c=_0x46ad3b(_0x15e59a,'@ceraph/react-native-mcp@latest');_0x5d33e0(_0x566d0c((_0x5774df?'Updating':'Installing')+'\x20@ceraph/react-native-mcp\x20('+_0x15e59a+')…'));const _0xd0759c=_0x1bb6f5['installPackage']??_0x53b27a,_0x4943e2=await _0xd0759c({'bin':_0x54831c['bin'],'args':_0x54831c['args'],'cwd':_0x6821f7,'stdioToStderr':_0x1bb6f5['installStdioToStderr']===!![]});if(_0x4943e2['exitCode']!==0x0)throw new Error(_0x15e59a+'\x20install\x20exited\x20with\x20code\x20'+_0x4943e2['exitCode']+'.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`.');_0x8124be=!![];}let _0x38369b;if(_0x1bb6f5[_0xb7251f(0x69a)])_0x38369b=_0x1bb6f5[_0xb7251f(0x69a)];else{_0x3f20fa(),_0x5d33e0(_0x566d0c(_0xb7251f(0x530)+_0x2e36f6(_0x3a264a))),_0x5d33e0('\x0a');const _0x3d77ba=await _0x3bf280(_0x1b1989,_0xc4ce02,_0x1bb6f5);_0x38369b=_0x3d77ba===0x1?_0xb7251f(0x2a1):'starter';}const _0x585340=_0x1bb6f5[_0xb7251f(0x1fa)]??(_0x1ef2c2=>_0x29339f(_0x1ef2c2)[_0xb7251f(0x9c5)](()=>void 0x0));await _0x585340(_0x38369b)[_0xb7251f(0x48b)](()=>void 0x0);const _0x4bfcb8=_0x1bb6f5['loadAuth']??_0x303aef;let _0x4883f0=null,_0x36e94b=null;_0x3f20fa();if(_0x38369b==='starter'){if(_0xb7251f(0x6d6)==='KOMIZ')try{this['onSignal'](_0x3a4f2b);}catch{}else _0x5d33e0(_0x566d0c(_0xb7251f(0x70c)));}else{const _0x22c4d5=await _0x4bfcb8(),_0x405455=_0x22c4d5!==null&&(_0x22c4d5['githubUser']['id']!==0x0||_0x22c4d5[_0xb7251f(0x58e)]['login']!=='');_0x4883f0=_0x22c4d5;if(_0x22c4d5&&!_0x405455)_0x5d33e0(_0x566d0c(_0x22c4d5[_0xb7251f(0x41e)]?_0xb7251f(0x724)+_0x22c4d5['email']+_0xb7251f(0x4fb):_0xb7251f(0x205)));else{_0x405455&&_0x5d33e0(_0x566d0c('Existing\x20sign-in\x20is\x20from\x20the\x20old\x20GitHub\x20OAuth\x20flow\x20—\x20re-authenticating\x20against\x20the\x20new\x20browser\x20flow.'));_0x5d33e0(_0x566d0c(process.env.CERAPH_AUTH_TOKEN?.[_0xb7251f(0x668)]()?'Signing\x20in\x20with\x20the\x20provided\x20token…':_0xb7251f(0x32c)));const _0x349375=_0x1bb6f5[_0xb7251f(0x228)]??_0x549594;_0x4883f0=await _0x349375(),_0x5d33e0(_0x566d0c(_0x4883f0[_0xb7251f(0x41e)]?_0xb7251f(0x724)+_0x4883f0['email']:_0xb7251f(0x887)));}const _0x3c3808=_0x1bb6f5[_0xb7251f(0x5b1)]??_0x4faaf3,_0x425aa8=await _0x3c3808()[_0xb7251f(0x48b)](()=>![]);_0x36e94b=_0x425aa8?_0xb7251f(0xab2):_0xb7251f(0x885),!_0x425aa8?_0x5d33e0(_0x566d0c(_0xb7251f(0x84f)+_0x2e36f6(_0x3a264a)+'\x20—\x20then\x20re-run\x20init\x20(or\x20any\x20flow\x20tool).\x20Your\x20Pro\x20access\x20refreshes\x20automatically.')):_0x5d33e0(_0x566d0c('Pro\x20is\x20active\x20on\x20this\x20account.'));}const _0x1e68ca=await _0xfb1f2(_0x6821f7),_0x12be95=new Map();let _0x42cb47={'filesEdited':[],'totalReplacements':0x0};_0x3f20fa();if(_0x1e68ca[_0xb7251f(0x7be)]['length']===0x0)_0x5d33e0(_0x566d0c(_0xb7251f(0x4d8)));else{_0x5d33e0(_0x566d0c('Found\x20'+_0x1e68ca['edits'][_0xb7251f(0x3b7)]+_0xb7251f(0x32a)+_0x1e68ca[_0xb7251f(0x5bf)]+_0xb7251f(0xa22)));for(const _0x24b3b4 of _0x1e68ca[_0xb7251f(0x7be)]){_0x5d33e0(_0x566d0c('\x20\x20-\x20'+_0x24b3b4[_0xb7251f(0x87a)]+':'+_0x24b3b4['line']+_0xb7251f(0x60a)+(_0x24b3b4[_0xb7251f(0x695)]?'\x20(existing\x20imageKey\x20preserved)':'')));}_0x5d33e0(_0x566d0c('<CeraphCamera>\x20is\x20a\x20drop-in\x20for\x20<CameraView>\x20(same\x20props):\x20during\x20a\x20flow\x20run\x20it\x20returns\x20your\x20test\x20image;\x20in\x20a\x20production\x20build\x20it\x20renders\x20the\x20real\x20camera.'));const _0x391599=await _0xafbc13(_0xb7251f(0x2f6)+_0x1e68ca['edits']['length']+'\x20<CameraView>\x20to\x20<CeraphCamera>?',{..._0x1bb6f5,'defaultYes':!![]});_0x391599?_0x42cb47=await _0x4e871f(_0x6821f7,_0x1e68ca[_0xb7251f(0x7be)],_0x12be95,_0x1bb6f5,{'omitImageKey':!![]}):_0x5d33e0(_0x566d0c('Skipped\x20<CameraView>\x20rewrite.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20apply.'));}const _0x3d6b33=await _0x5ea314(_0x6821f7);let _0x1d8742={'applied':![],'target':_0x3d6b33};const _0x57a0ef=_0x3d6b33?await _0x2dff89(_0x3d6b33['filePath']):'none';_0x3f20fa();if(!_0x3d6b33){if('UlPbD'!==_0xb7251f(0x408))return{'path':_0x37869d,'status':_0xb7251f(0xa16)};else _0x5d33e0(_0x566d0c(_0xb7251f(0x905)));}else{if(_0x57a0ef==='seamed')_0x5d33e0(_0x566d0c(_0xb7251f(0x474)+_0xb70c8e(_0x6821f7,_0x3d6b33['filePath']))),_0x1d8742={'applied':![],'target':_0x3d6b33,'reason':'already-injected'};else{const _0x18b0dd=_0x57a0ef==='bare'?'Upgrade':'Wire';_0x5d33e0(_0x566d0c('installCeraph()\x20registers\x20Ceraph\x27s\x20dev-only\x20test\x20hooks\x20—\x20runtime-error\x20capture,\x20state\x20reset/reload,\x20keep-awake\x20—\x20at\x20app\x20start.\x20No-op\x20in\x20production\x20builds.'));const _0x7124bb=await _0xafbc13(_0x18b0dd+'\x20installCeraph()\x20in\x20'+_0xb70c8e(_0x6821f7,_0x3d6b33[_0xb7251f(0x538)])+'?',{..._0x1bb6f5,'defaultYes':!![]});if(_0x7124bb){const _0x4c1d82=await _0x5b2f2b(_0x3d6b33);try{const _0x28d3df=await _0x2175ac(_0x3d6b33);_0x1d8742={'applied':_0x28d3df[_0xb7251f(0x1ee)],'target':_0x3d6b33,'reason':_0x28d3df['reason']},_0x28d3df['applied']?_0x5d33e0(_0x566d0c(_0xb7251f(0x4fa)+_0xb70c8e(_0x6821f7,_0x3d6b33['filePath']))):_0x5d33e0(_0x566d0c('Skipped\x20(auto-injection):\x20'+(_0x28d3df['reason']??_0xb7251f(0x339))));}catch(_0x132544){if(_0x4c1d82!=null)await _0x2b12e3(_0x3d6b33,_0x4c1d82);throw _0x132544;}}else{if('JNpfz'!=='JNpfz')return;else _0x5d33e0(_0x566d0c(_0xb7251f(0x871)));}}}let _0x46543c=null;const _0x5096f1=_0x1bb6f5['ensureUrlScheme']??_0x263689,_0x1a100a=await _0x5096f1(_0x6821f7);_0x46543c=_0x1a100a;if(_0x1a100a['kind']!==_0xb7251f(0x9ab))_0x3f20fa();switch(_0x1a100a['kind']){case'expo-json-added':{const _0x499466=_0x1a100a['previousScheme'],_0x54d165=_0xb70c8e(_0x6821f7,_0x1a100a[_0xb7251f(0x2c7)]);if(_0x499466===void 0x0)_0x5d33e0(_0x566d0c(_0xb7251f(0x473)+_0x54d165+_0xb7251f(0x2b8)));else{const _0x87b63a=Array[_0xb7251f(0x200)](_0x499466)?_0x499466['join'](',\x20'):_0x499466;_0x5d33e0(_0x566d0c(_0xb7251f(0x5cd)+_0x54d165+'\x20scheme\x20(kept\x20your\x20existing\x20'+_0x87b63a+'\x20→\x20now\x20['+_0x87b63a+',\x20ceraph])'));}break;}case _0xb7251f(0x4ab):_0x5d33e0(_0x566d0c(_0xb7251f(0x290)+_0xb70c8e(_0x6821f7,_0x1a100a[_0xb7251f(0x2c7)])));break;case'expo-config-needs-manual':_0x5d33e0(_0x566d0c('Detected\x20'+_0xb70c8e(_0x6821f7,_0x1a100a[_0xb7251f(0x2c7)])+'\x20(dynamic\x20Expo\x20config).')),_0x5d33e0(_0x8d4874(_0xb70c8e(_0x6821f7,_0x1a100a['path'])));break;case'bare-rn-needs-manual':_0x5d33e0(_0x566d0c(_0xb7251f(0x6ce))),_0x5d33e0(_0x5c9d06());break;case _0xb7251f(0x9ab):break;}let _0x4d4bf4=null;const _0x2837de=_0x1bb6f5[_0xb7251f(0x97d)]??_0x20bee7,_0x854620=await _0x2837de(_0x6821f7);_0x4d4bf4=_0x854620,_0x3f20fa();switch(_0x854620['kind']){case _0xb7251f(0x7ed):_0x5d33e0(_0x566d0c(_0xb7251f(0x76a)+_0xb70c8e(_0x6821f7,_0x854620['path'])+(_0x854620['beforeReanimated']?_0xb7251f(0x647):'')+'.'));break;case'already-present':_0x5d33e0(_0x566d0c('testID\x20injector\x20already\x20wired\x20in\x20'+_0xb70c8e(_0x6821f7,_0x854620['path'])));break;case _0xb7251f(0x50a):_0x5d33e0(_0x566d0c(_0xb7251f(0x5b2)+_0x854620['reason']));break;case _0xb7251f(0x8f4):_0x5d33e0(_0x566d0c(_0xb7251f(0xa55)+_0xb70c8e(_0x6821f7,_0x854620[_0xb7251f(0x2c7)])+'\x20('+_0x854620[_0xb7251f(0xaa1)]+_0xb7251f(0x34d)));break;}let _0x31edc0={'state':_0xb7251f(0x737),'registered':0x0};if(_0x42cb47['totalReplacements']>0x0){_0x3f20fa();const _0x3f2e6c=await _0x112a0a(_0x6821f7);_0x31edc0={'state':_0x3f2e6c[_0xb7251f(0x36a)],'registered':_0x3f2e6c['registered']['length']},_0x3f2e6c[_0xb7251f(0x36a)]===_0xb7251f(0x737)?_0x5d33e0(_0x566d0c('Test\x20images:\x20call\x20`ceraph_add_camera_image`\x20(writes\x20+\x20auto-syncs\x20the\x20registry),\x20or\x20drop\x20files\x20into\x20'+_0xd26b69('.ceraph','camera-images')+_0xb7251f(0x3bd))):'qSkAL'==='qSkAL'?_0x5d33e0(_0x566d0c(_0xb7251f(0xa7c)+_0x3f2e6c[_0xb7251f(0x36a)]+'\x20('+_0x3f2e6c['registered']['length']+_0xb7251f(0xa46)+_0x1718c0(_0x6821f7,_0x3f2e6c['registryPath'])+'.')):_0x4e5a49['wildcard']?_0x400ae1['accumulatedWriteKeys']['add'](_0x53309d[_0xb7251f(0xb14)]+':'+_0x1d3024['key']+':*'):_0x35ee9d[_0xb7251f(0x56a)]['add'](_0x1e8986['kind']+':'+_0x21b9f2[_0xb7251f(0x88a)]);}let _0x472bc=null;if(_0x4883f0&&_0x36e94b===_0xb7251f(0xab2))try{const _0x458b15=_0x1bb6f5['seedMobileGraph']??_0xb5d385;_0x472bc=await _0x458b15({'workingDir':_0x6821f7,'auth':_0x4883f0}),_0x472bc[_0xb7251f(0x428)]===_0xb7251f(0x50c)&&(_0x3f20fa(),_0x5d33e0(_0x566d0c(_0xb7251f(0x705)+_0x472bc['screenCount']+_0xb7251f(0x52d)+_0x472bc[_0xb7251f(0xa7f)]+_0xb7251f(0x478)+_0x472bc[_0xb7251f(0x273)]+').')));}catch{_0x472bc=null;}else _0x4883f0&&_0x36e94b==='pending'&&(_0x472bc={'status':_0xb7251f(0x965),'reason':_0xb7251f(0x4e6),'message':'Pro\x20selected\x20but\x20not\x20yet\x20active\x20—\x20server-side\x20caching\x20is\x20skipped\x20until\x20checkout\x20completes\x20at\x20'+_0x3a264a+'.'});let _0xa9387f=null;if(_0x1bb6f5[_0xb7251f(0x769)]){_0x3f20fa(),_0xa9387f=await _0x1bb6f5['runDoctor'](),_0x5d33e0(_0x566d0c(_0xb7251f(0x9d1)+_0xa9387f[_0xb7251f(0x88b)]+'/'+_0xa9387f[_0xb7251f(0xa58)]+'\x20'+(_0xa9387f['ok']?'passed':_0xb7251f(0xa44))));if(_0xa9387f[_0xb7251f(0x76c)])_0x5d33e0(_0xa9387f[_0xb7251f(0x76c)]);}_0x3f20fa();let _0x8e9313=![];if(_0x38369b===_0xb7251f(0x7a4))_0x5d33e0(_0x566d0c('You\x27re\x20set\x20up\x20on\x20Starter\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.')),_0x5d33e0(_0x566d0c(_0xb7251f(0x75d))),_0x5d33e0(_0x566d0c('More\x20about\x20the\x20plans\x20→\x20'+_0x2e36f6(_0x3a264a))),_0x8e9313=!![];else _0x36e94b===_0xb7251f(0x885)&&(!_0x1bb6f5['agentMode']&&process['stdout']['isTTY']===!![]&&_0x3bda54(_0x3a264a),_0x5d33e0(_0x566d0c('Pro\x20selected.\x20Complete\x20checkout\x20at\x20'+_0x2e36f6(_0x3a264a)+_0xb7251f(0xac8))),_0x5d33e0(_0x566d0c(_0xb7251f(0x57b))),_0x8e9313=!![]);if(_0x8e9313)_0x5d33e0('\x0a');_0x5d33e0(_0x566d0c('Restart\x20Claude\x20Code\x20(or\x20your\x20MCP\x20client)\x20to\x20load\x20the\x20Ceraph\x20tools.'));if(_0x1bb6f5[_0xb7251f(0xa57)]){if('Adzep'!=='LNryr')_0x5d33e0(_0x566d0c(_0xb7251f(0xa65)));else{_0x5b895f({'ok':![],'error':'Failed\x20to\x20spawn\x20'+_0x4e9072+':\x20'+(_0x35c284 instanceof _0x27b201?_0x63f5ea['message']:_0x5bdc05(_0x241244))});return;}}_0x5d33e0('\x0a'),_0x5d33e0(_0x566d0c('Next:\x20ask\x20your\x20AI\x20coding\x20assistant\x20(Claude\x20Code,\x20Cursor,\x20Codex,\x20etc.):')),_0x5d33e0(_0x566d0c('\x22Run\x20ceraph_init_status\x20to\x20confirm\x20the\x20project\x20is\x20wired\x20up.\x22')),_0x5d33e0('\x0a');const _0x3ce293=_0x1e68ca['edits']['map'](_0x3ddd2f=>({'file':_0x3ddd2f[_0xb7251f(0x87a)],'line':_0x3ddd2f[_0xb7251f(0x397)],'suggestedKey':_0x3ddd2f['suggestedKey']})),_0x4652d5=_0x1bb6f5[_0xb7251f(0x493)]?{'cameras':_0x3ce293,'setupRequired':_0x3ce293[_0xb7251f(0x3b7)]>0x0,'hintText':_0x3ce293['length']===0x0?_0xb7251f(0x812):'For\x20each\x20<CeraphCamera>\x20below,\x20ask\x20the\x20user\x20which\x20scenario\x20this\x20camera\x20serves\x20and\x20call\x20ceraph_init_replace_camera\x20with\x20the\x20chosen\x20imageKey.\x20Three\x20options:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x20black\x20PNG\x20fallback.\x20Right\x20answer\x20when\x20the\x20test\x20doesn\x27t\x20care\x20about\x20image\x20content\x20(most\x20form-submit\x20/\x20file-upload\x20flows).\x20(B)\x20imageKey=\x22<key>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Ask\x20the\x20user\x20for\x20a\x20descriptive\x20lowercase-dashes\x20name\x20AND\x20drop\x20the\x20file\x20at\x20.ceraph/camera-images/<key>.{jpg,png,webp},\x20then\x20call\x20rn_sync_camera_registry.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20the\x20camera\x20serves\x20multiple\x20scenarios\x20per\x20flow;\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime.\x20Use\x20when\x20one\x20camera\x20screen\x20feeds\x20different\x20outcomes.'}:null;return _0x1bb6f5[_0xb7251f(0x493)]&&_0x4652d5&&_0x5d33e0(''+_0x148fa0+JSON['stringify'](_0x4652d5)+'\x0a'),{'packageInstalled':_0x8124be,'packageManager':_0x15e59a,'tier':_0x38369b,'proStatus':_0x36e94b,'authLogin':_0x4883f0?.[_0xb7251f(0x41e)]??null,'cameraEdits':_0x42cb47,'layoutInjection':_0x1d8742,'graphSeed':_0x472bc,'cameraRegistrySync':_0x31edc0,'doctor':_0xa9387f,'workingDir':_0x6821f7,'urlScheme':_0x46543c,'babelConfig':_0x4d4bf4,'agentHint':_0x4652d5};}async function _0x839e1c(_0x5bd784,_0x5a4489){const _0x59c772=_0xf8ecb6,_0x2fe2a4=_0x5a4489[_0x59c772(0x736)]??_0x534210,_0x422881=await _0x2fe2a4(_0x5bd784);if(_0x422881[_0x59c772(0xb14)]===_0x59c772(0x41a)){if(_0x422881['isMonorepo']&&!_0x422881[_0x59c772(0xb04)]){if(_0x59c772(0x73f)!==_0x59c772(0x3d6))throw new Error('Detected\x20a\x20monorepo\x20at\x20the\x20current\x20directory\x20but\x20could\x20not\x20find\x20a\x20React\x20Native\x20or\x20Expo\x20subpackage.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20from\x20inside\x20the\x20RN/Expo\x20app\x20folder,\x20or\x20add\x20the\x20app\x20to\x20your\x20workspaces.');else return{'ok':![],'reason':'wda-package-missing','error':_0x59c772(0x84d)};}return _0x5bd784;}if(_0x422881[_0x59c772(0xb14)]==='single'){const _0x167a2a=_0x422881['matches'][0x0];if(!_0x167a2a)return _0x5bd784;return _0x1405d2('\x0a',_0x5a4489),_0x1405d2(_0x566d0c('Detected\x20React\x20Native\x20app\x20at\x20'+_0x167a2a[_0x59c772(0x87a)]+_0x59c772(0x1f9)),_0x5a4489),_0x167a2a['absPath'];}_0x1405d2('\x0a',_0x5a4489),_0x1405d2(_0x566d0c(_0x59c772(0x5d7)),_0x5a4489);const _0x5add40=_0x422881[_0x59c772(0x764)]['map'](_0x3326cb=>_0x3326cb['relPath']+'/\x20\x20['+_0x3326cb[_0x59c772(0xa3a)][_0x59c772(0x4ec)](',\x20')+']'),_0x16f7b4=await _0x3bf280(_0x59c772(0x6e8),_0x5add40,_0x5a4489);if(_0x16f7b4==null)throw new Error('No\x20valid\x20selection.\x20Re-run\x20init\x20and\x20pick\x20a\x20numbered\x20option.');const _0x4e6d0c=_0x422881['matches'][_0x16f7b4];if(!_0x4e6d0c)throw new Error(_0x59c772(0x7ea));return _0x1405d2(_0x566d0c('Working\x20from\x20'+_0x4e6d0c['relPath']+'/'),_0x5a4489),_0x4e6d0c[_0x59c772(0x8a9)];}function _0xb70c8e(_0x4bbf61,_0xc2959e){if(_0xc2959e['startsWith'](_0x4bbf61)){const _0x5762c6=_0xc2959e['slice'](_0x4bbf61['length']+0x1);return _0x5762c6['length']>0x0?_0x5762c6:_0xc2959e;}return _0xc2959e;}async function _0x549594(){const _0xbfd1cf=_0xf8ecb6,_0x48f066=await _0x57ae5f();return{'accessToken':_0x48f066['token'],'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()[_0xbfd1cf(0x471)](),..._0x48f066['email']?{'email':_0x48f066['email']}:{}};}async function _0x4e871f(_0x433783,_0x3ede8e,_0x5d28c8,_0xd84cf3,_0x2b17ee={}){const _0x283022=_0xf8ecb6;for(const _0x352177 of _0x3ede8e){!_0x5d28c8[_0x283022(0x979)](_0x352177[_0x283022(0x538)])&&_0x5d28c8[_0x283022(0x93e)](_0x352177[_0x283022(0x538)],await _0x1558ea(_0x352177['filePath']));}try{const _0x2a1d4d=await _0x5934f3(_0x433783,_0x3ede8e,_0x2b17ee);return _0x1405d2(_0x566d0c(_0x283022(0xa1f)+_0x2a1d4d[_0x283022(0x4ce)]+'\x20<CameraView>\x20→\x20<CeraphCamera>\x20across\x20'+_0x2a1d4d[_0x283022(0x838)][_0x283022(0x3b7)]+_0x283022(0x7cb)),_0xd84cf3),_0x2a1d4d;}catch(_0x26fdae){for(const [_0x546336,_0x2de4a9]of _0x5d28c8){if(_0x2de4a9!=null)try{await _0x4c580e(_0x546336,_0x2de4a9);}catch(_0x18e778){console[_0x283022(0x3dd)]('[ceraph]\x20rollback\x20failed\x20for\x20'+_0x546336+':',_0x18e778 instanceof Error?_0x18e778[_0x283022(0x531)]:_0x18e778);}}throw _0x26fdae;}}var _0x3a31aa='#!/bin/bash\x0a#\x20rn-error-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-errors.json\x20and\x20injects\x20runtime\x20errors\x20into\x20Claude\x27s\x20context.\x0a\x0aERROR_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-errors.json\x22\x0a\x0a#\x20Also\x20check\x20project\x20root\x20if\x20mobile/\x20doesn\x27t\x20exist\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20ERROR_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-errors.json\x22\x0afi\x0a\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aERROR_COUNT=$(jq\x20-r\x20\x27.errors\x20|\x20length\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null)\x0a\x0aif\x20[\x20\x22$ERROR_COUNT\x22\x20=\x20\x220\x22\x20]\x20||\x20[\x20-z\x20\x22$ERROR_COUNT\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aecho\x20\x22REACT\x20NATIVE\x20RUNTIME\x20ERROR\x20DETECTED:\x22\x0aecho\x20\x22\x22\x0ajq\x20-r\x20\x27.errors[]\x20|\x20\x22Error:\x20\x5c(.message)\x5cnStack:\x20\x5c(.stack)\x5cnTime:\x20\x5c(.timestamp)\x5cn---\x22\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null\x0aecho\x20\x22\x22\x0aecho\x20\x22Use\x20rn_get_errors\x20for\x20full\x20details.\x20Fix\x20the\x20error\x20and\x20rebuild.\x22\x0a',_0x210ef1='#!/bin/bash\x0a#\x20rn-flow-progress-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-flow-progress.json\x20and\x20injects\x20a\x20one-line\x20heartbeat\x20into\x0a#\x20Claude\x27s\x20context.\x20HEARTBEAT\x20ONLY\x20—\x20no\x20step-level\x20failure\x20details.\x0a\x0aENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-flow-progress.json\x22\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20ENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-flow-progress.json\x22\x0afi\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20If\x20jq\x20isn\x27t\x20installed,\x20exit\x20quietly\x20—\x20the\x20heartbeat\x20is\x20best-effort.\x0aif\x20!\x20command\x20-v\x20jq\x20>/dev/null\x202>&1;\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aENTRY=$(jq\x20-r\x20\x27.entry\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aif\x20[\x20\x22$ENTRY\x22\x20=\x20\x22null\x22\x20]\x20||\x20[\x20-z\x20\x22$ENTRY\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20jq\x20\x27//\x20\x22\x22\x27\x20(works\x20in\x20jq\x201.4+;\x20\x22//\x20empty\x22\x20needed\x201.5+\x20and\x20would\x20have\x0a#\x20silently\x20aborted\x20older\x20shells)\x20makes\x20jq\x20emit\x20an\x20empty\x20string\x20for\x0a#\x20missing\x20fields\x20rather\x20than\x20the\x20literal\x20\x22null\x22.\x20Defaults\x20below\x20keep\x0a#\x20set\x20-e\x20shells\x20happy\x20in\x20the\x20arithmetic\x20+\x20awk\x20expansions\x20even\x20when\x0a#\x20the\x20entry\x20is\x20partial\x20(transient\x20state\x20if\x20the\x20file\x20is\x20read\x0a#\x20mid-write).\x0aFLOW=$(jq\x20-r\x20\x27.entry.flow\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aINDEX=$(jq\x20-r\x20\x27.entry.index\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aTOTAL=$(jq\x20-r\x20\x27.entry.total\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aSUCCESS=$(jq\x20-r\x20\x27.entry.success\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aDURATION=$(jq\x20-r\x20\x27.entry.durationMs\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0a\x0aINDEX=${INDEX:-0}\x0aTOTAL=${TOTAL:-0}\x0aDURATION=${DURATION:-0}\x0aFLOW=${FLOW:-unknown}\x0a\x0aDISPLAY_INDEX=$((INDEX\x20+\x201))\x0aif\x20[\x20\x22$SUCCESS\x22\x20=\x20\x22true\x22\x20];\x20then\x0a\x20\x20STATUS=\x22passed\x22\x0aelse\x0a\x20\x20STATUS=\x22failed\x22\x0afi\x0a\x0aecho\x20\x22Flow\x20$DISPLAY_INDEX/$TOTAL\x20—\x20$FLOW:\x20$STATUS\x20in\x20$(awk\x20\x22BEGIN\x20{printf\x20\x5c\x22%.1f\x5c\x22,\x20$DURATION/1000}\x22)s\x22\x0aecho\x20\x22(Wait\x20for\x20the\x20end-of-run\x20summary\x20before\x20making\x20any\x20code\x20changes\x20—\x20the\x20flows\x20in\x20this\x20run\x20reference\x20your\x20pre-edit\x20code.)\x22\x0a',_0x1d2d25=['.claude',_0xf8ecb6(0x845),'rn-error-notify.sh'],_0x19d4a3=[_0xf8ecb6(0x3fe),_0xf8ecb6(0x845),_0xf8ecb6(0x97b)],_0x5d6baa='.rn-errors.json',_0x484387=_0xf8ecb6(0x813),_0x9ef03b='\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-error-notify.sh',_0x57c4e1='\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-flow-progress-notify.sh',_0x4d498c=[[_0xf8ecb6(0x3fe),'settings.json'],['.claude','settings.local.json']],_0x569c24=process['cwd'](),_0x47f4d2={'react-native-mcp':{'command':'npx','args':['-y',_0xf8ecb6(0x7c4)]}};async function _0x20cdd5(_0x2bf2a2){try{return await _0x518b77(_0x2bf2a2),!![];}catch{return![];}}async function _0x403a1e(_0x4e3783,_0x3c4534){const _0x363e3c=_0xf8ecb6;await _0x2946ce(_0x4b16de(_0x4e3783,'..'),{'recursive':!![]}),await _0x18b8bb(_0x4e3783,JSON[_0x363e3c(0x312)](_0x3c4534,null,0x2)+'\x0a');}function _0x50f058(_0x5ed506){const _0x29916f=_0xf8ecb6;console[_0x29916f(0x2b0)]('\x20\x20'+_0x5ed506);}async function _0x42beb3(_0x3c5caa,_0x382301){const _0xf87b28=_0xf8ecb6,_0x320d93=await _0x354490(_0x3c5caa);if(_0x320d93['kind']==='malformed')return _0x50f058(_0x382301+_0xf87b28(0x98d)+_0x3c5caa+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.'),![];const _0x5f255e=_0x320d93[_0xf87b28(0xb14)]==='ok'?_0x320d93[_0xf87b28(0x39d)]:{};if(_0x320d93['kind']==='ok'&&!_0x29787e(_0x5f255e))return _0x50f058(_0x382301+':\x20existing\x20config\x20at\x20'+_0x3c5caa+_0xf87b28(0x2ca)+(Array['isArray'](_0x5f255e)?'array':typeof _0x5f255e)+')\x20—\x20preserving\x20it.'),![];const _0x5473c2=_0x29787e(_0x5f255e)?_0x5f255e:{},_0x28a714=_0x5473c2['mcpServers'];if(_0x28a714!==void 0x0&&!_0x29787e(_0x28a714))return _0x50f058(_0x382301+':\x20existing\x20mcpServers\x20in\x20'+_0x3c5caa+_0xf87b28(0x2ca)+(Array['isArray'](_0x28a714)?'array':typeof _0x28a714)+_0xf87b28(0x8ee)),![];const _0x2d9253=_0x29787e(_0x28a714)?_0x28a714:{};let _0xfc9920=![];for(const _0x1a5be3 of _0x5b996d){_0x1a5be3 in _0x2d9253&&(delete _0x2d9253[_0x1a5be3],_0xfc9920=!![]);}const _0x128686=Boolean(_0x2d9253['react-native-mcp']);if(_0x128686&&!_0xfc9920)return _0x50f058(_0x382301+_0xf87b28(0xa0f)),![];return _0x2d9253[_0xf87b28(0x223)]=_0x47f4d2[_0xf87b28(0x223)],_0x5473c2['mcpServers']=_0x2d9253,await _0x403a1e(_0x3c5caa,_0x5473c2),_0x50f058(_0x382301+_0xf87b28(0x29c)),!![];}async function _0x3045ce(_0x149698){const _0x48ad89=_0xf8ecb6;let _0x5b816a='';try{_0x5b816a=await _0x330453(_0x149698,_0x48ad89(0x827));}catch{}const _0x3aa2f7=new Set(_0x5b996d[_0x48ad89(0x86b)](_0x334162=>_0x48ad89(0x8a2)+_0x334162)),_0x3319a9=_0x896b90(_0x5b816a,_0x3aa2f7);_0x5b816a=_0x3319a9[_0x48ad89(0x350)];const _0x27217b=_0x3319a9['removedKeys'][_0x48ad89(0x3b7)]>0x0,_0x3435f2=_0x5b816a['includes'](_0x48ad89(0x64e));if(_0x3435f2&&!_0x27217b)return _0x50f058('Codex:\x20already\x20configured'),![];if(!_0x3435f2){const _0x4cbda0=_0x48ad89(0x65c);_0x5b816a=_0x5b816a+_0x4cbda0;}return await _0x2946ce(_0x4b16de(_0x149698,'..'),{'recursive':!![]}),await _0x18b8bb(_0x149698,_0x5b816a),_0x50f058(_0x48ad89(0x41d)),!![];}async function _0x3d5a63(_0x2c2112=_0x569c24){const _0x13fa25=_0xf8ecb6,_0x3169cd=_0x4b16de(_0x2c2112,_0x13fa25(0x3fe),'hooks'),_0x182c65=_0x4b16de(_0x3169cd,_0x13fa25(0x9fd)),_0x49afe4=_0x4b16de(_0x3169cd,_0x13fa25(0x97b));await _0x2946ce(_0x3169cd,{'recursive':!![]}),await _0x18b8bb(_0x182c65,_0x3a31aa),await _0x44b754(_0x182c65,0x1ed),_0x50f058(_0x13fa25(0x71f)),await _0x18b8bb(_0x49afe4,_0x210ef1),await _0x44b754(_0x49afe4,0x1ed),_0x50f058('Hook\x20script:\x20.claude/hooks/rn-flow-progress-notify.sh\x20✓');const _0x5126ad=_0x4b16de(_0x2c2112,_0x13fa25(0x3fe),'settings.json'),_0xd8d41=_0x4b16de(_0x2c2112,'.claude','settings.local.json'),_0x28b286=(_0x411524,_0xda9dbc,_0x447f00)=>{const _0x11947b=_0x13fa25,_0x1deefc=_0x29787e(_0x411524)?_0x411524:{},_0x1264b0=_0x1deefc[_0x11947b(0x845)],_0x54cfd6=_0x29787e(_0x1264b0)?_0x1264b0:{},_0x30dbac=_0x54cfd6['FileChanged'];if(!Array['isArray'](_0x30dbac))return _0x30dbac!==void 0x0;return _0x30dbac[_0x11947b(0x275)](_0x5a2b49=>{const _0x7ac2dd=_0x11947b;if(!_0x29787e(_0x5a2b49))return![];if(_0x5a2b49[_0x7ac2dd(0x831)]!==_0xda9dbc)return![];const _0x6bb492=_0x5a2b49[_0x7ac2dd(0x845)];if(!Array['isArray'](_0x6bb492))return![];return _0x6bb492['some'](_0x5ba193=>{if(!_0x29787e(_0x5ba193))return![];const _0x2b2e3e=_0x5ba193['command'];return typeof _0x2b2e3e==='string'&&_0x2b2e3e===_0x447f00;});});},_0x163c9c=await _0x354490(_0x5126ad),_0x251e46=await _0x354490(_0xd8d41);if(_0x163c9c['kind']===_0x13fa25(0xa16)){_0x50f058(_0x13fa25(0x8b9)+_0x5126ad+_0x13fa25(0x47f));return;}if(_0x251e46['kind']==='malformed'){_0x50f058(_0x13fa25(0x8b9)+_0xd8d41+_0x13fa25(0x47f));return;}const _0x3e8f0e=_0x163c9c[_0x13fa25(0xb14)]==='ok'?_0x163c9c[_0x13fa25(0x39d)]:null,_0x4b207d=_0x251e46['kind']==='ok'?_0x251e46['value']:null;if(_0x3e8f0e!==null&&!_0x29787e(_0x3e8f0e)){_0x50f058(_0x13fa25(0x8b9)+_0x5126ad+_0x13fa25(0x6e4));return;}if(_0x4b207d!==null&&!_0x29787e(_0x4b207d)){_0x50f058(_0x13fa25(0x8b9)+_0xd8d41+_0x13fa25(0x6e4));return;}const _0x2b05fc=_0x3e8f0e??{},_0x574592=_0x2b05fc['hooks'];if(_0x574592!==void 0x0&&!_0x29787e(_0x574592)){_0x50f058(_0x13fa25(0x8b9)+_0x5126ad+'\x20`hooks`\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.');return;}const _0x53098f=_0x29787e(_0x574592)?_0x574592:{},_0x44071c=_0x53098f[_0x13fa25(0x80a)],_0x5e9ca7=Array['isArray'](_0x44071c)?_0x44071c:[];let _0x15c68f=![];!_0x28b286(_0x3e8f0e,_0x5d6baa,_0x9ef03b)&&!_0x28b286(_0x4b207d,_0x5d6baa,_0x9ef03b)?(_0x5e9ca7['push']({'matcher':_0x5d6baa,'hooks':[{'type':_0x13fa25(0xaee),'command':_0x9ef03b}]}),_0x15c68f=!![],_0x50f058('Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-errors.json\x20✓')):_0x50f058('Claude\x20Code\x20hook\x20(.rn-errors.json):\x20already\x20configured'),!_0x28b286(_0x3e8f0e,_0x484387,_0x57c4e1)&&!_0x28b286(_0x4b207d,_0x484387,_0x57c4e1)?'xYuSg'!=='xYuSg'?_0x1a0acf[_0x13fa25(0xa60)]=!![]:(_0x5e9ca7[_0x13fa25(0x4d1)]({'matcher':_0x484387,'hooks':[{'type':'command','command':_0x57c4e1}]}),_0x15c68f=!![],_0x50f058(_0x13fa25(0x284))):_0x50f058(_0x13fa25(0xa7b)),_0x15c68f&&(_0x53098f[_0x13fa25(0x80a)]=_0x5e9ca7,_0x2b05fc['hooks']=_0x53098f,await _0x403a1e(_0x5126ad,_0x2b05fc));}var _0x2ab35f=_0xf8ecb6(0x578);async function _0x3fccc2(){const _0xdf6874=_0xf8ecb6,_0x577db7=_0x4b16de(_0x569c24,_0xdf6874(0x4b1),'camera-images');await _0x2946ce(_0x577db7,{'recursive':!![]});const _0x4c2c4b=_0x4b16de(_0x577db7,'README.md');!await _0x20cdd5(_0x4c2c4b)?(await _0x4f66a1(_0x4c2c4b,_0x2ab35f,'utf-8'),_0x50f058('Camera\x20images:\x20.ceraph/camera-images/\x20+\x20README.md\x20✓')):_0x50f058('Camera\x20images:\x20.ceraph/camera-images/\x20already\x20exists');}async function _0x431dd7(){const _0x47b99e=_0xf8ecb6,_0x31c05e=_0x4b16de(_0x569c24,_0x47b99e(0x39c));let _0x34e6c5='';try{_0x34e6c5=await _0x330453(_0x31c05e,_0x47b99e(0x827));}catch{}const _0x5a1a48=[_0x47b99e(0x383),_0x47b99e(0x813),'.ceraph/runs/','.ceraph/wda-derived/','.ceraph/last-build-snapshot.json'],_0x4038d4=_0x5a1a48[_0x47b99e(0x529)](_0x559bb1=>!_0x34e6c5[_0x47b99e(0x27e)](_0x559bb1));if(_0x4038d4[_0x47b99e(0x3b7)]===0x0){_0x50f058('.gitignore:\x20entries\x20already\x20present');return;}const _0x866f5d=_0x34e6c5===''||_0x34e6c5['endsWith']('\x0a')?'':'\x0a',_0x4d1388=_0x866f5d+_0x4038d4['join']('\x0a')+'\x0a';await _0x18b8bb(_0x31c05e,_0x34e6c5+_0x4d1388),_0x50f058('.gitignore:\x20added\x20'+_0x4038d4[_0x47b99e(0x4ec)](',\x20')+'\x20✓');}async function _0x316e64(){const _0x54d910=_0xf8ecb6;console[_0x54d910(0x2b0)](_0x54d910(0x805)),await _0x42beb3(_0x4b16de(_0x569c24,'.mcp.json'),_0x54d910(0xac2));const _0x10a5d5=await _0x3031b6(_0x569c24);_0x10a5d5[_0x54d910(0x428)]==='preserved'?_0x50f058(_0x54d910(0x295)+_0x10a5d5[_0x54d910(0x22f)]+'\x20has\x20an\x20unexpected\x20shape\x20—\x20preserving\x20it.\x20'+_0x10a5d5[_0x54d910(0x256)]):_0x50f058(_0x54d910(0xa11));await _0x42beb3(_0x4b16de(_0x569c24,_0x54d910(0x85a),'mcp.json'),'Cursor'),await _0x3045ce(_0x4b16de(_0x569c24,_0x54d910(0x323),_0x54d910(0x9e2))),await _0x42beb3(_0x4b16de(_0x569c24,'.vscode','mcp.json'),'VS\x20Code');const _0x188aa3=process.env.HOME??process.env.USERPROFILE??'';if(_0x188aa3){const _0x3a9e71=_0x4b16de(_0x188aa3,_0x54d910(0x8c3),'windsurf',_0x54d910(0xac0));await _0x20cdd5(_0x4b16de(_0x188aa3,_0x54d910(0x8c3),'windsurf'))&&await _0x42beb3(_0x3a9e71,'Windsurf');const _0x524f71=_0x4b16de(_0x188aa3,_0x54d910(0xaec),_0x54d910(0x601),_0x54d910(0xac0));await _0x20cdd5(_0x4b16de(_0x188aa3,'.gemini','antigravity'))&&await _0x42beb3(_0x524f71,'Antigravity');}return _0x10a5d5;}function _0x1b86b3(_0x18fae5){const _0x510eeb=_0xf8ecb6,_0x26c2bf=_0x18fae5['filter'](_0x117882=>_0x117882['severity']===_0x510eeb(0x3dd)&&!_0x117882['ok']),_0x4f6d53=_0x18fae5[_0x510eeb(0x529)](_0x213978=>_0x213978['severity']===_0x510eeb(0x696)&&!_0x213978['ok']);if(_0x26c2bf['length']===0x0&&_0x4f6d53[_0x510eeb(0x3b7)]===0x0)return'';const _0x1f9a7b=[];for(const _0x5cd970 of _0x26c2bf){_0x1f9a7b[_0x510eeb(0x4d1)](_0x510eeb(0x2f4)+_0x5cd970['name']+':\x20'+_0x5cd970['message']);if(_0x5cd970['remediation'])_0x1f9a7b['push'](_0x510eeb(0xa79)+_0x5cd970[_0x510eeb(0x638)]);}for(const _0x3c5dfa of _0x4f6d53){_0x1f9a7b['push'](_0x510eeb(0x83c)+_0x3c5dfa['name']+':\x20'+_0x3c5dfa['message']);if(_0x3c5dfa['remediation'])_0x1f9a7b[_0x510eeb(0x4d1)](_0x510eeb(0xa79)+_0x3c5dfa[_0x510eeb(0x638)]);}return _0x1f9a7b['join']('\x0a')+'\x0a';}function _0x27d340(_0x49a56b){const _0x7ce52d=_0xf8ecb6;if(_0x49a56b)return!![];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process[_0x7ce52d(0x908)][_0x7ce52d(0x4b9)];}async function _0x3379d2(_0xed1582={}){const _0x3e0e81=_0xf8ecb6,_0x57c144=console[_0x3e0e81(0x2b0)];_0xed1582[_0x3e0e81(0x3cc)]&&(console[_0x3e0e81(0x2b0)]=(..._0x475d27)=>{const _0x5067db=_0x3e0e81;process['stderr'][_0x5067db(0xaac)](_0x475d27[_0x5067db(0x86b)](_0x33ebb9=>typeof _0x33ebb9==='string'?_0x33ebb9:String(_0x33ebb9))['join']('\x20')+'\x0a');});try{return await _0x5aa4dd(_0xed1582);}finally{_0xed1582[_0x3e0e81(0x3cc)]&&(console['log']=_0x57c144);}}async function _0x5aa4dd(_0x34e76b){const _0x3261bf=_0xf8ecb6,_0x24b7f4=_0x34e76b[_0x3261bf(0x493)]===!![],_0x19c543=_0x34e76b[_0x3261bf(0x3cc)]?_0x32000c=>{const _0x201980=_0x3261bf;process[_0x201980(0x910)]['write'](_0x32000c);}:void 0x0;if(_0x34e76b['tier']===_0x3261bf(0x2a1)&&_0x27d340(_0x24b7f4))return await _0x29339f(_0x3261bf(0x2a1))[_0x3261bf(0x48b)](()=>void 0x0),console[_0x3261bf(0x2b0)](_0x3261bf(0x920)),console['log']('Pro\x20selected.\x0a'),console[_0x3261bf(0x2b0)]('\x20\x201.\x20Sign\x20in:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x5a3230({'intent':'pro'})),console[_0x3261bf(0x2b0)](_0x3261bf(0x4b5)),console[_0x3261bf(0x2b0)](_0x3261bf(0x662)),{'proSignInDeferred':!![],'walkthrough':null};console[_0x3261bf(0x2b0)](_0x3261bf(0x920));const _0xa0b5a=await _0x316e64();console['log'](_0x3261bf(0x526)),await _0x3d5a63(),console[_0x3261bf(0x2b0)](_0x3261bf(0xa48)),await _0x3fccc2(),console['log']('\x0aGitignore:'),await _0x431dd7();const _0x245f5a=await _0x5a9822(_0x569c24,{'agentMode':_0x24b7f4,'nonInteractive':_0x24b7f4?!![]:void 0x0,'write':_0x19c543,'installStdioToStderr':_0x34e76b['outputToStderr']===!![],'tier':_0x34e76b['tier'],'claudePreApprovalPreserved':_0xa0b5a['status']===_0x3261bf(0x93c),'runDoctor':async()=>{const _0x33715f=_0x3261bf,_0xf465af=new _0x70c5ce(),_0x404e38=new _0x43c6e0(_0xf465af),_0x5d814=new _0x2cc05b(_0xf465af),_0x2a789b=await _0x3fb793({'screen':_0xf465af,'apps':_0x404e38,'autonomy':_0x5d814,'projectDir':_0x569c24,'excludeRuntimeChecks':!![]}),_0x252c51=_0x2a789b['checks'][_0x33715f(0x529)](_0x2a11fe=>_0x2a11fe['ok'])['length'];return{'ok':_0x2a789b['ok'],'summary':_0x1b86b3(_0x2a789b[_0x33715f(0x9d3)]),'passedCount':_0x252c51,'totalCount':_0x2a789b[_0x33715f(0x9d3)]['length']};}});return{'proSignInDeferred':![],'walkthrough':_0x245f5a};}var _0x360c9d=process[_0xf8ecb6(0x624)][0x1]??'';if(_0x360c9d[_0xf8ecb6(0xaa5)](_0xf8ecb6(0x52c))||_0x360c9d[_0xf8ecb6(0xaa5)]('init.ts')){const _0x21df60=process.env.CERAPH_AGENT_MODE==='1'||process['argv']['includes'](_0xf8ecb6(0x492));_0x3379d2({'agentMode':_0x21df60})[_0xf8ecb6(0x48b)](_0x9ecb68=>{const _0x2aaa41=_0xf8ecb6;console[_0x2aaa41(0x3dd)](_0x2aaa41(0x8e1),_0x9ecb68),process[_0x2aaa41(0x68c)](0x1);});}async function _0xd85afe(_0x55fa88={}){const _0x4f407e=_0xf8ecb6,_0x45b821=_0x55fa88['loadAuth']??_0x1be651,_0x2ac1be=_0x55fa88[_0x4f407e(0x9ee)]??_0x170983,_0x37a524=_0x55fa88[_0x4f407e(0x4c3)]??_0x3379d2,_0xda16ba=_0x55fa88['cliAuthUrl']??_0x5a3230,_0x12a3e5=_0x55fa88[_0x4f407e(0x1f0)]?.['trim']()||void 0x0;if(_0x12a3e5){const _0xac171=await _0x2ac1be({'signal':_0x55fa88['signal'],'token':_0x12a3e5});if(_0xac171['status']!=='ok'){const _0xdac70=_0xac171[_0x4f407e(0x428)]===_0x4f407e(0x652)?_0x4f407e(0x25c):'Sign-in\x20failed:\x20'+_0xac171['error'],_0x36af11=_0xda16ba();return{'status':'auth-error','message':_0xdac70+'\x20Open\x20the\x20sign-in\x20URL,\x20copy\x20the\x20token\x20it\x20issues,\x20and\x20re-call\x20ceraph_init\x20with\x20that\x20value\x20as\x20`token`.','verificationUri':_0x36af11,'url':_0x36af11};}}const _0x1db524=await _0x45b821()['catch'](()=>null);if(!_0x1db524?.['accessToken']){const _0x481a08=_0xda16ba();return{'status':_0x4f407e(0x396),'verificationUri':_0x481a08,'url':_0x481a08,'message':_0x4f407e(0xa29)};}const _0x558d2f=await _0x37a524({'agentMode':!![],'outputToStderr':!![]});return{'status':_0x4f407e(0x335),'message':'Init\x20complete.\x20Every\x20phase\x20ran\x20(MCP\x20clients,\x20Claude\x20hooks,\x20.gitignore,\x20camera-images,\x20camera\x20replacement,\x20boot\x20injection,\x20URL\x20scheme,\x20doctor).\x20See\x20`result`\x20for\x20per-phase\x20outcomes.','result':_0x558d2f[_0x4f407e(0x657)]};}import{networkInterfaces}from'os';var _0x354294=new Set(['en0']),_0x32e906=new Set(['en1',_0xf8ecb6(0x3df),_0xf8ecb6(0x4e0),'en4','en5',_0xf8ecb6(0x29f)]);function _0x1aa25a(_0x1c3985,_0x1d48e0){const _0x380227=_0xf8ecb6;if(_0x1d48e0['family']!=='IPv4')return null;if(_0x1d48e0['internal'])return null;if(_0x1d48e0[_0x380227(0x506)][_0x380227(0x746)](_0x380227(0x2d2)))return null;if(_0x1d48e0[_0x380227(0x506)][_0x380227(0x746)]('169.254.'))return null;let _0x1a99be;if(_0x354294[_0x380227(0x979)](_0x1c3985))_0x1a99be=_0x380227(0x337);else{if(_0x32e906['has'](_0x1c3985))_0x1a99be='usb-ethernet';else return null;}return{'interfaceName':_0x1c3985,'address':_0x1d48e0[_0x380227(0x506)],'kind':_0x1a99be};}function _0x372068(_0x2b3dd3={}){const _0x2a0234=_0xf8ecb6,_0x3fb0b0=_0x2b3dd3['networkInterfaces']??networkInterfaces,_0x1eef35=_0x3fb0b0(),_0x34acf8=new Set(),_0x250394=[],_0x2753a9=[],_0x2e78ed=Object[_0x2a0234(0x8c1)](_0x1eef35)[_0x2a0234(0x426)]();for(const _0x573976 of _0x2e78ed){const _0x144b76=_0x1eef35[_0x573976];if(!_0x144b76)continue;for(const _0x340329 of _0x144b76){const _0x1b0c00=_0x1aa25a(_0x573976,_0x340329);if(!_0x1b0c00)continue;if(_0x34acf8['has'](_0x1b0c00[_0x2a0234(0x506)]))continue;_0x34acf8['add'](_0x1b0c00[_0x2a0234(0x506)]);if(_0x1b0c00[_0x2a0234(0xb14)]===_0x2a0234(0x337))_0x250394[_0x2a0234(0x4d1)](_0x1b0c00);else _0x2753a9['push'](_0x1b0c00);}}return[..._0x250394,..._0x2753a9];}function _0x3146f0(_0x40aa58={}){const _0x201869=_0x372068(_0x40aa58);return _0x201869[0x0]??null;}import{spawn as _0xda8b56}from'child_process';import{z as _0x135448}from'zod';import{existsSync,readFileSync as _0x4aa9d1,readdirSync}from'fs';import{isAbsolute as _0x25100c,join as _0x4636a1,relative as _0x77263c,resolve,sep as _0x3f9a58}from'path';function _0x59877f(_0x4d668c){return existsSync(_0x4d668c);}function _0x229364(_0x25e9c3){const _0x348527=_0xf8ecb6;try{const _0x1d3ef2=_0x4aa9d1(_0x25e9c3,'utf-8'),_0x51436d=JSON['parse'](_0x1d3ef2);if(!_0x51436d||typeof _0x51436d!==_0x348527(0x9e3))return null;return _0x51436d;}catch{return null;}}function _0x3c97c4(_0x3feb26){const _0x2371ec=_0xf8ecb6,_0x19873c=new Set();let _0xb14bc1=![];const _0xd3489e=_0x229364(_0x4636a1(_0x3feb26,_0x2371ec(0x2a8)));if(_0xd3489e?.['workspaces']){_0xb14bc1=!![];if(Array[_0x2371ec(0x200)](_0xd3489e['workspaces'])){for(const _0x1011a9 of _0xd3489e['workspaces'])_0x19873c[_0x2371ec(0x856)](_0x1011a9);}else{if(_0xd3489e['workspaces']&&typeof _0xd3489e[_0x2371ec(0x593)]===_0x2371ec(0x9e3)&&Array[_0x2371ec(0x200)](_0xd3489e['workspaces'][_0x2371ec(0x824)]))for(const _0x125fe1 of _0xd3489e['workspaces'][_0x2371ec(0x824)]){_0x19873c['add'](_0x125fe1);}}}const _0x567dd3=_0x4636a1(_0x3feb26,_0x2371ec(0xa0a));if(_0x59877f(_0x567dd3)){let _0x41bdd8=null;try{_0x41bdd8=_0x4aa9d1(_0x567dd3,'utf-8');}catch{_0x41bdd8=null;}if(_0x41bdd8!=null){_0xb14bc1=!![];for(const _0x465dd6 of _0x2b43b2(_0x41bdd8))_0x19873c['add'](_0x465dd6);}}const _0x2975bd=_0x229364(_0x4636a1(_0x3feb26,_0x2371ec(0x94c)));if(_0x2975bd){const _0x27b801=_0x2975bd[_0x2371ec(0x824)];if(Array['isArray'](_0x27b801)){_0xb14bc1=!![];for(const _0x5e1db6 of _0x27b801){if(typeof _0x5e1db6==='string')_0x19873c[_0x2371ec(0x856)](_0x5e1db6);}}else _0x59877f(_0x4636a1(_0x3feb26,'lerna.json'))&&(_0xb14bc1=!![]);}if(!_0xb14bc1)return null;return Array[_0x2371ec(0x56c)](_0x19873c);}function _0x2cbce1(_0x479faa,_0x2d70e5){const _0x277654=_0xf8ecb6,_0x2c45e3=_0x2d70e5[_0x277654(0x42e)](/^\.\//,'')['replace'](/\/+$/,'');if(_0x2c45e3['length']===0x0)return[];if(!_0x2c45e3['includes']('*')){const _0x124c40=_0x4636a1(_0x479faa,_0x2c45e3);return _0x59877f(_0x124c40)?[_0x124c40]:[];}const _0x323ccf=_0x2c45e3['match'](/^([^*]+)\/\*$/);if(!_0x323ccf||!_0x323ccf[0x1])return[];const _0x18f07a=_0x323ccf[0x1]['replace'](/\/+$/,''),_0x3cfa64=_0x4636a1(_0x479faa,_0x18f07a);let _0x423fa5;try{_0x423fa5=readdirSync(_0x3cfa64,{'withFileTypes':!![]});}catch{return[];}const _0x4a76a7=[];for(const _0x1be84a of _0x423fa5){if(_0x277654(0x82c)!==_0x277654(0x82c))throw new _0x5e10a1('flow\x20name\x20exceeds\x20256\x20characters.');else{if(!_0x1be84a['isDirectory']())continue;if(_0x1be84a[_0x277654(0x9e5)][_0x277654(0x746)]('.'))continue;_0x4a76a7['push'](_0x4636a1(_0x3cfa64,_0x1be84a[_0x277654(0x9e5)]));}}return _0x4a76a7;}function _0x63a6cf(_0x3fefa3){const _0x539a8c=_0xf8ecb6,_0x537813=process.env.CERAPH_PROJECT_DIR;if(_0x537813&&_0x537813['length']>0x0){const _0x170968=_0x25100c(_0x537813)?_0x537813:resolve(_0x3fefa3,_0x537813);return{'dir':_0x170968,'reason':_0x539a8c(0x453)};}const _0x5f93b5=_0x229364(_0x4636a1(_0x3fefa3,'package.json')),_0x4753a2=_0x5cb79f(_0x5f93b5);if(_0x4753a2[_0x539a8c(0x982)]||_0x4753a2['rn'])return{'dir':_0x3fefa3,'reason':'cwd\x20is\x20a\x20React\x20Native\x20/\x20Expo\x20app'};const _0x1417da=_0x3c97c4(_0x3fefa3);if(_0x1417da==null)return{'dir':_0x3fefa3,'reason':'not\x20a\x20monorepo'};const _0x47822a=new Set();for(const _0x21f516 of _0x1417da){for(const _0x45953d of _0x2cbce1(_0x3fefa3,_0x21f516))_0x47822a[_0x539a8c(0x856)](_0x45953d);}const _0x2642e8=[];for(const _0x4a30ba of _0x47822a){if(_0x539a8c(0x340)!=='SDhwx'){const _0x3c31d7=_0x229364(_0x4636a1(_0x4a30ba,'package.json')),_0x49046c=_0x5cb79f(_0x3c31d7),_0x2c86a4=_0x59877f(_0x4636a1(_0x4a30ba,'app.json'));if(!_0x49046c['expo']&&!_0x49046c['rn']&&!_0x2c86a4)continue;const _0x5c1de8=_0x77263c(_0x3fefa3,_0x4a30ba)[_0x539a8c(0x51a)](_0x3f9a58)[_0x539a8c(0x4ec)]('/');_0x2642e8['push']({'absPath':_0x4a30ba,'relPath':_0x5c1de8[_0x539a8c(0x3b7)]>0x0?_0x5c1de8:'.'});}else return _0x3b0aac(this['root'],_0x3623db);}_0x2642e8['sort']((_0x4129cb,_0x5ba16d)=>_0x4129cb['relPath']<_0x5ba16d['relPath']?-0x1:_0x4129cb[_0x539a8c(0x87a)]>_0x5ba16d['relPath']?0x1:0x0);if(_0x2642e8['length']===0x1){const _0x1cdd17=_0x2642e8[0x0];return{'dir':_0x1cdd17['absPath'],'reason':'monorepo:\x20rooting\x20at\x20RN\x20app\x20'+_0x1cdd17[_0x539a8c(0x87a)]+'/'};}if(_0x2642e8[_0x539a8c(0x3b7)]===0x0)return'plyBr'!=='tZaxn'?{'dir':_0x3fefa3,'reason':'monorepo,\x20no\x20RN\x20app\x20among\x20workspaces'}:_0x5d2914('app_launch',_0x32b9eb);const _0x2cc43b=_0x2642e8['map'](_0x1f3a20=>_0x1f3a20['relPath'])[_0x539a8c(0x4ec)](',\x20');return{'dir':_0x3fefa3,'reason':_0x539a8c(0x367)+_0x2642e8[_0x539a8c(0x3b7)]+'\x20RN\x20apps\x20('+_0x2cc43b+');\x20set\x20CERAPH_PROJECT_DIR\x20to\x20pick\x20one'};}function _0x53d71b(_0x2cecdb,_0x275d57){const _0x1f9353=_0xf8ecb6;if(!_0x2cecdb||_0x2cecdb[_0x1f9353(0x3b7)]===0x0)return _0x275d57;const _0x5a4eef=_0x25100c(_0x2cecdb)?_0x2cecdb:resolve(_0x275d57,_0x2cecdb),_0x5ab649=_0x77263c(_0x275d57,_0x5a4eef),_0x109f29=_0x5ab649===''||_0x5ab649!=='..'&&!_0x5ab649[_0x1f9353(0x746)]('..'+_0x3f9a58)&&!_0x25100c(_0x5ab649);return _0x109f29?_0x275d57:_0x5a4eef;}import{access as _0x2bbbb6,readFile as _0x105e7f}from'fs/promises';import{join as _0x516e44}from'path';import{spawn as _0x4272cd}from'child_process';import{readFile as _0x35140c,access as _0x27e4a5}from'fs/promises';import{join as _0x1de52c}from'path';var _0x118fef=[{'file':'pnpm-lock.yaml','pm':_0xf8ecb6(0x8f6)},{'file':'yarn.lock','pm':'yarn'},{'file':_0xf8ecb6(0x6a0),'pm':_0xf8ecb6(0x524)},{'file':_0xf8ecb6(0xabf),'pm':'bun'},{'file':_0xf8ecb6(0x3c3),'pm':_0xf8ecb6(0x26d)}],_0x58332d=_0xf8ecb6(0x28d);async function _0x2f2440(_0x5b8aad){const _0xd9beec=_0xf8ecb6;try{if('AomAS'!=='AomAS')this[_0xd9beec(0x2ec)]=_0x4f18db;else return await _0x27e4a5(_0x5b8aad),!![];}catch{return![];}}async function _0x56d124(_0x4149c1){const _0x470f8b=_0xf8ecb6;for(const {file:_0x177add,pm:_0x382943}of _0x118fef){if(await _0x2f2440(_0x1de52c(_0x4149c1,_0x177add)))return _0x382943;}return _0x470f8b(0x26d);}function _0xbe787d(_0x4c7cdd,_0x3ac185){const _0x32776e=_0xf8ecb6;switch(_0x4c7cdd){case'pnpm':return{'bin':_0x32776e(0x8f6),'args':[_0x32776e(0x38a),..._0x3ac185]};case'yarn':return{'bin':_0x32776e(0x2d0),'args':['remove',..._0x3ac185]};case'bun':return{'bin':'bun','args':[_0x32776e(0x38a),..._0x3ac185]};case _0x32776e(0x26d):return{'bin':'npm','args':[_0x32776e(0x96b),..._0x3ac185]};}}async function _0x1e0a46(_0xd4fd8a,_0x544436){const _0x1df3b4=_0xf8ecb6;let _0x18b074;try{_0x18b074=await _0x35140c(_0x1de52c(_0xd4fd8a,_0x1df3b4(0x2a8)),_0x1df3b4(0x827));}catch{return[];}let _0x36abb4;try{if('foNiT'===_0x1df3b4(0x494))_0x36abb4=JSON[_0x1df3b4(0x981)](_0x18b074);else return{'ok':![],'error':_0x1df3b4(0x597)};}catch{return _0x1df3b4(0x2bd)==='DTKPd'?_0x1ed72b:[];}if(!_0x36abb4||typeof _0x36abb4!=='object')return[];const _0x239b44=_0x36abb4['dependencies']??{},_0x30037a=_0x36abb4['devDependencies']??{};return _0x544436['filter'](_0xf8611a=>Boolean(_0x239b44[_0xf8611a]||_0x30037a[_0xf8611a]));}async function _0x41e75a(_0x1cd1c4,_0x1d567c={}){const _0x27c9fa=_0xf8ecb6,_0x309fbe=await _0x56d124(_0x1cd1c4),_0x2ea9e8=[_0x58332d],_0x2a41f0=await _0x1e0a46(_0x1cd1c4,_0x2ea9e8);if(_0x2a41f0[_0x27c9fa(0x3b7)]===0x0)return{'status':'nothing-to-remove','pm':_0x309fbe,'removedPackages':[]};const _0x485924=_0xbe787d(_0x309fbe,_0x2a41f0),_0x4d7b87=_0x1d567c[_0x27c9fa(0x4cb)]??_0x4937b6,_0x1d65a6=await _0x4d7b87({'bin':_0x485924['bin'],'args':_0x485924[_0x27c9fa(0x886)],'cwd':_0x1cd1c4});if(_0x1d65a6[_0x27c9fa(0x2c3)]!==0x0)return{'status':_0x27c9fa(0x9b7),'pm':_0x309fbe,'removedPackages':[],'command':_0x485924,'exitCode':_0x1d65a6[_0x27c9fa(0x2c3)]};return{'status':_0x27c9fa(0x62c),'pm':_0x309fbe,'removedPackages':_0x2a41f0,'command':_0x485924};}function _0x4937b6(_0x218379){return new Promise(_0x5e1bb3=>{const _0x2035ee=_0xc050;if(_0x2035ee(0x325)!==_0x2035ee(0x325)){const _0x31c4e2=this['defaultExpectedRegion'](_0x2a6990);try{const _0x4506a8=_0x64b0d4(_0x4129d7,_0x25014d,_0x31c4e2);_0x4506a8[_0x2035ee(0x696)]&&_0x1b3116['push']({'kind':_0x2035ee(0x75e),'message':_0x4506a8[_0x2035ee(0x696)],'detail':_0x4a1b84(_0x4506a8[_0x2035ee(0x4a8)]),'flowId':_0x29f70f['flowId']});}catch{}}else{const _0x136686=_0x4272cd(_0x218379[_0x2035ee(0x9c1)],_0x218379['args'],{'cwd':_0x218379['cwd'],'stdio':_0x2035ee(0x545)});_0x136686['on']('error',()=>_0x5e1bb3({'exitCode':0x7f})),_0x136686['on'](_0x2035ee(0x68c),_0xa31ff1=>_0x5e1bb3({'exitCode':_0xa31ff1??0x1}));}});}import{readFile as _0x4b5afe,writeFile as _0x11381e}from'fs/promises';import{join as _0x10ad2c}from'path';var _0x237104,_0x3fdfdb,_0x26aa79,_0x4098cd,_0x1ba9c6=![];async function _0x2910f1(){const _0x2471f8=_0xf8ecb6;if(_0x1ba9c6)return;const _0x1f2d13=await import(_0x2471f8(0x74a));({IndentationText:_0x237104,Node:_0x3fdfdb,Project:_0x26aa79,SyntaxKind:_0x4098cd}=_0x1f2d13,_0x1ba9c6=!![]);}var _0x3b1577=_0xf8ecb6(0x431),_0x3d2175=_0xf8ecb6(0xa93);async function _0x3bd9f2(_0x4af48b){try{return await _0x4b5afe(_0x4af48b,'utf-8'),!![];}catch{return![];}}async function _0x32adb6(_0x46ef25){const _0x5f3d27=_0xf8ecb6,_0x1a7962=_0x10ad2c(_0x46ef25,'app','_layout.tsx');if(await _0x3bd9f2(_0x1a7962))return{'kind':'expo-router','filePath':_0x1a7962};const _0x167308=_0x10ad2c(_0x46ef25,_0x5f3d27(0x7b4),'_layout.jsx');if(await _0x3bd9f2(_0x167308))return _0x5f3d27(0x346)!==_0x5f3d27(0x346)?{'ready':![],'reason':_0x5f3d27(0x8cf)}:{'kind':_0x5f3d27(0x6a7),'filePath':_0x167308};for(const _0x1b65e5 of['App.tsx','App.jsx']){const _0x129e0b=_0x10ad2c(_0x46ef25,_0x1b65e5);if(await _0x3bd9f2(_0x129e0b))return{'kind':_0x5f3d27(0xacf),'filePath':_0x129e0b};}return null;}function _0x252ffe(_0x40e2e8){const _0x17fe4a=_0xf8ecb6;for(const _0x5778e7 of _0x40e2e8[_0x17fe4a(0x51f)]()){if(_0x5778e7['isDefaultExport']())return _0x5778e7;}const _0x519cf4=_0x40e2e8[_0x17fe4a(0x6a9)]()['find'](_0x7243de=>_0x3fdfdb['isExportAssignment'](_0x7243de));if(_0x519cf4&&_0x3fdfdb['isExportAssignment'](_0x519cf4)){const _0x4b3f7f=_0x519cf4['getExpression']();if(_0x3fdfdb[_0x17fe4a(0x9ce)](_0x4b3f7f)){const _0x43774e=_0x4b3f7f['getSymbol']();if(_0x43774e){if('OnckJ'===_0x17fe4a(0x71e)){const _0x2c85d0=_0x43774e['getDeclarations']()[0x0];if(_0x2c85d0&&_0x3fdfdb[_0x17fe4a(0xa77)](_0x2c85d0)){if('Zosvc'===_0x17fe4a(0x853)){const _0x40cb9f=_0x2c85d0[_0x17fe4a(0x7b9)]();if(_0x40cb9f&&_0x3fdfdb[_0x17fe4a(0x282)](_0x40cb9f))return _0x40cb9f;if(_0x40cb9f&&_0x3fdfdb['isFunctionExpression'](_0x40cb9f))return _0x40cb9f;}else{const _0x2398da=_0x42e80f[_0x17fe4a(0x531)]['toLowerCase']();if(!_0x2398da[_0x17fe4a(0x27e)]('timeout')&&!_0x2398da['includes']('timed\x20out'))return![];return _0x3bc59c['kind']==='js-exception'||_0x339bce[_0x17fe4a(0xb14)]==='network-failure';}}}else return{'success':![],'apps':[],'error':'Failed\x20to\x20parse\x20devicectl\x20output:\x20'+(_0x49a4ee instanceof _0xf5d944?_0x5bc497[_0x17fe4a(0x531)]:_0x74f875(_0x4281e7))};}}if(_0x3fdfdb['isArrowFunction'](_0x4b3f7f))return _0x4b3f7f;if(_0x3fdfdb[_0x17fe4a(0x2df)](_0x4b3f7f))return _0x4b3f7f;}return null;}function _0x598c06(_0x52cb50){const _0xce1442=_0xf8ecb6;if(_0x3fdfdb['isExpressionStatement'](_0x52cb50)){const _0xdf36f3=_0x52cb50['getExpression']();if(_0x3fdfdb[_0xce1442(0x503)](_0xdf36f3)){const _0x4de015=_0xdf36f3['getExpression']();if(_0x3fdfdb[_0xce1442(0x9ce)](_0x4de015)&&_0x4de015[_0xce1442(0x3a0)]()===_0x3d2175)return!![];}}return![];}function _0x100880(_0xea3477){const _0x5aee2c=_0xf8ecb6,_0x34c6a0=_0xea3477['getArguments']();if(_0x34c6a0[_0x5aee2c(0x3b7)]===0x0)return _0x5aee2c(0x319);const _0x952ca8=_0x34c6a0[0x0];let _0x2f826a=null;if(_0x3fdfdb['isArrowFunction'](_0x952ca8)||_0x3fdfdb['isFunctionExpression'](_0x952ca8)){const _0x5de187=_0x952ca8['getBody']();if(_0x3fdfdb[_0x5aee2c(0x44e)](_0x5de187))_0x2f826a=_0x5de187;else{if(_0x3fdfdb[_0x5aee2c(0x503)](_0x5de187)){const _0x412f17=_0x5de187[_0x5aee2c(0x708)]();if(_0x3fdfdb[_0x5aee2c(0x9ce)](_0x412f17)&&_0x412f17['getText']()===_0x3d2175)return _0x5aee2c(0xa6f);}return'unrelated';}}else return'unrelated';if(!_0x2f826a)return'unrelated';const _0x29a526=_0x2f826a[_0x5aee2c(0x6a9)]();if(_0x29a526['length']===0x0)return'unrelated';let _0x3f54e3=![],_0x2ce441=![];for(const _0x1fc767 of _0x29a526){_0x598c06(_0x1fc767)?_0x3f54e3=!![]:_0x2ce441=!![];}if(!_0x3f54e3)return _0x5aee2c(0x319);return _0x2ce441?'installCeraph-with-others':_0x5aee2c(0xa6f);}function _0x3fb509(_0x350b93){const _0x17d96e=_0xf8ecb6,_0x15397f=_0x350b93[_0x17d96e(0x468)]();if(!_0x15397f||!_0x3fdfdb[_0x17d96e(0x44e)](_0x15397f))return[];const _0x446ff3=[];return _0x15397f['forEachDescendant'](_0x370971=>{const _0x116b1f=_0x17d96e;if(_0x3fdfdb['isCallExpression'](_0x370971)){const _0x1e1049=_0x370971[_0x116b1f(0x708)]();_0x3fdfdb['isIdentifier'](_0x1e1049)&&_0x1e1049[_0x116b1f(0x3a0)]()===_0x116b1f(0x5da)&&(_0x116b1f(0xb24)!=='jUlHT'?_0x446ff3['push'](_0x370971):(_0xf6a7b3[_0x116b1f(0x38a)](),_0x165741=!![]));}}),_0x446ff3;}function _0x1f87d1(_0x473efb){const _0x27287b=_0xf8ecb6,_0x3ed2e3=_0x473efb['getImportDeclaration']('react');if(!_0x3ed2e3)return![];const _0x2550b1=_0x3ed2e3['getNamedImports'](),_0x21ab19=_0x2550b1['find'](_0x4ab792=>_0x4ab792[_0x27287b(0x385)]()==='useEffect');if(!_0x21ab19)return![];const _0x115c4e=_0x21ab19[_0x27287b(0x4c7)]();if(_0x115c4e)return![];let _0x3192f2=![];_0x473efb[_0x27287b(0x6f8)](_0x15012a=>{const _0x7942e6=_0x27287b;if(_0x3192f2)return;if(_0x3fdfdb['isIdentifier'](_0x15012a)&&_0x15012a['getText']()==='useEffect'){const _0x5e7058=_0x15012a[_0x7942e6(0x913)]();if(_0x5e7058&&(_0x3fdfdb[_0x7942e6(0x64a)](_0x5e7058)||_0x3fdfdb[_0x7942e6(0xa88)](_0x5e7058)))return;_0x3192f2=!![];}});if(_0x3192f2)return![];_0x21ab19[_0x27287b(0x38a)]();const _0x478201=_0x3ed2e3['getNamedImports'](),_0x42c170=_0x3ed2e3['getDefaultImport']()!=null,_0x2821d1=_0x3ed2e3[_0x27287b(0x998)]()!=null;return _0x478201['length']===0x0&&!_0x42c170&&!_0x2821d1&&_0x3ed2e3[_0x27287b(0x38a)](),!![];}function _0x5a83ae(_0x4eb234){const _0x5a492e=_0xf8ecb6,_0x4a578a=_0x4eb234['getImportDeclaration'](_0x3b1577);if(!_0x4a578a)return![];const _0x58a3ca=_0x4a578a[_0x5a492e(0x3d5)](),_0x225c98=_0x58a3ca['find'](_0x48f3bc=>_0x48f3bc['getName']()===_0x3d2175);if(!_0x225c98)return![];_0x225c98[_0x5a492e(0x38a)]();const _0xc4d7a0=_0x4a578a['getNamedImports'](),_0x291cee=_0x4a578a['getDefaultImport']()!=null;return _0xc4d7a0[_0x5a492e(0x3b7)]===0x0&&!_0x291cee&&_0x4a578a[_0x5a492e(0x38a)](),!![];}async function _0x4bab7c(_0xfce8e7){const _0xdce94d=_0xf8ecb6;await _0x2910f1();const _0x5db6f7=await _0x32adb6(_0xfce8e7);if(!_0x5db6f7)return{'status':_0xdce94d(0x2a2)};const _0x459ef6=new _0x26aa79({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x237104[_0xdce94d(0x76e)]}}),_0x398549=_0x459ef6[_0xdce94d(0x8d8)](_0x5db6f7['filePath']),_0x227475=_0x252ffe(_0x398549);if(!_0x227475){const _0x1132d9=_0x5a83ae(_0x398549);if(_0x1132d9)return await _0x11381e(_0x5db6f7['filePath'],_0x398549[_0xdce94d(0x8e7)](),'utf-8'),{'status':'reverted','target':_0x5db6f7,'removedUseEffect':![],'removedImport':!![]};return{'status':'already-reverted','target':_0x5db6f7};}const _0x47b954=_0x3fb509(_0x227475),_0x2ba06a=_0x47b954['map'](_0x282b51=>({'call':_0x282b51,'kind':_0x100880(_0x282b51)})),_0x502380=_0x2ba06a[_0xdce94d(0x529)](_0x24f4a8=>_0x24f4a8['kind']==='installCeraph-only'),_0x2af9d5=_0x2ba06a['filter'](_0x4d4cdd=>_0x4d4cdd[_0xdce94d(0xb14)]===_0xdce94d(0x970));if(_0x2af9d5[_0xdce94d(0x3b7)]>0x0)return{'status':_0xdce94d(0x965),'target':_0x5db6f7,'reason':'useEffect\x20contains\x20other\x20statements'};let _0x24990e=![];for(const _0x301443 of _0x502380){if(_0xdce94d(0x8c2)!==_0xdce94d(0x555)){const _0x499496=_0x301443[_0xdce94d(0x927)][_0xdce94d(0x9be)](_0x4098cd[_0xdce94d(0xa78)]);_0x499496&&(_0x499496['remove'](),_0x24990e=!![]);}else _0x5b5ff4[_0xdce94d(0x745)]['push'](_0x580d3c);}const _0x3d7ecc=_0x5a83ae(_0x398549);_0x24990e&&_0x1f87d1(_0x398549);if(!_0x24990e&&!_0x3d7ecc)return{'status':_0xdce94d(0x2be),'target':_0x5db6f7};return await _0x11381e(_0x5db6f7['filePath'],_0x398549[_0xdce94d(0x8e7)](),'utf-8'),{'status':_0xdce94d(0x654),'target':_0x5db6f7,'removedUseEffect':_0x24990e,'removedImport':_0x3d7ecc};}import{readFile as _0x5144e3,unlink as _0x2f5d3c,writeFile as _0x4eea2c}from'fs/promises';import{join as _0x270c19}from'path';var _0x4e1bb4=['.rn-errors.json',_0xf8ecb6(0x813),_0xf8ecb6(0x756),'.ceraph/wda-derived/',_0xf8ecb6(0x71d)],_0x4bc949=['.rn-errors.json',_0xf8ecb6(0x813)];async function _0x4a786e(_0x53c8b8,_0x14ddca={}){const _0x161c8a=_0xf8ecb6,_0x253990=_0x270c19(_0x53c8b8,_0x161c8a(0x39c)),_0x3690b9=_0x14ddca['readFile']??(_0x4d0200=>_0x5144e3(_0x4d0200,'utf-8')),_0x35b871=_0x14ddca[_0x161c8a(0x865)]??((_0x598a10,_0x2f6d19)=>_0x4eea2c(_0x598a10,_0x2f6d19,'utf-8')),_0x1a0d1c=_0x14ddca['unlink']??(_0x368735=>_0x2f5d3c(_0x368735)),_0x439b1d=[];for(const _0x4df08a of _0x4bc949){const _0x347acd=_0x270c19(_0x53c8b8,_0x4df08a);try{await _0x1a0d1c(_0x347acd),_0x439b1d[_0x161c8a(0x4d1)](_0x4df08a);}catch{}}let _0x4417f8;try{_0x4417f8=await _0x3690b9(_0x253990);}catch{return{'status':_0x161c8a(0x85f),'path':_0x253990,'removedRuntimeFiles':_0x439b1d};}const _0x28cfc3=_0x4417f8['endsWith']('\x0a'),_0x5b0341=_0x4417f8[_0x161c8a(0x51a)](/\r?\n/);_0x28cfc3&&_0x5b0341[_0x161c8a(0x3b7)]>0x0&&_0x5b0341[_0x5b0341['length']-0x1]===''&&_0x5b0341['pop']();const _0xfe956e=new Set(_0x4e1bb4),_0x3c23a1=[],_0x288f5a=[];for(const _0x3da4c3 of _0x5b0341){if(_0xfe956e[_0x161c8a(0x979)](_0x3da4c3[_0x161c8a(0x668)]())){if('eRcJh'!==_0x161c8a(0xa32)){_0x3c23a1[_0x161c8a(0x4d1)](_0x3da4c3);continue;}else return{'array':_0x501aee,'sourceText':_0x35295a[_0x161c8a(0x8e7)]()};}_0x288f5a[_0x161c8a(0x4d1)](_0x3da4c3);}if(_0x3c23a1[_0x161c8a(0x3b7)]===0x0)return{'status':_0x161c8a(0x2be),'path':_0x253990,'removedRuntimeFiles':_0x439b1d};const _0x3e3b03=_0x28cfc3?_0x288f5a[_0x161c8a(0x4ec)]('\x0a')+'\x0a':_0x288f5a[_0x161c8a(0x4ec)]('\x0a');return await _0x35b871(_0x253990,_0x3e3b03),{'status':'reverted','path':_0x253990,'removedLines':_0x3c23a1,'removedRuntimeFiles':_0x439b1d};}async function _0x501ca2(_0x572c05){const _0x4c1739=_0xf8ecb6;try{return await _0x2bbbb6(_0x572c05),!![];}catch{if('rWiKI'==='Stsnu')this[_0x4c1739(0xa01)]===_0x10a1c4&&(this['startInFlight']=null);else return![];}}async function _0x59c425(_0x1d41c8){const _0x8d9ad=_0xf8ecb6;try{const _0xee60ef=await _0x105e7f(_0x516e44(_0x1d41c8,_0x8d9ad(0x2a8)),'utf-8');return JSON[_0x8d9ad(0x981)](_0xee60ef);}catch{return null;}}async function _0x5c35be(_0x3c9ede){const _0x42b7ea=_0xf8ecb6,_0x40878b=_0x516e44(_0x3c9ede,_0x42b7ea(0x39c));let _0x20fdd8;try{_0x20fdd8=await _0x105e7f(_0x40878b,_0x42b7ea(0x827));}catch{if('OBwcc'==='OBwcc')return[];else _0x59a6dc[_0x42b7ea(0x4d1)]('');}return _0x4e1bb4['filter'](_0x470dd8=>_0x20fdd8['split'](/\r?\n/)[_0x42b7ea(0x275)](_0x10d37f=>_0x10d37f[_0x42b7ea(0x668)]()===_0x470dd8));}async function _0x5daebd(_0xc74ead){const _0x179225=_0xf8ecb6,_0x20e1ec=_0x516e44(_0xc74ead,_0x179225(0x8fb));let _0x39b7d2;try{_0x39b7d2=await _0x105e7f(_0x20e1ec,_0x179225(0x827));}catch{return null;}let _0x4470e1;try{_0x4470e1=JSON[_0x179225(0x981)](_0x39b7d2);}catch{return null;}const _0x475dcf=_0x4470e1['expo']?.['scheme'];if(typeof _0x475dcf===_0x179225(0x30d))return _0x475dcf===_0x179225(0x4ad);if(Array['isArray'](_0x475dcf))return _0x475dcf[_0x179225(0x27e)](_0x179225(0x4ad));return![];}async function _0xcef833(_0x503107){const _0x5090d1=_0xf8ecb6,_0x2a6420=[_0x5090d1(0x7b4),'src',_0x5090d1(0x9b8)],_0x2f7b38=new Set([_0x5090d1(0x540),'.jsx']),_0x22a143=new Set([_0x5090d1(0x714),_0x5090d1(0xa00),_0x5090d1(0xb1a),_0x5090d1(0x683),_0x5090d1(0x4b1),_0x5090d1(0x759),_0x5090d1(0x2fb),'ios',_0x5090d1(0x88d)]);let _0x1a19e5=0x0;const _0x39c624=async _0x508ec7=>{const _0x5ecde2=_0x5090d1;let _0x4853ad;try{const {readdir:_0x42fc97}=await import(_0x5ecde2(0x330));_0x4853ad=await _0x42fc97(_0x508ec7,{'withFileTypes':!![]});}catch{return;}for(const _0x5dbabc of _0x4853ad){if(_0x5dbabc['isDirectory']()){if('AFBUL'==='AFBUL'){if(_0x22a143[_0x5ecde2(0x979)](_0x5dbabc[_0x5ecde2(0x9e5)]))continue;await _0x39c624(_0x516e44(_0x508ec7,_0x5dbabc[_0x5ecde2(0x9e5)]));continue;}else return null;}if(!_0x5dbabc['isFile']())continue;const _0x17f82b=_0x5dbabc[_0x5ecde2(0x9e5)][_0x5ecde2(0x95b)]('.');if(_0x17f82b<0x0)continue;const _0xd78694=_0x5dbabc[_0x5ecde2(0x9e5)][_0x5ecde2(0x795)](_0x17f82b)[_0x5ecde2(0x5b5)]();if(!_0x2f7b38[_0x5ecde2(0x979)](_0xd78694))continue;try{const _0x4552c7=await _0x105e7f(_0x516e44(_0x508ec7,_0x5dbabc[_0x5ecde2(0x9e5)]),_0x5ecde2(0x827)),_0x47c4a4=_0x4552c7[_0x5ecde2(0x2f3)](/<CeraphCamera/g);if(_0x47c4a4)_0x1a19e5+=_0x47c4a4['length'];}catch{}}};for(const _0x474781 of _0x2a6420){await _0x39c624(_0x516e44(_0x503107,_0x474781));}for(const _0x3fc8fd of['App.tsx','App.jsx']){try{const _0x143466=await _0x105e7f(_0x516e44(_0x503107,_0x3fc8fd),_0x5090d1(0x827)),_0x1759ff=_0x143466['match'](/<CeraphCamera/g);if(_0x1759ff)_0x1a19e5+=_0x1759ff[_0x5090d1(0x3b7)];}catch{}}return _0x1a19e5;}async function _0x5bb085(_0x17811a,_0xa6aa2a){const _0x97ebf1=_0xf8ecb6,_0x5d014e=async(_0x9b4ee8,_0x4ca015)=>{const _0x5d1ef0=_0xc050;try{const _0x4daefa=await _0x105e7f(_0x9b4ee8,_0x5d1ef0(0x827));if(_0x4ca015===_0x5d1ef0(0x2ea)){const _0x1025b8=JSON['parse'](_0x4daefa),_0x13b21b=_0x1025b8['mcpServers']??{};return Boolean(_0x13b21b['react-native-mcp']||_0x13b21b['mobile-mcp']);}return _0x4daefa[_0x5d1ef0(0x27e)](_0x5d1ef0(0x64e))||_0x4daefa['includes']('[mcp_servers.mobile-mcp]');}catch{return![];}},_0x1a4c0e=async _0x4a988b=>{const _0x2d2b4a=_0xc050;try{const _0x14f81b=await _0x105e7f(_0x4a988b,'utf-8'),_0x20774b=JSON[_0x2d2b4a(0x981)](_0x14f81b),_0x326b07=_0x20774b[_0x2d2b4a(0xac4)];return Array['isArray'](_0x326b07)&&_0x326b07['includes'](_0x3c3e94);}catch{return![];}},_0x5718b0=_0x3c12ca(_0xa6aa2a||void 0x0),_0x4c79ed={};for(const _0x5bef78 of _0x5718b0)_0x4c79ed[_0x5bef78[_0x97ebf1(0x960)]]=_0x5bef78['path'];return{'claudeCode':await _0x5d014e(_0x516e44(_0x17811a,_0x97ebf1(0x5ec)),'json'),'cursor':await _0x5d014e(_0x516e44(_0x17811a,_0x97ebf1(0x85a),'mcp.json'),_0x97ebf1(0x2ea)),'codex':await _0x5d014e(_0x516e44(_0x17811a,'.codex','config.toml'),_0x97ebf1(0x87d)),'vscode':await _0x5d014e(_0x516e44(_0x17811a,_0x97ebf1(0x752),'mcp.json'),'json'),'windsurf':_0xa6aa2a?await _0x5d014e(_0x4c79ed['Windsurf']??'','json'):![],'antigravity':_0xa6aa2a?await _0x5d014e(_0x4c79ed['Antigravity']??'','json'):![],'claudePreApproval':await _0x1a4c0e(_0x516e44(_0x17811a,_0x89e7d2))};}async function _0x2b8db0(_0x68143c){const _0x2ad6ce=_0xf8ecb6,_0x210a06=await _0x501ca2(_0x516e44(_0x68143c,..._0x1d2d25)),_0xef0678=await _0x501ca2(_0x516e44(_0x68143c,..._0x19d4a3));let _0x13a3dc=![];for(const _0x44f8f4 of _0x4d498c){if(_0x2ad6ce(0x649)===_0x2ad6ce(0x649)){const _0x2d749e=_0x516e44(_0x68143c,..._0x44f8f4);let _0x553d99;try{_0x553d99=await _0x105e7f(_0x2d749e,'utf-8');}catch{continue;}let _0x616670;try{_0x616670=JSON[_0x2ad6ce(0x981)](_0x553d99);}catch{continue;}if(!_0x616670||typeof _0x616670!==_0x2ad6ce(0x9e3)||Array['isArray'](_0x616670))continue;const _0x2feeac=_0x616670['hooks'];if(!_0x2feeac||typeof _0x2feeac!=='object'||Array['isArray'](_0x2feeac))continue;const _0x6a7cea=_0x2feeac['FileChanged'];if(!Array[_0x2ad6ce(0x200)](_0x6a7cea))continue;for(const _0x7ec965 of _0x6a7cea){if(!_0x7ec965||typeof _0x7ec965!==_0x2ad6ce(0x9e3)||Array['isArray'](_0x7ec965))continue;const _0x511d94=_0x7ec965,_0x3ba99b=_0x511d94['matcher'];if(_0x3ba99b!==_0x5d6baa&&_0x3ba99b!==_0x484387)continue;const _0x45ee8e=_0x3ba99b===_0x5d6baa?_0x9ef03b:_0x57c4e1,_0x5ba56a=_0x511d94['hooks'];if(!Array['isArray'](_0x5ba56a))continue;for(const _0x5cde85 of _0x5ba56a){if(!_0x5cde85||typeof _0x5cde85!==_0x2ad6ce(0x9e3)||Array[_0x2ad6ce(0x200)](_0x5cde85))continue;const _0x5aff5f=_0x5cde85['command'];if(typeof _0x5aff5f===_0x2ad6ce(0x30d)&&_0x5aff5f===_0x45ee8e){_0x13a3dc=!![];break;}}if(_0x13a3dc)break;}if(_0x13a3dc)break;}else _0xc6b2ef['kill']('SIGKILL');}return{'errorScript':_0x210a06,'flowProgressScript':_0xef0678,'settingsEntries':_0x13a3dc};}async function _0x18a59c(_0x33bb2a,_0x19e1cf={}){const _0x39c25f=_0xf8ecb6,_0x156fc5=_0x19e1cf[_0x39c25f(0x736)]??_0x534210,_0x15c765=await _0x156fc5(_0x33bb2a);let _0x31c74b=_0x33bb2a,_0x1a0368=null;if(_0x15c765['kind']==='single'&&_0x15c765[_0x39c25f(0x764)][0x0])_0x31c74b=_0x15c765['matches'][0x0][_0x39c25f(0x8a9)];else _0x15c765[_0x39c25f(0xb14)]===_0x39c25f(0x517)&&(_0x1a0368={'matches':_0x15c765[_0x39c25f(0x764)]['map'](_0x4aacb0=>({'relPath':_0x4aacb0[_0x39c25f(0x87a)],'absPath':_0x4aacb0[_0x39c25f(0x8a9)]}))});const _0x2a853f=_0x19e1cf[_0x39c25f(0x93d)]?.()??process.env.HOME??process.env.USERPROFILE??'',_0x21e9a7=await _0x59c425(_0x31c74b),_0x1ca9a4={..._0x21e9a7?.['dependencies']??{},..._0x21e9a7?.['devDependencies']??{}},_0x3611fc=Boolean(_0x1ca9a4['@ceraph/react-native-mcp']),_0x2d3a3e=Boolean(_0x1ca9a4['appium-webdriveragent']),_0x2fada8=await _0x56d124(_0x31c74b),_0x403cf3=await _0x5c35be(_0x31c74b),_0x1765b6=await _0x5daebd(_0x31c74b),_0x3a9fdb=await _0x32adb6(_0x31c74b);let _0x370717=null;if(_0x3a9fdb)try{if('SAHCU'===_0x39c25f(0x55c)){const _0x2d6448=await _0x105e7f(_0x3a9fdb[_0x39c25f(0x538)],'utf-8');_0x370717=_0x2d6448['includes']('installCeraph(');}else return new _0x50214e(_0x32b226['from'](_0x8e7b38,'base64'));}catch{_0x370717=null;}const _0x184680=await _0xcef833(_0x31c74b),_0x4b3941=_0x19e1cf['rootDir']??_0x33bb2a,_0x535306=await _0x5bb085(_0x4b3941,_0x2a853f),_0x211170=await _0x2b8db0(_0x4b3941),_0x631e4c=await _0x501ca2(_0x516e44(_0x31c74b,'.ceraph')),_0x487f31=_0x2a853f?await _0x501ca2(_0x516e44(_0x2a853f,'.ceraph','auth.json')):![];return{'workingDir':_0x31c74b,'monorepoConflict':_0x1a0368,'packageInstalled':_0x3611fc,'packageManager':_0x2fada8,'appiumPresent':_0x2d3a3e,'gitignoreEntriesPresent':_0x403cf3[_0x39c25f(0x3b7)]>0x0,'gitignoreEntries':_0x403cf3,'schemeRegistered':_0x1765b6,'bootTargetPath':_0x3a9fdb?.[_0x39c25f(0x538)]??null,'bootInjected':_0x370717,'ceraphCameraUsageCount':_0x184680,'mcpClientsConfigured':_0x535306,'claudeHooksPresent':_0x211170,'ceraphDirPresent':_0x631e4c,'authPresent':_0x487f31};}import{copyFile,mkdir as _0x2fa3f7,readFile as _0x27fc76,rm as _0x17cebd,stat as _0x44bc35}from'fs/promises';import{tmpdir,homedir as _0x351567}from'os';import{dirname as _0x142654,isAbsolute as _0x58536c,join as _0x2d1828,relative as _0x5740e3}from'path';import{readFile as _0x3695d4,writeFile as _0x683d4c}from'fs/promises';import{homedir as _0x154473}from'os';import{join as _0x4d6cde}from'path';var _0x41c892=_0xf8ecb6(0x842),_0x2a8afe=_0xf8ecb6(0x43e);function _0x3e88(){const _0x4f7626=['uid','storageAckRequestId','convention','submitToken','sweepExpired','storage-ack','Failed\x20to\x20start\x20Metro:\x20','bridges','Ztoeo','http://localhost:','react-native','→\x20reader\x20UI\x20shows\x20mutated\x20value','revertMcpClients','clearFirst',')\x20->\x20(','ignore','\x27\x20instead.','rn_reset_state','rn-error-notify.sh','rn_get_errors','rYjyL','dist','startInFlight','steps','getPixelRatio','screen_tap_and_verify','device:','appium-webdriveragent\x20not\x20required\x20for\x20this\x20target.','imageKey\x20unchanged','buildErrors','idbAvailable','pnpm-workspace.yaml','assertVisible','storageAckKeys','stdioToStderr','chainId',':\x20already\x20configured','tUiNo','Claude\x20Code:\x20pre-approved\x20the\x20Ceraph\x20MCP\x20server\x20(no\x20trust\x20prompt)\x20✓','HEAD','sessionBaseUrl','\x20Keep-awake\x20may\x20stay\x20off\x20until\x20the\x20app\x20is\x20foregrounded;\x20the\x20postflight\x20device-awake\x20check\x20still\x20gates\x20readiness.','tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20','malformed','appium-webdriveragent','queries[','auth.json','lastContactAt','[react-native-mcp]\x20WARNING:\x20dropped\x20','chain','keyboard','waitForStorageAck\x20timed\x20out\x20after\x20','Replaced\x20','zytMI','VnHdw','\x20file(s):','verifyProfileTransition','runBridge','js-error','xcodebuild-exited-early','getRunIndex','distancePx','Sign\x20in\x20to\x20run\x20the\x20complete\x20init.\x20Open\x20the\x20verificationUri,\x20sign\x20in,\x20copy\x20the\x20token\x20it\x20issues,\x20and\x20re-call\x20ceraph_init\x20with\x20that\x20value\x20as\x20`token`.\x20The\x20project\x20is\x20left\x20untouched\x20until\x20you\x20do.','getActiveApp','question','sendLoggingMessage','clean','Number\x20of\x20recent\x20lines\x20to\x20return\x20(default:\x2050)','no-flows','MendI','getTime','eEiJR','layout','advanceUntilPauseOrEnd','kwMHw','--verify','removeAllListeners','rn_stop','.png','signals','),\x20so\x20flows\x20were\x20resolved\x20against\x20the\x20committed\x20graph,\x20NOT\x20your\x20local\x20edits.\x20flowIds\x20minted\x20from\x20a\x20dirty-tree\x20preview\x20may\x20come\x20back\x20as\x20unknown-flow-ids\x20—\x20if\x20that\x20happens,\x20re-pick\x20ids\x20from\x20the\x20error\x27s\x20`available`\x20list.\x20Flow\x20ids\x20are\x20content-addressed,\x20so\x20a\x20flow\x20whose\x20steps\x20your\x20local\x20edits\x20changed\x20carries\x20a\x20different\x20id:\x20genuinely\x20divergent\x20flows\x20fail\x20explicitly\x20with\x20unknown-flow-ids\x20rather\x20than\x20silently\x20executing\x20the\x20stale\x20committed\x20steps.\x20Committing\x20your\x20changes\x20restores\x20full\x20working-tree\x20resolution.','http://localhost:8100','Long-press\x20an\x20element\x20matched\x20by\x20text/accessibilityLabel.\x20Default\x20duration\x20is\x201000ms.','clear','diffDependencies','perFlowMutexWith','activateApp','vLQKK','disableScopeRegression','failed','on-demand','\x20image(s))\x20at\x20','pendingStorageAckResolvers','\x0aCamera\x20test\x20images:','apps/mobile','home','GxbkR','boot','outside\x20','Resolved\x20subDir\x20escapes\x20.ceraph/camera-images/:\x20',';\x20},\x20[]);','GagJQ','baseUrl','check','cacheDir','subtle','Created\x20','.tmp.','claudePreApprovalPreserved','totalCount','scrollTo','componentControl:\x20boolean-prop\x20entries\x20require\x20non-empty\x20visibilityProp','If\x20true,\x20return\x20the\x20step\x20list\x20as\x20a\x20preview\x20without\x20mutating\x20anything.\x20Use\x20this\x20first\x20to\x20show\x20the\x20user\x20what\x20would\x20happen.','CoZyI','/status','TFSrw','@ceraph/react-native-mcp/babel-plugin','testIdReady','Cognito\x20deleteUser\x20failed:\x20','realDeviceHookInflight','user_id','/session','Claude\x20Code\x20will\x20ask\x20you\x20to\x20approve\x20the\x20Ceraph\x20MCP\x20server\x20once\x20on\x20restart\x20—\x20your\x20.claude/settings.local.json\x20had\x20an\x20unexpected\x20shape,\x20so\x20it\x20was\x20left\x20untouched.\x20Approve\x20the\x20prompt,\x20or\x20add\x20\x22react-native-mcp\x22\x20to\x20enabledMcpjsonServers\x20in\x20that\x20file\x20by\x20hand.','verifyNavigation','affectedFlowNames','findElement','qwTKj','target-selected','bridge-opaque','shell','boolean','response-ui-divergence:\x20','installCeraph-only','.cjs','30d','bluetooth','filePaths','admin','ArrayLiteralExpression','Failed\x20to\x20spawn\x20prebuild:\x20','isVariableDeclaration','ExpressionStatement','\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20','SWyxP','Claude\x20Code\x20hook\x20(.rn-flow-progress.json):\x20already\x20configured','Test\x20image\x20registry\x20','mutations','secret-missing','layoutCount','listapps','CPwbZ','wMRLK','getAuth','stopGeneration','wda-derived','simulatorUdid','detectBootTarget','isImportClause','isFinite','resolverUdid','Unknown\x20error\x20during\x20typeIntoField','expo-dynamic','app_activate','StaticText','Per-flow\x20conditions\x20the\x20AI\x20agent\x20uses\x20to\x20reason\x20about\x20user\x20identity.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.','destinationRoute','unlink','spawn-failed','installCeraph','run-ios','zKXtl','drainCommandsForTesting','written','XCUIElementTypeTextField','command-channel','elementKey','?ts=','Create\x20`.ceraph/camera-images/`\x20and\x20add\x20at\x20least\x20one\x20image.\x20Run\x20this\x20tool\x20again\x20to\x20generate\x20the\x20registry.','preparing\x20device','xPcQv','requiresEnv','/wda/dragfromtoforduration','preset','Post-reload\x20snapshot\x20failed\x20(WDA\x20unreachable\x20or\x20source\x20error)','BaySJ','Set\x20the\x20device\x20orientation\x20to\x20portrait\x20or\x20landscape\x20via\x20WDA.','endsWith','isLocked','Common\x20right\x20after\x20an\x20iOS\x20or\x20macOS\x20update.\x20Update\x20Xcode\x20(or\x20install\x20the\x20matching\x20Device\x20Support),\x20open\x20Xcode\x20→\x20Window\x20→\x20Devices\x20&\x20Simulators\x20and\x20wait\x20for\x20\x27Preparing\x20device\x20for\x20development\x27\x20to\x20finish,\x20then\x20retry.','width','Allow\x20Full\x20Access','WDA\x20openUrl\x20failed:\x20','waitForAppTerminated','write','every','responseField','writeUInt32LE','knHAx','assertVisible:\x20element\x20not\x20visible:\x20','active','mcp.json','location','Snapshot\x20what\x20Ceraph\x20has\x20installed\x20in\x20this\x20project\x20—\x20package\x20presence,\x20gitignore\x20entries,\x20MCP-client\x20configs,\x20root-layout\x20boot\x20wiring,\x20<CeraphCamera>\x20usage\x20count,\x20and\x20whether\x20the\x20user-global\x20auth\x20token\x20is\x20present.\x20Use\x20this\x20BEFORE\x20ceraph_uninstall_run\x20to\x20show\x20the\x20user\x20what\x20would\x20change.\x20Returns\x20the\x20footprint\x20without\x20mutating\x20anything.','addNamedImport','MzODB','collectVisibleElements','startupTimeoutMs','verify-observation','digest','inStackTrace','recordBootRequest','Supported\x20formats:\x20JPEG,\x20PNG,\x20WebP,\x20HEIC.\x20Re-export\x20the\x20image\x20in\x20one\x20of\x20these\x20and\x20try\x20again.','bun.lock','mcp_config.json','listRuns','Claude\x20Code','Clerk\x20deleteUser\x20failed:\x20','enabledMcpjsonServers','Preflight\x20passed\x20(target\x20ready,\x20required\x20env\x20present).','getActiveAppInfo','remote.origin.url',',\x20then\x20re-run\x20any\x20flow\x20tool\x20—','aYAlf','hlbKB','Start\x20a\x20chained\x20mobile\x20run.\x20Pass\x20the\x20chain\x20block\x20returned\x20by\x20a\x20planning\x20tool\x20VERBATIM\x20—\x20the\x20runner\x20verifies\x20a\x20server-issued\x20signature\x20on\x20`chainId`\x20/\x20`flows`\x20/\x20`bridges`\x20and\x20rejects\x20any\x20modified\x20plan.\x20For\x20ad-hoc\x20scenarios\x20where\x20you\x20want\x20to\x20drive\x20a\x20custom\x20sequence,\x20use\x20the\x20screen_*\x20primitives\x20directly\x20instead\x20of\x20hand-crafting\x20a\x20chain.\x20Returns\x20one\x20of\x20`snap_point_pending`\x20|\x20`chain_complete`\x20|\x20`error`.\x20Pair\x20with\x20`rn_test_chain_continue`\x20to\x20resume.','not-installed','ceraph-react-native-mcp','AbortError','bare-rn','drainCommands','low','device','reduce','testDataManager','failedFlowIndex','read','/screenshot','componentHook:\x20tier\x20must\x20be\x20\x22componentHook\x22','open','denyButtons','MAX_METRO_LINES','Repeatedly\x20swipe\x20until\x20an\x20element\x20matching\x20text/accessibilityLabel\x20appears\x20in\x20the\x20accessibility\x20tree.\x20Returns\x20without\x20tapping.\x20Default\x20direction\x20is\x20\x27up\x27\x20(swipe\x20up\x20—\x20reveals\x20content\x20below\x20the\x20fold),\x20max\x2010\x20swipes.\x20Pass\x20direction:\x20\x27down\x27\x20to\x20scroll\x20backward\x20toward\x20the\x20top.','launchApp','stack','KhfIy','XILED','No\x20<CeraphCamera>\x20at\x20','rootDir','Auth0\x20deleteUser\x20failed:\x20','componentHook:\x20hookName\x20must\x20be\x20a\x20non-empty\x20string','prebuild\x20--clean\x20is\x20only\x20available\x20for\x20Expo\x20projects.','Xcode\x20is\x20missing\x20Device\x20Support\x20for\x20this\x20iPhone\x27s\x20iOS\x20version','CDsLh','iproxy\x20auto-bridge\x20failed\x20to\x20start:\x20','pRpXm','appium-webdriveragent\x20ready\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','Return\x20info\x20about\x20the\x20foreground\x20app\x20via\x20WDA\x27s\x20/wda/activeAppInfo\x20(bundleId,\x20pid,\x20name).','.gemini','onRedbox','command','bootWriteCounter','reused','expiresAt','childExit','ms]','Server-issued\x20HMAC\x20over\x20chainId\x20+\x20flows\x20+\x20bridges.\x20Pass\x20verbatim\x20from\x20the\x20planning\x20tool\x27s\x20chain\x20block.\x20The\x20runner\x20rejects\x20calls\x20without\x20it\x20or\x20with\x20a\x20mismatched\x20value.','clearSimulatorWdaPort','laptop-network','padEnd','listener','content-type-mismatch','toString','elapsedMs','KhdSH','\x20>\x20','random','catalog','target','Permission\x20interceptor\x20middleware\x20is\x20wired.\x20iOS\x20system\x20permission\x20dialogs\x20will\x20be\x20auto-accepted\x20during\x20flows\x20(configurable\x20via\x20the\x20`CERAPH_AUTO_ACCEPT_PERMISSIONS`\x20env\x20var:\x20`auto-accept`\x20|\x20`ask`\x20|\x20`off`).','create','protocol','rootIsRnApp','ygAmR','apiBase','runtime_error','/signal','Podfile','vSZfK','componentHook','win32','queries','42Tklywc','\x27\x20—\x20trusting\x20the\x20bytes.','KKiMT','--dev-client','local-network','completed','kind','myfFy','Ensure\x20the\x20iOS\x20device\x20is\x20awake\x20and\x20unlocked.\x20Returns\x20a\x20structured\x20result\x20with\x20remediation\x20guidance\x20when\x20the\x20device\x20is\x20locked.','missing\x20token','hardware-udid-not-found','unlocked','build','baYDF','Re-run\x20`rn_sync_camera_registry`\x20manually\x20to\x20regenerate\x20`_registry.ts`.\x20The\x20image\x20file\x20itself\x20is\x20on\x20disk\x20and\x20safe.','ceraph_uninstall_status','bootWriteCount','back','warn','tier-gated','Could\x20not\x20list\x20installed\x20apps:\x20','run:ios','adaIF','No\x20working\x20launch\x20transport\x20found.\x20Install\x20Xcode\x20(for\x20devicectl)\x20or\x20idb\x20(https://fbidb.io/)\x20to\x20launch\x20apps\x20on\x20a\x20real\x20device.','expectedRoutes','scheme','existing','openMethods','devDependencies','CWbOE','screenFromResult','applied','JmIjb','token','unverified','contents','\x20visible=','isJsxSelfClosingElement','photos','mutexWith','XCUIElementTypeAlert','selectedAt','/\x20—\x20working\x20from\x20there','writeTier','system_profiler','babel.config.js','startMetro','File\x20not\x20found:\x20','force','isArray','--abbrev-ref','alloc','derived-data','direction','Signed\x20in\x20[cached]','Simulator\x20UDID\x20','ceraph-uninstall-mcp-preview-','ext','Allow','wda-not-ready','triggerLabel',')\x20—\x20entry\x20rejected','0.2.2','storage-ack\x20requires\x20boolean\x20`storageAckSuccess`','array','syncCameraRegistry','Built\x20and\x20installed\x20the\x20app\x20(','videoRecorder','device_set_orientation','bootSource','unhandled-rejection','PlannedChainInput.flows\x20must\x20contain\x20at\x20least\x20one\x20flow.','nav-bar','bootMaxWaitMs','ffmpeg','port','process','plgTc','spawn','app_launch','handled','SruYk','beforeAll.ensureLaunched','getTarget','react-native-mcp','snapshotTarget','URL\x20/\x20deep\x20link\x20to\x20open,\x20e.g.\x20myapp://product/42','\x0a[runCommand:\x20timed\x20out\x20after\x20','X\x20coordinate\x20to\x20tap','authenticate','subDir\x20\x27','application/json','min.','usbmuxd','getWindowSize','UcSvM','settingsPath','pointer','CERAPH_INIT_AGENT_HINT=','booted','AdminDeleteUserCommand','heis','EACCES','&id=','isFile','createSourceFile','Device\x20is\x20locked.\x20Unlock\x20it\x20manually\x20once,\x20then\x20set\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20so\x20it\x20stays\x20awake\x20while\x20flows\x20run.\x20WDA\x20can\x27t\x20bypass\x20Face\x20ID\x20or\x20a\x20passcode.','addAttribute','pro-ready','WDA\x20tap\x20failed\x20(serial\x20fallback)','ceraph-rn-shim','Image\x20is\x20','supabase','locked','`rn_wda_stop`\x20(or\x20MCP\x20shutdown)\x20ran\x20while\x20the\x20simulator\x20WDA\x20build\x20was\x20in\x20flight.\x20The\x20build\x20was\x20terminated.\x20Re-run\x20`rn_wda_start`\x20if\x20you\x20still\x20want\x20a\x20simulator\x20session.','ceraph_init_inject_boot','mkdir','xcrun','already-running','Text','shutdown','iproxyManager','Signal\x20listener\x20bound\x20on\x20port\x20','storageAckSuccess','timed\x20out','rect','[chain-runner]\x20Dropping\x20','Installing\x20appium-webdriveragent\x20for\x20simulator\x20support\x20(one-time,\x20~200MB)…','(?=[\x5cs/>])','udidInflight','\x20image','\x20failed:\x20','pop','keyUp','Install\x20the\x20optional\x20appium-webdriveragent\x20dep\x20in\x20your\x20project\x20(npm\x20i\x20-D\x20appium-webdriveragent)\x20and\x20retry\x20—\x20see\x20the\x20README\x20Simulator\x20setup.','reason','screen_wait_for','keepAliveHeartbeat','[react-native-mcp]\x20Not\x20signed\x20in.\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20finish\x20setup\x20—\x20sign-in\x20(required\x20for\x20the\x20flow\x20tools),\x20the\x20runtime-error\x20hook\x20that\x20surfaces\x20app\x20errors\x20in\x20your\x20chat,\x20and\x20your\x20Mac\x27s\x20LAN\x20IP.\x20Build\x20/\x20run\x20/\x20device\x20tools\x20work\x20without\x20it.','simulator','PlannedChainInput.affectedFlowNames\x20must\x20be\x20an\x20array.','Sign-in\x20was\x20cancelled.','deep-link-fallback','startedAt','Red\x20screen\x20error\x20detected','resetDelayMs','Apply\x20ONE\x20<CameraView>\x20→\x20<CeraphCamera\x20imageKey=\x22...\x22>\x20AST\x20replacement.\x20The\x20AI\x20provides\x20the\x20imageKey\x20based\x20on\x20the\x20context\x20it\x20saw\x20in\x20scan_camera\x27s\x20surroundingCode.\x20Also\x20valid\x20for\x20an\x20EXISTING\x20<CeraphCamera\x20/>\x20that\x27s\x20still\x20uninitialized\x20(no\x20imageKey)\x20—\x20call\x20with\x20the\x20same\x20filePath/line\x20to\x20set\x20the\x20imageKey\x20on\x20the\x20tag.\x0a\x0aAccepted\x20imageKey\x20values:\x0a\x20\x20-\x20\x22default\x22\x20—\x20bundled\x201024x1024\x20black\x20PNG.\x20Right\x20for\x20tests\x20that\x20don\x27t\x20care\x20about\x20image\x20content\x20(form\x20submits,\x20file\x20uploads,\x20permission\x20flows).\x0a\x20\x20-\x20\x22<scenario>\x22\x20(lowercase-dashes)\x20—\x20a\x20specific\x20user-supplied\x20image.\x20Drop\x20the\x20file\x20at\x20.ceraph/camera-images/<scenario>.{jpg,png,webp}\x20(or\x20write\x20it\x20via\x20`ceraph_add_camera_image`)\x20before\x20flows\x20execute.\x0a\x20\x20-\x20\x22@runtime\x22\x20(or\x20any\x20value\x20starting\x20with\x20@)\x20—\x20declares\x20runtime\x20control\x20of\x20the\x20image.\x20The\x20planner\x20or\x20a\x20deep-link\x20push\x20picks\x20the\x20image\x20per-step\x20at\x20flow\x20time.\x20Use\x20when\x20one\x20camera\x20screen\x20feeds\x20different\x20scenarios\x20across\x20flows.\x0a\x0aAlso\x20adds\x20the\x20shim\x20import\x20and\x20trims\x20`CameraView`\x20from\x20the\x20expo-camera\x20import\x20when\x20no\x20JSX\x20uses\x20it\x20anymore.\x20Idempotent\x20—\x20returns\x20`{\x20already:\x20true\x20}`\x20when\x20the\x20line\x20is\x20already\x20CeraphCamera\x20with\x20the\x20same\x20imageKey.','mutationMarker','/var/run/usbmuxd','bind-failed','delete','monorepo','setTimeoutFn','bounds','url','sleep','ceraph_init_monorepo_status','destroy','npm','ceraph-dir','revertGitignore','durationMs','Pro\x20requires\x20sign-in.\x20Surface\x20the\x20authUrl\x20to\x20the\x20user,\x20have\x20them\x20paste\x20the\x20token\x20it\x20issues,\x20then\x20call\x20ceraph_init_auth_browser\x20with\x20that\x20token.\x20After\x20sign-in,\x20re-call\x20ceraph_init_select_tier\x20to\x20continue.','zDehI','flavor','disableAXCache','some','videoPath','Starter\x20·\x20Free\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in.','--quiet','auto','getArguments','\x20unexpected\x20change','react-native-','durationMs=','includes','webBaseUrl','provision','round','isArrowFunction','auth\x20provider\x20\x27cognito\x27\x20requires\x20@aws-sdk/client-cognito-identity-provider\x20in\x20package.json.\x20Run:\x20npm\x20install\x20@aws-sdk/client-cognito-identity-provider','Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-flow-progress.json\x20✓','Re-run\x20`ceraph_doctor`\x20to\x20see\x20what\x27s\x20blocking\x20on-device\x20automation.','auth-profile','terminateAppViaWDA','workingDir','connected','[ceraph-test-data]\x20adapter\x20cleanup\x20failed\x20for\x20','not-found','windsurf','@ceraph/react-native-mcp','ScreenManager\x20not\x20provided\x20—\x20cannot\x20query\x20active\x20app\x20via\x20WDA.','real-device-connected','ceraph://\x20URL\x20scheme\x20already\x20registered\x20in\x20','verifySelector','preferSimulator','true','screen_open_url','Claude\x20Code:\x20','ffmpeg-installed','assertion','oIkTI','boolean-prop','Inspect\x20the\x20project\x20root\x20for\x20monorepo\x20signals\x20(package.json\x20workspaces,\x20pnpm-workspace.yaml,\x20lerna.json)\x20and\x20return\x20any\x20RN/Expo\x20subpackages\x20found.\x20If\x20the\x20cwd\x20is\x20itself\x20an\x20RN\x20app,\x20`rootIsRnApp:\x20true`\x20and\x20`matches:\x20[]`.\x20Use\x20this\x20before\x20calling\x20other\x20init\x20tools\x20—\x20when\x20matches.length\x20===\x201,\x20pass\x20that\x20absPath\x20as\x20projectDir\x20to\x20every\x20subsequent\x20ceraph_init_*\x20call.','ceraph-uninstall-claude-hooks-preview-',':\x20configured\x20✓','@supabase/supabase-js','no\x20details','en6','Run\x20`iproxy\x208100\x208100\x20-u\x20<udid>`\x20manually\x20to\x20see\x20the\x20full\x20error.','pro','no-layout-found','no\x20devices\x20are\x20booted','videoRecorderFactory','signInWithEmailAndPassword','WDA\x20session\x20creation\x20succeeded\x20but\x20no\x20sessionId\x20returned','echoExpectations','package.json','auth\x20provider\x20\x27','/session/','readJson','Built\x20and\x20installed\x20the\x20app.','NUUYx','getTagNameNode','number','log','voLDB','canonicalScript','mchain-run-','CqYjB','vbpNe','bqvTq','Shim\x20received\x20the\x20reset\x20but\x20reported\x20the\x20clear\x20didn\x27t\x20complete\x20—\x20see\x20detail.','\x20scheme\x20to\x20ceraph://','No\x20failure\x20detail\x20recorded.','PropertyAssignment','BIbPs','.\x20Shim-side\x20signals\x20(JS\x20errors,\x20unhandled\x20rejections,\x20network\x20failures)\x20will\x20be\x20dropped.','wZDEg','already-reverted','Clerk\x20createUser\x20failed:\x20','Optional\x20project\x20to\x20write\x20client\x20configs\x20for.\x20Defaults\x20to\x20where\x20the\x20server\x20launched.\x20A\x20subpackage\x20of\x20the\x20launch\x20dir\x20resolves\x20to\x20the\x20launch\x20root\x20(monorepo);\x20a\x20path\x20outside\x20it\x20writes\x20to\x20that\x20project.','loadAuth','[react-native-mcp]\x20Catalog\x20endpoint\x20rejected\x20(','exitCode','install-failed','uNZmF','purgeImages','path','Install\x20with\x20`brew\x20install\x20ffmpeg`\x20to\x20enable\x20per-chain\x20mp4\x20capture\x20on\x20real-device\x20runs.\x20Tests\x20will\x20continue\x20without\x20video\x20until\x20installed.','Opening\x20','\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20','Missing\x20env\x20var(s):\x20','BDbDt','tap','fetch','ceraph_test_data_cleanup\x20requires\x20either\x20`id`\x20(single\x20user)\x20or\x20`all:\x20true`\x20(wipe).','yarn','simulator-not-found','127.','auto-lock-disabled','all','into','unref','key=','bind','Failed\x20to\x20spawn\x20','method\x20not\x20allowed','metroParser','Content-Type','componentControl:\x20tier\x20must\x20be\x20\x22componentControl\x22','@ceraph-test.local','isFunctionExpression','pushLine','killProcess','mobilePro','runVerifyMarkers','-scheme','pTOEN','.\x20Expected\x20\x27','PlannedChainInput\x20must\x20be\x20an\x20object.','affectedDisplayRoute','mutates','json','device_ensure_awake','realDeviceHook','ioreg','Opaque\x20chain\x20identifier\x20returned\x20by\x20`rn_test_chain_start`.\x20Expires\x20after\x2030\x20minutes\x20of\x20inactivity.','-w0','isMetroRunning','127.0.0.1','snapshotErrorBanners','match','\x20\x20[BLOCKER]\x20','cleanup','Rewrite\x20','config','now','timeoutMs','legacy','.next','readPreference','--relative','Join\x20the\x20same\x20WiFi\x20network\x20as\x20your\x20phone,\x20or\x20update\x20the\x20expectedNetwork\x20doctor\x20option.','no\x20shell\x20profile','PlannedChainInput.flows\x20must\x20be\x20an\x20array.',')\x20exceeds\x20flows.length-1\x20(','recordAsyncStorageRead','isNaN','1483011lHnkcV','hookName','lastRedboxSignature','content-type','ADhyc','auth','tmpRoot','udidResolved','/commands/ack','string','storage',':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22','Metro\x20dev\x20server\x20started\x20successfully.','ioQbm','stringify','trimStart','libraryCatalog','mode','onChildSpawned','sourceEndpoint','\x22.\x20Re-issue\x20rn_test_chain_continue\x20with\x20','unrelated','-getairportnetwork','macOS\x20Screen\x20Recording\x20permission\x20not\x20granted.\x20Open\x20System\x20Settings\x20→\x20Privacy\x20&\x20Security\x20→\x20Screen\x20Recording\x20and\x20enable\x20your\x20terminal\x20app\x20(Terminal\x20/\x20iTerm\x20/\x20Warp\x20/\x20Cursor\x20/\x20VS\x20Code\x20—\x20whichever\x20launched\x20the\x20MCP).\x20After\x20granting,\x20fully\x20quit\x20and\x20relaunch\x20the\x20terminal,\x20then\x20unplug\x20and\x20replug\x20your\x20iPhone\x20before\x20retrying.','Not\x20in\x20a\x20git\x20repo\x20(or\x20no\x20HEAD\x20commit\x20yet)\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.','height','intent','findAndTap','Mint\x20a\x20managed\x20test\x20user\x20via\x20the\x20configured\x20auth\x20provider\x20(Clerk\x20/\x20Auth0\x20/\x20Supabase\x20/\x20Firebase\x20/\x20Cognito).\x20Returns\x20email\x20+\x20password\x20(+\x20sessionToken\x20when\x20the\x20provider\x20exposes\x20one)\x20for\x20use\x20in\x20test\x20scripts.\x2024-hour\x20TTL\x20—\x20expired\x20users\x20are\x20swept\x20on\x20the\x20next\x20MCP\x20startup.\x20Pro\x20tier\x20only.','ceraph_test_data_provision','auth/user-not-found','.codex','\x0a}\x0a','LCNiP','reloadRecoveryWitness','endpoint','Ceraph\x20rate\x20limit\x20hit.\x20Try\x20again\x20in\x20a\x20few\x20seconds.','\x20before\x20WDA\x20reported\x20a\x20port.\x20Most\x20common\x20cause:\x20WebDriverAgentRunner\x20has\x20no\x20code-signing\x20identity\x20selected.\x20Open\x20the\x20project\x20in\x20Xcode\x20once\x20(`open\x20\x22','\x20<CameraView>\x20usage(s)\x20across\x20','Bring\x20an\x20app\x20to\x20the\x20foreground\x20without\x20a\x20cold\x20restart.\x20Uses\x20WDA\x27s\x20/wda/apps/launch,\x20falls\x20back\x20to\x20a\x20fresh\x20launch\x20if\x20WDA\x20is\x20unreachable.','Opening\x20browser\x20to\x20sign\x20in…','unknown\x20kind:\x20','disableBulkActions','values','fs/promises','checkAndHandle','version','\x22\x20step=','mif1','ready','Multiple\x20React\x20Native\x20subpackages\x20detected.\x20Pass\x20--project-dir\x20to\x20target\x20a\x20specific\x20subpackage,\x20e.g.\x20`--project-dir\x20','wifi','Re-run\x20with\x20--purge-images\x20to\x20delete\x20.ceraph/\x20(camera\x20images,\x20design\x20snapshots,\x20run\x20artifacts).\x20Default\x20leaves\x20them\x20in\x20place\x20so\x20a\x20re-install\x20picks\x20up\x20where\x20you\x20left\x20off.','unknown\x20reason','method','initialObservation','The\x20native\x20build\x20failed.\x20See\x20the\x20captured\x20Xcode\x20output.','content','ceraph_init_auth_browser','Unknown\x20error\x20during\x20findAndTap','Shzgh','screen_screenshot','Unknown\x20error\x20during\x20swipe','base64','getGitSha','Ed25519','JxONX','https://ceraph.dev/api/mcp','\x20run(s)\x20could\x20not\x20be\x20purged\x20(permission\x20or\x20disk\x20error).\x20See\x20server\x20logs\x20for\x20per-run\x20detail.','runtimeErrors','expandedBeforeAll','aISbH','.zshrc','\x20+\x20testID\x20injector)\x20—\x20your\x20app\x20had\x20no\x20babel\x20config,\x20so\x20we\x20added\x20one.\x20Rebuild\x20your\x20dev\x20client\x20once\x20to\x20activate.','tool','stopping','next','When\x20true,\x20deletes\x20every\x20on-demand\x20user\x20for\x20this\x20project.','RkIWQ','rn_test_chain_continue','Lcqlq','stepPath','jit','statFn','[react-native-mcp]\x20','-di','devicectlAvailable','lockState','payload','next=','Matched\x20element\x20has\x20no\x20bounds/rect\x20information.','en0','responseValue','-c:v','dgVdj','detail','objectiveSignals','No\x20device\x20hardware\x20UDID\x20resolved\x20—\x20could\x20not\x20start\x20the\x20iproxy\x20bridge.','errorSummary','monorepo\x20with\x20','granted','bundleId','writtenOrUnchanged','acked','Delete\x20on-disk\x20chain-run\x20artifacts\x20(per-step\x20screenshots\x20+\x20run\x20index)\x20older\x20than\x20a\x20threshold.\x20Use\x20to\x20free\x20disk\x20before\x20disk\x20pressure\x20becomes\x20a\x20problem,\x20or\x20to\x20drop\x20runs\x20containing\x20sensitive\x20screenshots.\x20Defaults\x20to\x20`14d`\x20(matches\x20the\x20server\x27s\x20startup-retention\x20sweep).\x20Pass\x20`30d`\x20for\x20a\x20more\x20conservative\x20purge\x20or\x20`all`\x20to\x20wipe\x20every\x20cached\x20run\x20on\x20the\x20machine.\x20Returns\x20the\x20list\x20of\x20evicted\x20runIds,\x20bytes\x20freed,\x20and\x20how\x20many\x20runs\x20remain\x20cached.','clerk','hasOwnProperty','touch','/wda/lock','pluginVersion','\x20minutes','listInstalledAppsSimulator','__keychain__','Could\x20not\x20detect\x20a\x20supported\x20image\x20format\x20from\x20the\x20decoded\x20bytes.','startInner','sim','lock\x20screen','\x20[y/N]\x20','actions','awaiting_error_decision','race','diff-affected','[react-native-mcp]\x20Runtime\x20catalog\x20loaded\x20(','runReloadRecoveryWitness','No\x20runtime\x20signals\x20reached\x20this\x20session\x20directly:\x20another\x20process\x20holds\x20the\x20device-signal\x20port\x20(8101)\x20—\x20usually\x20a\x20second\x20Ceraph\x20MCP,\x20but\x20possibly\x20an\x20unrelated\x20server.\x20If\x20it\x27s\x20a\x20Ceraph\x20instance\x20on\x20the\x20SAME\x20project,\x20in-app\x20runtime\x20errors\x20still\x20reach\x20you\x20via\x20the\x20shared\x20.rn-errors.json;\x20otherwise\x20(a\x20different\x20Ceraph\x20project,\x20or\x20a\x20non-Ceraph\x20process)\x20they\x20won\x27t\x20appear\x20here.\x20To\x20capture\x20them\x20here,\x20free\x20port\x208101\x20(lsof\x20-nP\x20-iTCP:8101)\x20—\x20this\x20session\x20reclaims\x20it\x20automatically\x20once\x20it\x27s\x20released.','buildTapPointerActions','localPort','.rn-errors.json','PBGJG','getName','center','deleted','app-installed','getWorkingTreeDiff','remove','Foregrounded\x20','typeIntoField','KVoah','hwFUw','CERAPH_AUTH_DOMAIN','rn_reload','wwNsR','getUdid','screen-recording-permission','witnesses','Dependencies\x20removed:\x20','needs-auth','line','mtimeMs','zsh','Resize\x20or\x20recompress\x20the\x20image\x20before\x20uploading.\x20Test\x20fixtures\x20rarely\x20need\x20to\x20be\x20larger\x20than\x201\x20MB.\x20Cap:\x205\x20MB.','tmpHome','.gitignore','value','flow-end','listChangedFiles','getText','nonInteractive','CFBundleDisplayName','relativePath','isAvailable','Re-call\x20ceraph_init_select_tier\x20with\x20the\x20user\x27s\x20chosen\x20{\x20tier\x20}.\x20Share\x20detailsUrl\x20if\x20the\x20user\x20wants\x20more\x20about\x20the\x20plans.','snapshotPath','No\x20element\x20found\x20matching\x20field\x20query:\x20','stripped','clearErrorFile','code','VpLRQ','no\x20signing\x20certificate','\x22\x20entry.','isFinalStep','realDeviceHookFiredFor','msf1','claude-hooks','found','[ceraph][ceraph-infra]\x20surgical\x20AsyncStorage\x20delete\x20returned\x20no\x20ACK\x20or\x20failure\x20for\x20keys:\x20','/cli-auth','Ceraph\x27s\x20device-signal\x20listener\x20couldn\x27t\x20start\x20(e.g.\x20a\x20permission\x20error\x20or\x20an\x20invalid\x20CERAPH_SIGNAL_HOST),\x20so\x20the\x20command\x20channel\x20is\x20unavailable\x20in\x20this\x20session,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20','createUser','length','BgkDj','present','\x20library\x20pkgs,\x20','ticking','\x20(auto-detected\x20from\x20the\x20project\x20config;\x20pass\x20bundleId\x20if\x20your\x20build\x20uses\x20a\x20different\x20id.)','/\x20and\x20call\x20`rn_sync_camera_registry`\x20to\x20regenerate.','isExportAssignment','Chain\x20bridge\x20tap\x20failed\x20before\x20flow\x20','halt','\x20runs\x20(','Signal\x20listener\x20failed\x20to\x20bind\x20on\x20port\x20','package-lock.json','xcodebuild-spawn-failed','wait-for-device\x20sleep\x20failed:\x20','\x20<CeraphCamera>\x20component','iproxy\x20bridge\x20already\x20running.','response-ui-divergence','entry','ProvisionError','Failed\x20to\x20create\x20WDA\x20session:\x20','outputToStderr','→\x20mutated\x20value\x20NOT\x20observed\x20in\x20reader\x20UI','rn_start','build\x20interrupted','runsStore','IFnck','CERAPH_AUTH_USER_POOL_ID','WebDriverAgent.xcodeproj','app.config.js','getNamedImports','epPhW','timer','openUrl\x20failed','accumulatedHasFullyDynamicWrite','parsed','Rngfm','buf','error','Laptop\x20is\x20on\x20WiFi\x20\x27','en2','text','copy','resized','revertCeraphUrlScheme','Absolute\x20path\x20of\x20the\x20source\x20file.','[ceraph]\x20video\x20recorder\x20stop\x20failed:\x20','removeEventListener','invalidate','plugin-not-configured','updateRunIndex','isArrayLiteralExpression','getParentIfKind','metroWarnings','signal-host','idb','inflightChild','describe','Already\x20wired\x20—\x20no\x20changes\x20needed.','invalid-image-key','tapAtPoint','assertNotVisible:\x20element\x20is\x20visible:\x20','no\x20layout\x20file\x20detected','returns','terminate','<unknown>','WebDriverAgent\x20is\x20reachable\x20at\x20','Uninstall\x20Ceraph\x20from\x20this\x20project.\x20Reverts\x20source-tree\x20edits\x20(<CeraphCamera>\x20→\x20<CameraView>,\x20installCeraph()\x20boot\x20wiring,\x20ceraph\x20URL\x20scheme),\x20strips\x20MCP\x20client\x20configs,\x20removes\x20gitignore\x20entries\x20+\x20the\x20shell\x20signal-host\x20export,\x20and\x20uninstalls\x20the\x20package\x20via\x20the\x20project\x27s\x20package\x20manager.\x20Default\x20leaves\x20`.ceraph/`\x20(test\x20images\x20+\x20snapshots)\x20and\x20`~/.ceraph/auth.json`\x20(user-global\x20OAuth\x20token)\x20untouched.\x20Pass\x20`purgeImages`\x20and\x20`global`\x20to\x20nuke\x20those\x20too.\x20Always\x20call\x20with\x20`dryRun:\x20true`\x20first\x20to\x20preview\x20the\x20step\x20list\x20before\x20a\x20real\x20run.','uiKind','ceraph_test_data_provision\x20failed:\x20','get','.claude','Simulator\x20UDID;\x20defaults\x20to\x20first\x20booted\x20simulator','getSourceFile','destination=','buildProcess','hOozS','iPhone','NwGdK','is\x20not\x20connected','enum','UlPbD','app.json\x20/\x20app.config.js\x20has\x20changed\x20since\x20last\x20build.\x20Expo\x20plugins\x20or\x20native\x20config\x20may\x20have\x20changed.','Optional\x20WiFi\x20SSID\x20the\x20user\x20expects\x20the\x20laptop\x20(and\x20phone)\x20to\x20be\x20on.\x20Mismatch\x20is\x20a\x20warning,\x20not\x20an\x20error.','flow\x20ended\x20without\x20success','jzkMa','UDID_TTL_MS','source','not\x20associated','readErrors','off','Bring\x20Ceraph\x20to\x20a\x20ready-to-test\x20state\x20in\x20one\x20call:\x20starts\x20Metro,\x20builds/installs\x20the\x20app\x20if\x20needed,\x20and\x20verifies\x20on-device\x20automation.\x20Runs\x20only\x20the\x20steps\x20that\x20aren\x27t\x20already\x20done\x20and\x20stops\x20at\x20the\x20first\x20failure\x20with\x20its\x20remediation.\x20Prefer\x20this\x20over\x20calling\x20rn_start\x20/\x20rn_build_ios\x20/\x20ceraph_doctor\x20separately.\x20Works\x20against\x20either\x20a\x20plugged-in\x20iPhone\x20or\x20a\x20booted\x20simulator\x20(honoring\x20CERAPH_TARGET).','role-alert','rVefc','find','WDA\x20actions\x20tap\x20failed','verifyNavigation:\x20','[stdout]\x20','export\x20','none','verifyMutation','Index\x20','Codex:\x20configured\x20✓','email','N/A','package','droppedEntries','Max\x20time\x20in\x20ms\x20to\x20wait\x20for\x20the\x20app\x20to\x20come\x20back\x20after\x20the\x20reload\x20(default\x2010000).','openUrl','52tlmSxi','region','sort',')\x20—\x20preserved','status','\x20extended\x20pkgs)','entries','auth0','readChangedFileContents','EUsRm','replace','applyRecreate','Verify\x20the\x20base64\x20string\x20is\x20intact\x20and\x20not\x20a\x20placeholder.','@ceraph/react-native-mcp/shim','Real\x20iOS\x20device\x20connected\x20(udid\x20','cacheDoctor','default','ref','clearText','Sayoh','runId\x20\x22','screenshot','PDagQ','form_identifier_exists','Specific\x20user\x20id\x20to\x20delete.\x20Mutually\x20exclusive\x20with\x20`all`.','argv0','#\x20End\x20Ceraph\x20signal\x20host','optimistic-rollback','disappear','wdaReady','[react-native-mcp]\x20Public-key\x20endpoint\x20rejected\x20(','IOUSB','accessibilityLabel','authWallRetries','hideKeyboardAfter','.\x20If\x20you\x20see\x20network\x20timeout\x20errors\x20during\x20the\x20run,\x20verify\x20your\x20phone\x20is\x20on\x20the\x20same\x20network.','file','Serial\x20tap\x20failed','Invalid\x20Ceraph\x20endpoint\x20URL:\x20\x22','\x20(expected\x20an\x20object).','No\x20booted\x20iOS\x20simulator\x20found.\x20Boot\x20one\x20first:\x20`xcrun\x20simctl\x20boot\x20<udid>`\x20or\x20open\x20it\x20via\x20`open\x20-a\x20Simulator`\x20and\x20pick\x20a\x20device.\x20Then\x20retry\x20`rn_wda_start`.','Access-Control-Allow-Origin','isBlock','down','charCodeAt','juqKq','simulatorWdaPort','CERAPH_PROJECT_DIR\x20override','EgFoo','WDA\x20setOrientation\x20failed:\x20','optionalDependencies','camera-registry-synced','createClient','getDefaultImport','prebuild','oMvAN','longPress','flush','type','WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.','Unknown\x20error\x20during\x20getActiveAppInfo','checkTargetReady','user','eQEyG','PlannedChainInput.snapPointFlowIndices\x20entry\x20','ptySv','intervalMs',').\x20WDA\x20base\x20URL:\x20','getBody','wXXXu','__awaitRealDeviceHookForTests','hKiEL','[react-native-mcp]\x20Auth-bypass\x20provider\x20wired:\x20','prototype','App.jsx','avfoundation','storageAckCount','toISOString','Cognito\x20adapter\x20requires\x20`userPoolId`\x20for\x20cleanup.','Set\x20your\x20','installCeraph()\x20already\x20wired\x20in\x20','Native\x20dev\x20dependencies\x20changed:\x20','bundleIdentifier','rate-limited','\x20layout(s)\x20(','reasons','controlMode','hardwareProperties','babel-preset-expo','XCUIElementTypeSecureTextField','enqueueCommand','\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.','[ceraph][ceraph-infra]\x20deleteAsyncStorageKeys\x20dispatch\x20error:\x20',');\x20using\x20embedded\x20key','\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20})','utf8','npx','already-approved','WebDriverAgent\x20is\x20not\x20reachable.\x20On\x20a\x20real\x20device\x20it\x27s\x20served\x20at\x20localhost:8100\x20(run\x20it\x20via\x20Xcode\x27s\x20WebDriverAgentRunner);\x20for\x20a\x20simulator,\x20call\x20`rn_wda_start`\x20first\x20to\x20launch\x20WDA\x20and\x20route\x20to\x20it.','xcodebuild\x20couldn\x27t\x20find\x20the\x20device','min','root','Properties','catch','query','Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20to\x20a\x20\x22','serial_num','Unknown\x20error\x20during\x20findElement','git','fetchSourceTree','--agent','agentMode','foNiT','xcodebuild-missing','getOrientation','Username-Password-Authentication','pointerUp','plugin-version-mismatch','waitForStorageAck','function','ZGZuD','rmdir','reset','No\x20device\x20connected\x20after\x20','wizard','providerUserId','Return\x20all\x20captured\x20errors\x20from\x20build\x20and\x20runtime.\x20Includes\x20structured\x20build\x20errors\x20(file,\x20line,\x20column,\x20message),\x20runtime\x20JS\x20errors\x20(message,\x20stack\x20trace),\x20and\x20warnings.','TimeoutError','left','deep-link\x20(command\x20channel\x20unavailable\x20—\x20:8101\x20not\x20bound\x20by\x20this\x20session)','findDeviceAppPid','ceraph_init_setup_mcp_clients','regressions','bad-response','[react-native-mcp]\x20Catalog\x20overlay\x20install\x20failed\x20(non-fatal):\x20','expo-json-already-registered','flowRunner','ceraph','Sign-in\x20timed\x20out.\x20Reload\x20the\x20browser\x20tab\x20to\x20retry\x20—\x20or\x20paste\x20your\x20token\x20below:\x0a','No\x20element\x20found\x20matching\x20','inconclusive','.ceraph','getJitUser','WxuNU','Auth\x20provider\x20secret\x20not\x20found.\x20Set\x20','\x20\x202.\x20Complete\x20checkout:\x20https://ceraph.dev/#pricing','onSignal','Image','CLHLm','isTTY','cognito','state','\x20not\x20echoed\x20by\x20UI','FBwzR','buildSnapPoint','cached','perFlowStatedDependencies','MwXvv','\x20is\x20not\x20installed\x20on\x20the\x20target\x20—\x20skipped\x20app\x20foreground.','runInit','requiresCleanKeys','\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20}','wdaFetchAt','getAliasNode','stem','restartApp','indexOf','spawnRemove','permission-gate','initializeApp','totalReplacements','revert-camera\x20removed\x20imageKey\x20props\x20from\x20','port-conflict','push','search','wildcard','onChildSpawned\x20callback\x20threw:\x20','reload-recovery','buildSettings','chmod','No\x20<CameraView>\x20usages\x20found\x20in\x20app/,\x20src/,\x20screens/,\x20App.tsx','port-not-detected','findElementFromTree','revertClaudeHooks','CERAPH_AUTH_PROVIDER','requiresAncestor','registered','beforeAll','en3','rbhaU','bBnGk','children','readFile','isJsxOpeningElement','not-pro','bootBuffer','hardwareUdid','MpZmT','PlannedChainInput.bridges\x20must\x20be\x20an\x20array.','connect','join','sdk-missing','EdyXA','\x22\x20cannot\x20start\x20with\x20\x22.\x22\x20(rejects\x20\x22.\x22\x20/\x20\x22..\x22\x20/\x20dotfiles).','/wda/touchAndHold','detectedExt','currentStack','image-larger-than-typical',']:\x20','closeMethods','code\x20signing\x20is\x20required','renderedValue=','buildClient','refs/remotes/origin/HEAD','installCeraph()\x20wired\x20in\x20','\x20[cached]','Flow\x20names\x20that\x20touch\x20diff-affected\x20screens.\x20Pass\x20through\x20verbatim\x20from\x20a\x20planning\x20response\x20that\x20carried\x20them.\x20Used\x20to\x20promote\x20selective\x20screenshot\x20capture\x20for\x20diff-affected\x20flows\x20during\x20chain\x20execution.\x20Absent\x20or\x20empty\x20means\x20no\x20promotion\x20(event-triggered\x20capture\x20only).','tNdqJ','resolver','Flow\x20timeout\x20(','\x20out\x20of\x20range.\x20Found\x20','krleh','jitLabel','isCallExpression','runId\x20must\x20be\x20a\x20non-empty\x20string.','URL-path\x20patterns\x20used\x20to\x20scope\x20boot-time\x20request\x20bodies\x20the\x20AI\x20agent\x20sees.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.\x20Empty\x20or\x20absent\x20means\x20no\x20scoping.','address','Failed\x20to\x20get\x20window\x20size:\x20','apps','Code=115','needs-manual','WDA\x20apps/terminate\x20failed:\x20','seeded','resolveCommandAck','\x27\x20is\x20not\x20a\x20recognized\x20image\x20MIME\x20type;\x20using\x20detected\x20\x27','Source\x20of\x20coordinates:\x20\x27screenshot\x27\x20(default)\x20auto-corrects\x20for\x20pixel\x20ratio;\x20\x27device\x27\x20uses\x20coordinates\x20as-is','testid-sentinel','load','etpSj','POST','ceraph_test_data_cleanup','Metro\x20waiting\x20on','Element\x20not\x20found','multi','deleted-file','ios/\x20directory\x20does\x20not\x20exist.\x20Run\x20`npx\x20expo\x20prebuild`\x20to\x20generate\x20native\x20projects.','split','launch','ADbHV','fnDVh','/bash','getFunctions','\x27\x20at\x20','getSymbol','\x22;\x0a\x20\x20useEffect(()\x20=>\x20{\x20','Optional\x20explicit\x20deadline\x20in\x20milliseconds.\x20Default:\x20none\x20—\x20the\x20call\x20waits\x20forever\x20and\x20relies\x20on\x20the\x20MCP\x20abort\x20signal\x20for\x20cancellation.\x20Set\x20this\x20only\x20when\x20you\x20want\x20a\x20hard\x20cap.','bun','provider','\x0aRuntime\x20error\x20hook:','Access-Control-Allow-Headers','Unable\x20to\x20determine\x20device\x20lock\x20state.\x20Make\x20sure\x20the\x20device\x20is\x20unlocked\x20and\x20the\x20screen\x20is\x20on,\x20then\x20re-run\x20the\x20flow.','filter','env','Supabase\x20deleteUser\x20failed:\x20','init.js','\x20screen(s),\x20','mcp-clients','Filter\x20by\x20log\x20level\x20(default:\x20all)','More\x20about\x20the\x20plans\x20→\x20','message','\x20captured\x20but\x20not\x20inlined\x20(inline\x20cap\x20is\x20','whenReady','onDemandTtlMs','appendStderr','cacheTtlMs','runBuild','filePath','_systemBack','No\x20auth\x20provider\x20configured.\x20Add\x20`auth:\x20{\x20provider,\x20secretEnv\x20}`\x20to\x20ceraph.config.js\x20to\x20enable\x20JIT\x20test-user\x20provisioning.','heic','Which\x20plan?','lbLNK','content-type-unrecognized','`\x20exited\x20with\x20code\x20','.tsx','capErrors','.\x20Stop\x20whatever\x20holds\x20:8101\x20(lsof\x20-nP\x20-iTCP:8101)\x20—\x20the\x20session\x20reclaims\x20it\x20automatically\x20—\x20or\x20rebuild\x20so\x20the\x20ceraph://\x20scheme\x20is\x20registered.','XfnLe','data:','inherit','Xcode\x20derived-data\x20path;\x20defaults\x20to\x20.ceraph/wda-derived','pixelRatio','ceraph://reload','CERAPH_AUTH_REGION','lock','isStringLiteral','sShtq','xVnzQ','mxOjl','failure','uHZTD','retriesUsed','getCurrentState','max','DELETE','NLESA','WDA\x20already\x20reachable\x20—\x20iproxy\x20bridge\x20not\x20(re)started.','List\x20apps\x20installed\x20on\x20the\x20connected\x20real\x20device\x20via\x20`xcrun\x20devicectl\x20device\x20info\x20apps`.\x20Cached\x20for\x2030s.','rn_get_console','longPressElement','error-banner:\x20','discoveredIn','SAHCU','\x20→\x20response\x20','camera','Port\x20','getImportDeclaration','installCeraph()\x20is\x20wrapped\x20in\x20a\x20useEffect\x20that\x20also\x20contains\x20other\x20statements\x20(see\x20','statedDependencies','Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.','appendShimSignal','batched','All\x20<CeraphCamera\x20imageKey>\x20values\x20resolve\x20to\x20files\x20in\x20.ceraph/camera-images/.','busy','\x20selector=','link','accumulatedWriteKeys','appendIfValid','from','Optional\x20MIME\x20hint\x20(e.g.\x20`image/jpeg`).\x20The\x20actual\x20extension\x20is\x20chosen\x20from\x20magic-byte\x20detection;\x20if\x20the\x20hint\x20mismatches,\x20the\x20tool\x20returns\x20a\x20warning\x20but\x20still\x20writes\x20using\x20the\x20detected\x20type.','setTargetResolver','No\x20real\x20iOS\x20device\x20detected\x20—\x20target\x20is\x20simulator,\x20so\x20this\x20is\x20fine.','controlProp',')\x20and\x20this\x20session\x20reclaims\x20it\x20automatically.','userPoolId','Swipe\x20failed\x20during\x20scrollToElement','/wda/activeAppInfo','mkdirFn','denied','ceraph_init','#\x20Ceraph\x20camera\x20test\x20images\x0a\x0aPer-screen\x20test\x20images\x20for\x20`<CeraphCamera\x20/>`\x20from\x0a`@ceraph/react-native-mcp/shim`.\x20The\x20filename\x20(without\x20extension)\x20is\x0athe\x20imageKey\x20you\x20pass\x20on\x20the\x20JSX\x20tag.\x0a\x0a##\x20Three\x20ways\x20to\x20wire\x20a\x20camera\x0a\x0a`<CeraphCamera\x20/>`\x20(no\x20`imageKey`)\x20—\x20uninitialized.\x20Falls\x20back\x20to\x20a\x0abundled\x201024x1024\x20black\x20PNG\x20that\x20ships\x20with\x20the\x20package,\x20so\x20the\x20screen\x0arenders.\x20The\x20MCP\x27s\x20`ceraph_doctor`\x20lists\x20these\x20as\x20info\x20findings\x20so\x20an\x0aAI\x20assistant\x20can\x20prompt\x20you\x20to\x20make\x20a\x20deliberate\x20choice.\x20Pick\x20from:\x0a\x0a1.\x20`<CeraphCamera\x20imageKey=\x22default\x22\x20/>`\x20—\x20explicit\x20acknowledgment\x20of\x0a\x20\x20\x20the\x20black\x20PNG.\x20Right\x20answer\x20for\x20most\x20form\x20/\x20upload\x20/\x20permission\x0a\x20\x20\x20flows\x20where\x20the\x20image\x20content\x20doesn\x27t\x20matter.\x0a2.\x20`<CeraphCamera\x20imageKey=\x22profile\x22\x20/>`\x20—\x20a\x20specific\x20test\x20image\x20you\x0a\x20\x20\x20provide\x20(this\x20folder).\x20Drop\x20`profile.jpg`\x20(or\x20`.png`\x20/\x20`.webp`\x20/\x0a\x20\x20\x20`.heic`)\x20here.\x20The\x20agent\x20can\x20write\x20the\x20file\x20for\x20you\x20via\x0a\x20\x20\x20`ceraph_add_camera_image`.\x0a3.\x20`<CeraphCamera\x20imageKey=\x22@runtime\x22\x20/>`\x20—\x20runtime\x20control.\x20The\x20flow\x0a\x20\x20\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20test\x20time.\x20Use\x20when\x20one\x20camera\x0a\x20\x20\x20screen\x20feeds\x20different\x20scenarios\x20across\x20multiple\x20flows.\x0a\x0a##\x20Naming\x0a\x0aLowercase\x20+\x20hyphen-separated,\x20descriptive\x20of\x20what\x20the\x20image\x20represents:\x0a\x0a-\x20`profile.jpg`\x20—\x20face\x20photo\x20for\x20a\x20profile\x20picture\x20screen\x0a-\x20`id-card.png`\x20—\x20government-issued\x20ID\x20for\x20a\x20KYC\x20scan\x20screen\x0a-\x20`product-photo.jpg`\x20—\x20a\x20product\x20image\x20for\x20an\x20upload\x20screen\x0a\x0aSupported\x20extensions:\x20`.jpg`,\x20`.jpeg`,\x20`.png`,\x20`.webp`,\x20`.heic`.\x0aExtension\x20priority\x20on\x20collision:\x20jpg\x20>\x20jpeg\x20>\x20png\x20>\x20webp\x20>\x20heic.\x0a\x0a##\x20Workflow\x0a\x0a1.\x20Drop\x20the\x20image\x20into\x20this\x20folder\x20with\x20the\x20right\x20filename.\x0a2.\x20Reference\x20it\x20on\x20the\x20tag:\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20CeraphCamera\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20<CeraphCamera\x20imageKey=\x22profile\x22\x20/>\x0a\x20\x20\x20```\x0a3.\x20Regenerate\x20the\x20registry:\x20call\x20the\x20MCP\x20tool\x0a\x20\x20\x20`rn_sync_camera_registry`,\x20or\x20just\x20call\x20`ceraph_doctor`\x20—\x20it\x0a\x20\x20\x20syncs\x20the\x20registry\x20automatically.\x0a4.\x20In\x20`App.tsx`\x20or\x20your\x20root\x20layout\x20(once):\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20useEffect(()\x20=>\x20{\x20installCeraph();\x20},\x20[]);\x0a\x20\x20\x20```\x0a\x20\x20\x20`installCeraph()`\x20loads\x20the\x20generated\x20registry\x20from\x0a\x20\x20\x20`./.ceraph/camera-images/_registry`\x20and\x20wires\x20the\x20deep-link\x0a\x20\x20\x20handlers\x20the\x20flow\x20planner\x20uses.\x0a\x0aCommit\x20these\x20images\x20so\x20flows\x20are\x20reproducible\x20across\x20machines\x20and\x20CI.\x0a','ttlExpiresAt','createdAt','your\x20Pro\x20access\x20refreshes\x20automatically.','toUpperCase','firebase','server-error','screen_type_into_field','rn_list_flows\x20is\x20missing\x20required\x20git\x20helpers.','fallbackText','disableAutoLock','errorCode','.json','probeStatus','O_RDONLY','\x20catalog\x20entries\x20during\x20validation\x20(client\x20build\x20may\x20predate\x20a\x20newer\x20server\x20schema):\x20','waitFor','maxSwipes','lhSAp','PATCH','ffmpeg\x20not\x20required\x20for\x20simulator\x20targets\x20—\x20`xcrun\x20simctl\x20io\x20recordVideo`\x20(shipped\x20with\x20Xcode)\x20handles\x20video\x20capture.','rn_find_flows','githubUser','SIGKILL','ceraph_uninstall_run','url=','ucPIj','workspaces','PUT','--short','unsupported-image-format','boot-request\x20requires\x20`url`','[react-native-mcp]\x20CERAPH_SIGNAL_HOST\x20is\x20unset\x20and\x20no\x20LAN\x20IP\x20was\x20auto-detectable.\x20Real-device\x20shim\x20signals\x20will\x20default\x20to\x20localhost\x20(which\x20the\x20device\x20cannot\x20reach\x20back\x20to\x20the\x20Mac).\x20Set\x20it\x20manually:\x20export\x20CERAPH_SIGNAL_HOST=<your-mac-ip>','[ceraph]\x20','componentControl:\x20stateInference\x20must\x20be\x20a\x20non-empty\x20string','ZflXP','kezKX','Capture\x20a\x20screenshot\x20of\x20the\x20current\x20iOS\x20screen\x20via\x20WebDriverAgent.\x20Returns\x20the\x20PNG\x20as\x20a\x20viewable\x20image.','getClosingElement','iproxy\x20not\x20installed\x20—\x20`brew\x20install\x20libimobiledevice`\x20to\x20enable\x20the\x20USB\x20bridge.','action',').\x20Narrow\x20the\x20scope.','udid','session','@aws-sdk/client-cognito-identity-provider','bootstatus','CERAPH_AUTH_CONNECTION','rn_wda_stop','ENOENT','Verify\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20is\x20set\x20to\x20Never.\x20Otherwise\x20the\x20phone\x20will\x20sleep\x20mid-flow.','Directory\x20to\x20inspect.\x20Defaults\x20to\x20the\x20MCP\x20server\x27s\x20cwd\x20(usually\x20the\x20user\x27s\x20project\x20root).','column','errors','darwin','podfileLockHash','abs','Run\x20the\x20COMPLETE\x20Ceraph\x20init\x20—\x20identical\x20to\x20`npx\x20@ceraph/react-native-mcp\x20init`.\x20This\x20is\x20the\x20recommended\x20path\x20for\x20agent-driven\x20setup:\x20it\x20runs\x20EVERY\x20phase\x20in\x20one\x20call\x20(MCP-client\x20configs,\x20Claude\x20Code\x20hooks,\x20.gitignore,\x20camera-images\x20dir,\x20<CameraView>\x20scan/replace,\x20installCeraph()\x20boot\x20injection,\x20ceraph://\x20URL\x20scheme,\x20server-side\x20graph\x20seed,\x20and\x20doctor)\x20so\x20you\x20never\x20hand-assemble\x20a\x20partial\x20install\x20from\x20the\x20granular\x20ceraph_init_*\x20tools.\x20Resumable\x20auth\x20gate:\x20with\x20no\x20sign-in\x20and\x20no\x20token\x20it\x20returns\x20{\x20status:\x20\x27needs-auth\x27,\x20verificationUri\x20}\x20and\x20DOES\x20NOT\x20mutate\x20the\x20project\x20—\x20surface\x20the\x20verificationUri\x20to\x20the\x20user,\x20have\x20them\x20sign\x20in\x20and\x20paste\x20the\x20token\x20it\x20issues,\x20then\x20re-call\x20ceraph_init\x20with\x20that\x20value\x20as\x20`token`\x20(persisted\x20directly,\x20no\x20browser\x20opens).\x20Once\x20signed\x20in\x20it\x20returns\x20{\x20status:\x20\x27ready\x27,\x20result\x20}\x20where\x20`result`\x20is\x20the\x20structured\x20per-phase\x20walkthrough\x20outcome.','checkMobilePro','Could\x20not\x20auto-wire\x20the\x20testID\x20injector:\x20','end','Sign\x20in\x20by\x20opening\x20the\x20browser.\x20Spawns\x20a\x20localhost\x20listener,\x20opens\x20ceraph.dev/cli-auth,\x20waits\x20for\x20the\x20issued\x20token,\x20and\x20writes\x20it\x20to\x20~/.ceraph/auth.json.\x20Returns\x20{\x20status:\x20\x27ok\x27,\x20email?\x20}\x20on\x20success,\x20{\x20status:\x20\x27aborted\x27\x20}\x20when\x20the\x20MCP\x20client\x20cancelled\x20the\x20tool\x20call\x20(don\x27t\x20prompt\x20the\x20user\x20—\x20just\x20stop),\x20or\x20{\x20status:\x20\x27error\x27,\x20error\x20}\x20on\x20unexpected\x20failure\x20(including\x20\x27No\x20token\x20provided.\x27\x20when\x20the\x20browser\x20flow\x20times\x20out\x20and\x20the\x20user\x20doesn\x27t\x20paste\x20a\x20token).\x20TOKEN\x20HAND-OFF:\x20when\x20the\x20flow\x20can\x27t\x20complete\x20on\x20this\x20machine\x20(headless,\x20browser\x20on\x20another\x20device,\x20timeout),\x20surface\x20https://ceraph.dev/cli-auth\x20to\x20the\x20user,\x20ask\x20them\x20to\x20paste\x20the\x20token\x20it\x20issues\x20into\x20the\x20chat,\x20then\x20re-call\x20this\x20tool\x20with\x20that\x20value\x20as\x20`token`\x20—\x20it\x20is\x20persisted\x20directly\x20and\x20no\x20browser\x20opens.\x20For\x20a\x20COMPLETE\x20setup\x20(every\x20phase,\x20not\x20just\x20sign-in),\x20prefer\x20`ceraph_init`\x20—\x20it\x20runs\x20this\x20same\x20token\x20hand-off\x20AND\x20the\x20full\x20walkthrough\x20in\x20one\x20call.','toLowerCase','App\x20','babel-config','WRAPPER_EXTENSION','visibilityProp','Decision\x20\x22','ceraph-uninstall-scheme-preview-','fOzwH','Skipped\x20—\x20no\x20bundleId\x20provided.','screen','filesScanned','toFixed','targetResolver','already','testid-config.json','drainAsyncStorageReads','aHAJg','step-','NPwwd','save','buffer','Ordered\x20flow\x20list.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.','CERAPH_DEVICE_WDA_PROJECT','KkIYO','Added\x20ceraph://\x20to\x20your\x20','(warn)','start','fetchImpl','no\x20code\x20signing\x20identit','[ceraph]\x20video\x20recorder\x20start\x20failed\x20for\x20runId=','js-exception','\x27],\x0a\x20\x20};\x0a};\x0a','veYfW','list','Multiple\x20React\x20Native\x20subpackages\x20detected:','https:','no-changes','useEffect','Call\x20rn_wda_start\x20to\x20launch\x20WebDriverAgent\x20on\x20the\x20simulator,\x20then\x20retry\x20(first\x20launch\x20runs\x20a\x20one-time\x20xcodebuild\x20for\x20code\x20signing;\x20later\x20launches\x20reuse\x20the\x20cache).','.bashrc','ZCEQO','Use\x20only\x20[a-z0-9-],\x20no\x20slashes,\x20no\x20`..`,\x20no\x20leading\x20`/`.\x20Example:\x20`id-documents`.','pwAre','ceraph://','screen_tap','authentication\x20canceled','writeErrorFile','JqZUS','VTZoO','readFileUtf8','Optional\x20WiFi\x20SSID\x20the\x20user\x20expects\x20the\x20laptop\x20(and\x20phone)\x20to\x20be\x20on.\x20Mismatch\x20is\x20a\x20warning,\x20not\x20a\x20stop.','verify','fromEntries','settings.local.json','rawIdentifier','.mcp.json','Drop\x20a\x20camera\x20test\x20image\x20into\x20`.ceraph/camera-images/`\x20without\x20the\x20dev\x20having\x20to\x20copy\x20files\x20by\x20hand.\x20Pass\x20`imageBase64`\x20(the\x20bytes\x20—\x20no\x20`data:`\x20prefix\x20needed)\x20plus\x20a\x20lowercase\x20hyphen-separated\x20`imageKey`\x20(e.g.\x20`handwriting-sample-1`).\x20`contentType`\x20is\x20a\x20hint\x20only\x20—\x20the\x20extension\x20is\x20chosen\x20from\x20magic\x20bytes\x20(JPEG/PNG/WebP/HEIC).\x20A\x20collision\x20with\x20an\x20existing\x20imageKey\x20is\x20rejected\x20unless\x20`overwrite:\x20true`\x20is\x20set.\x20After\x20writing,\x20the\x20static\x20`_registry.ts`\x20is\x20regenerated\x20automatically\x20(same\x20step\x20as\x20`rn_sync_camera_registry`).','MMToX','Boot\x20a\x20simulator\x20(open\x20-a\x20Simulator)\x20and\x20retry.','Terminate\x20an\x20iOS\x20app\x20by\x20bundle\x20ID.','\x20(dynamic\x20Expo\x20config)\x20—\x20we\x20can\x27t\x0asafely\x20auto-edit\x20a\x20JS/TS\x20file.\x20Add\x20Ceraph\x27s\x20URL\x20scheme\x20manually:\x0a\x0a\x20\x20export\x20default\x20({\x20config\x20})\x20=>\x20({\x0a\x20\x20\x20\x20...config,\x0a\x20\x20\x20\x20scheme:\x20Array.isArray(config.scheme)\x0a\x20\x20\x20\x20\x20\x20?\x20[...config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20:\x20config.scheme\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20[config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x22ceraph\x22,\x0a\x20\x20\x20\x20//\x20...\x20rest\x20of\x20your\x20expo\x20config\x0a\x20\x20});\x0a\x0aThen\x20re-run\x20`expo\x20prebuild\x20--clean`\x20if\x20you\x27ve\x20ejected,\x20or\x20just\x0arestart\x20the\x20dev\x20client.\x0a','https://ceraph.dev/api/catalog/current','Pro\x20·\x20$10/mo\x20—\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device.\x20Sign\x20in\x20to\x20start.','asahw','paths','processIdentifier','send','\x20—\x20keep-awake\x20shim\x20active.','ceraph_init_select_tier','Selecting\x20Pro\x20isn\x27t\x20the\x20same\x20as\x20being\x20Pro.\x20Complete\x20checkout\x20at\x20','removeListener','List\x20active\x20on-demand\x20managed\x20test\x20users\x20for\x20this\x20project.\x20Excludes\x20JIT\x20users\x20(those\x20live\x20for\x20one\x20chain\x20run\x20only).\x20Pro\x20tier\x20only.','update','HFxFy','registryPath','setRealDeviceHook','antigravity','module.exports\x20=\x20function\x20(api)\x20{\x0a\x20\x20api.cache(true);\x0a\x20\x20return\x20{\x0a\x20\x20\x20\x20presets:\x20[\x27','/orientation','renderPropName','Base\x20ref\x20to\x20diff\x20the\x20working\x20tree\x20against.\x20Ignored\x20when\x20filePaths\x20is\x20supplied.\x20Defaults\x20to\x20the\x20repo\x27s\x20default\x20branch\x20(origin/HEAD,\x20falling\x20back\x20to\x20main,\x20then\x20master).','listBooted','Write\x20the\x20MCP\x20server\x20config\x20block\x20to\x20every\x20supported\x20editor\x27s\x20local\x20config\x20file:\x20.mcp.json\x20(Claude\x20Code),\x20.cursor/mcp.json\x20(Cursor),\x20.codex/config.toml\x20(Codex),\x20.vscode/mcp.json\x20(VS\x20Code).\x20A\x20single\x20react-native-mcp\x20entry\x20(this\x20package)\x20is\x20written\x20per\x20file\x20—\x20it\x20owns\x20the\x20full\x20device-interaction\x20layer\x20(screen\x20taps/swipes,\x20app\x20lifecycle,\x20device\x20control)\x20and\x20talks\x20to\x20WebDriverAgent\x20directly.\x20Also\x20pre-approves\x20the\x20server\x20in\x20Claude\x20Code\x27s\x20project\x20scope\x20(.claude/settings.local.json\x20`enabledMcpjsonServers`)\x20so\x20the\x20ceraph_*\x20tools\x20load\x20without\x20the\x20one-time\x20trust\x20prompt.\x20Returns\x20{\x20written:\x20string[],\x20skipped:\x20string[],\x20preserved:\x20{name,reason}[],\x20claudePreApproval\x20}.\x20Skip\x20=\x20already\x20had\x20the\x20react-native-mcp\x20entry.\x20Preserved\x20=\x20the\x20existing\x20config\x20was\x20malformed\x20JSON\x20or\x20an\x20unexpected\x20shape,\x20so\x20it\x20was\x20left\x20untouched\x20(no\x20overwrite);\x20surface\x20the\x20reason\x20so\x20the\x20user\x20fixes\x20it\x20by\x20hand\x20and\x20re-runs.\x20NOTE:\x20this\x20writes\x20ONLY\x20the\x20MCP-client\x20configs\x20—\x20it\x20does\x20NOT\x20install\x20the\x20Claude\x20hooks\x20or\x20.gitignore\x20entries.\x20For\x20a\x20complete\x20install\x20call\x20`ceraph_init`;\x20use\x20this\x20tool\x20standalone\x20only\x20to\x20(re)write\x20a\x20single\x20client\x27s\x20config.','IpeKU','bound','\x20→\x20<CeraphCamera\x20/>','hyMmo','redbox','ttlEx','vzWXx','floor','readyResolve','Target:\x20unknown\x20(resolver\x20failed).\x20Falling\x20back\x20to\x20device\x20defaults.','resolveBranch','Ijfab','setOrientation','Report\x20which\x20iOS\x20target\x20is\x20currently\x20selected\x20(device\x20vs\x20simulator),\x20the\x20resolved\x20WDA\x20base\x20URL,\x20whether\x20a\x20simulator\x20WDA\x20session\x20is\x20running,\x20and\x20the\x20CERAPH_TARGET\x20env\x20preference.\x20Call\x20this\x20when\x20the\x20developer\x20asks\x20`am\x20I\x20testing\x20on\x20device\x20or\x20simulator?`\x20or\x20before\x20starting\x20a\x20flow\x20if\x20uncertain\x20which\x20transport\x20is\x20active.','Button','ceraph_init_replace_camera','child','Invariant\x20Violation:\x20','captureInitialObservation','auth_wall','ceraph-uninstall-shell-preview-','\x20userMarker=','probeResponseUiDivergence','stateVersion','WDA\x20pressButton\x20failed:\x20','Chain\x20run\x20is\x20busy\x20advancing\x20a\x20prior\x20call.\x20Wait\x20for\x20the\x20in-flight\x20response\x20before\x20issuing\x20another\x20rn_test_chain_continue.','SDRzj','getLineAndColumnAtPos','argv','No\x20real\x20iOS\x20device\x20connected.\x20Connect\x20a\x20device\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac.','AvtLk','ms:\x20','flows','currentBaseUrl','purgeRun','\x27\x20is\x20longer\x20than\x2064\x20characters.','removed','resolve','ceraph_init_register_scheme','ZtMXx','tag','runs','expo-camera','matchedSignal','Per-edge\x20bridge\x20steps.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.','needsBuild','VFQYc','ios/Podfile.lock\x20has\x20changed\x20since\x20last\x20build.\x20Pod\x20dependencies\x20may\x20be\x20out\x20of\x20sync.','remediation','install','volumeup','removedKeys','openMethod','removed-entries','selectCommand','ySeTL','No\x20previous\x20build\x20snapshot\x20found.\x20Run\x20a\x20build\x20to\x20establish\x20a\x20baseline.\x20A\x20clean\x20prebuild\x20is\x20recommended\x20for\x20the\x20first\x20build.','invalid-base64','ceraph_test_data_cleanup\x20failed:\x20','The\x20first\x20simulator\x20WebDriverAgent\x20build\x20is\x20cold\x20and\x20can\x20take\x20a\x20few\x20minutes;\x20the\x20compiled\x20output\x20is\x20cached,\x20so\x20just\x20call\x20ceraph_start\x20again\x20—\x20the\x20next\x20build\x20is\x20incremental.','/wda/keys','rn_test_flows','readEnv','\x20(before\x20reanimated)','texjY','Apytx','isImportSpecifier','unknown\x20revision','Unknown\x20error\x20during\x20tap','Not\x20an\x20Expo\x20project.\x20Prebuild\x20detection\x20is\x20Expo-only.','[mcp_servers.react-native-mcp]','?intent=pro','8251wroLKH','network-error','aborted','WebDriverAgent\x20could\x20not\x20start\x20—\x20','reverted','screenshotReason','\x22\x20—\x20attempting\x20JIT\x20recovery\x0a','walkthrough','\x27\x20already\x20maps\x20to\x20','metroProcess','-derivedDataPath','api-error','\x0a[mcp_servers.react-native-mcp]\x0acommand\x20=\x20\x22npx\x22\x0aargs\x20=\x20[\x22-y\x22,\x20\x22@ceraph/react-native-mcp@latest\x22]\x0a','details','single','required-env-vars','webp','rename','\x0aSelecting\x20Pro\x20isn\x27t\x20the\x20same\x20as\x20being\x20Pro\x20—\x20AI\x20flow\x20testing\x20unlocks\x20once\x0acheckout\x20completes.\x20Re-run\x20init\x20in\x20a\x20terminal\x20(or\x20use\x20the\x0aceraph_init_select_tier\x20tool)\x20to\x20finish\x20sign-in.\x0a','/wda/tap/0','163595FyHknF','results','React\x20Native\x20/\x20Expo\x20development\x20workflow\x20tools.\x20Auto-detects\x20project\x20type.\x0a\x0aWHICH\x20TOOLS\x20TO\x20USE:\x0a•\x20User\x20wants\x20their\x20code\x20changes\x20verified,\x20specific\x20flows\x20run,\x20or\x20comprehensive\x20coverage\x20→\x20use\x20the\x20autonomous\x20flow\x20tools:\x20rn_list_flows\x20previews\x20which\x20flows\x20a\x20diff\x20or\x20file\x20set\x20affects,\x20rn_find_flows\x20searches\x20every\x20flow\x20app-wide\x20by\x20natural\x20language,\x20rn_test_flows\x20executes\x20selected\x20flowIds.\x20These\x20execute\x20Ceraph\x27s\x20server-planned\x20flows,\x20which\x20exhaustively\x20exercise\x20the\x20distinct\x20UI\x20outcomes\x20reachable\x20from\x20the\x20changed\x20code.\x20Per-step\x20screenshots\x20and\x20runtime\x20errors\x20surface\x20in\x20the\x20result.\x20Do\x20NOT\x20try\x20to\x20modify\x20or\x20reorder\x20the\x20returned\x20plan\x20—\x20it\x20is\x20owned\x20by\x20the\x20server.\x0a•\x20User\x20wants\x20a\x20specific\x20custom\x20scenario\x20(e.g.\x20\x27test\x20signup\x20with\x20email\x20X\x27,\x20\x27tap\x20the\x20Premium\x20plan\x20and\x20verify\x20checkout\x20opens\x27,\x20\x27reproduce\x20the\x20bug\x20where\x20tapping\x20save\x20crashes\x20the\x20app\x27)\x20→\x20compose\x20screen_*\x20and\x20app_*\x20primitives\x20directly.\x20You\x20plan\x20the\x20steps\x20yourself;\x20Ceraph\x20just\x20drives\x20WebDriverAgent.\x20Use\x20screen_screenshot\x20between\x20actions\x20to\x20observe\x20state\x20and\x20decide\x20the\x20next\x20step.\x20This\x20path\x20is\x20intentionally\x20lower-fidelity\x20than\x20the\x20autonomous\x20flow\x20tools\x20and\x20does\x20not\x20produce\x20coverage\x20guarantees\x20—\x20it\x20is\x20for\x20ad-hoc\x20requests\x20the\x20user\x20explicitly\x20directed.\x0a\x0aTOOL\x20SELECTION\x20FOR\x20AUTONOMOUS\x20FLOW\x20TOOLS:\x0a\x20\x20-\x20\x27Test\x20my\x20changes\x27\x20/\x20comprehensive\x20verification\x20→\x20rn_list_flows\x20(diff\x20scope),\x20then\x20rn_test_flows\x20with\x20EVERY\x20returned\x20flowId.\x0a\x20\x20-\x20User\x20scoped\x20to\x20specific\x20files\x20→\x20rn_list_flows\x20with\x20filePaths,\x20then\x20rn_test_flows.\x0a\x20\x20-\x20User\x20wants\x20a\x20focused\x20subset\x20(\x27just\x20test\x20the\x20X\x20flow\x27,\x20\x27show\x20me\x20what\x20would\x20run\x27)\x20→\x20rn_list_flows,\x20pick\x20the\x20relevant\x20rows,\x20then\x20rn_test_flows\x20with\x20those\x20flowIds.\x0a\x20\x20-\x20User\x20describes\x20flows\x20in\x20natural\x20language\x20without\x20a\x20diff\x20scope\x20(\x27test\x20login\x27,\x20\x27run\x20the\x20checkout\x20flows\x27)\x20→\x20rn_find_flows\x20(app-wide\x20search),\x20then\x20rn_test_flows.\x0a\x20\x20-\x20\x27Test\x20PR\x20#N\x27\x20/\x20\x27verify\x20this\x20pull\x20request\x27\x20→\x20there\x20is\x20NO\x20PR\x20tool\x20by\x20design.\x20Check\x20out\x20the\x20PR\x20(a\x20GitHub\x20MCP\x20server\x20if\x20connected,\x20else\x20`gh\x20pr\x20checkout\x20N`),\x20then\x20REBUILD\x20+\x20relaunch\x20so\x20the\x20device\x20runs\x20the\x20PR\x27s\x20code\x20(rn_build_ios\x20+\x20rn_start\x20—\x20a\x20native\x20or\x20dependency\x20change\x20will\x20NOT\x20hot-reload),\x20then\x20rn_list_flows({base:\x20\x27<pr-target-branch>\x27})\x20→\x20rn_test_flows\x20with\x20the\x20returned\x20flowIds.\x20Post\x20the\x20pass/fail\x20summary\x20back\x20as\x20a\x20PR\x20comment\x20via\x20the\x20GitHub\x20MCP\x20if\x20the\x20user\x20wants\x20it.\x0aPreview\x20rows\x20are\x20a\x20menu\x20—\x20their\x20order\x20carries\x20no\x20meaning,\x20and\x20rn_test_flows\x20ignores\x20the\x20order\x20of\x20the\x20flowIds\x20you\x20pass:\x20the\x20server\x20orders\x20execution\x20by\x20planner\x20priority\x20and\x20chain\x20grouping.\x0a\x0aSTARTUP\x20FLOW\x20WHEN\x20NO\x20TARGET\x20IS\x20AVAILABLE:\x0a\x20\x20-\x20Both\x20real\x20iOS\x20devices\x20and\x20the\x20iOS\x20Simulator\x20are\x20supported.\x20For\x20a\x20booted\x20simulator\x20(with\x20the\x20optional\x20appium-webdriveragent\x20dep\x20installed),\x20call\x20rn_wda_start\x20to\x20launch\x20WebDriverAgent\x20against\x20it;\x20with\x20no\x20real\x20device\x20connected,\x20subsequent\x20screen_*/app_*\x20calls\x20route\x20to\x20the\x20simulator\x20automatically.\x20If\x20a\x20real\x20device\x20is\x20ALSO\x20connected,\x20auto-detection\x20(CERAPH_TARGET=auto,\x20the\x20default)\x20prefers\x20the\x20device\x20—\x20tell\x20the\x20user\x20to\x20set\x20CERAPH_TARGET=simulator\x20in\x20the\x20MCP\x20process\x20environment\x20to\x20force\x20simulator\x20routing.\x0a\x20\x20-\x20For\x20a\x20real\x20device,\x20tell\x20the\x20user\x20to\x20plug\x20their\x20iPhone\x20in\x20via\x20USB-C,\x20then\x20call\x20rn_wait_for_device\x20(event-driven\x20via\x20usbmuxd,\x20no\x20timeout).\x20The\x20original\x20tool\x20can\x20be\x20re-run\x20as\x20soon\x20as\x20it\x20returns\x20success.\x0a\x20\x20-\x20WebDriverAgent\x20must\x20already\x20be\x20installed\x20on\x20the\x20device.\x20If\x20doctor\x20reports\x20WDA\x20unreachable,\x20the\x20user\x20opens\x20Xcode\x20→\x20WebDriverAgentRunner\x20and\x20presses\x20Run\x20once;\x20subsequent\x20sessions\x20reuse\x20that\x20build.\x0a\x0aAutonomous\x20flow\x20tools\x20(server-planned):\x20rn_list_flows,\x20rn_find_flows,\x20rn_test_flows.\x0aWDA-direct\x20primitives\x20(you\x20orchestrate):\x20app_launch/terminate/activate,\x20screen_tap,\x20screen_tap_and_verify,\x20screen_swipe,\x20screen_scroll_to,\x20screen_long_press,\x20screen_type_into_field,\x20screen_press_key,\x20screen_open_url,\x20screen_screenshot,\x20screen_wait_for,\x20screen_tap_chain.\x0a\x0aAuth\x20via\x20`npx\x20@ceraph/react-native-mcp\x20init`.\x20Build\x20with\x20rn_build_ios,\x20run\x20Metro\x20with\x20rn_start,\x20inspect\x20errors\x20with\x20rn_get_errors,\x20check\x20rn_check_prebuild\x20when\x20native\x20deps\x20change\x20(Expo\x20only).\x0a\x0aCAMERA\x20SETUP\x20ON\x20FIRST\x20INVOCATION:\x0aAfter\x20init\x20completes,\x20`ceraph_doctor`\x20may\x20report\x20a\x20`camera-imageKey-setup`\x20info\x20finding\x20listing\x20one\x20or\x20more\x20<CeraphCamera\x20/>\x20components\x20that\x20still\x20need\x20a\x20deliberate\x20imageKey\x20choice\x20(init\x20replaces\x20tags\x20WITHOUT\x20inserting\x20an\x20imageKey\x20—\x20the\x20bundled\x20black\x20PNG\x20keeps\x20the\x20app\x20working\x20until\x20the\x20developer\x20decides).\x20When\x20you\x20see\x20this\x20finding,\x20hold\x20a\x20one-shot\x20conversation\x20with\x20the\x20user\x20covering\x20each\x20camera.\x20Three\x20options\x20per\x20camera:\x0a\x20\x20(A)\x20Black\x20default\x20(most\x20test\x20flows\x20don\x27t\x20care\x20about\x20image\x20content):\x20ceraph_init_replace_camera\x20with\x20imageKey=\x22default\x22.\x0a\x20\x20(B)\x20A\x20specific\x20test\x20image:\x20ask\x20the\x20user\x20for\x20a\x20descriptive\x20lowercase-dashes\x20name\x20(e.g.\x20\x22profile\x22,\x20\x22id-card\x22,\x20\x22product-photo\x22),\x20then\x20write\x20the\x20file\x20via\x20ceraph_add_camera_image\x20(the\x20user\x20can\x20paste\x20base64\x20or\x20drop\x20the\x20file\x20in\x20.ceraph/camera-images/<key>.{jpg,png,webp}\x20by\x20hand).\x20Call\x20rn_sync_camera_registry\x20after\x20manual\x20file\x20drops;\x20ceraph_add_camera_image\x20auto-syncs.\x20Then\x20ceraph_init_replace_camera\x20with\x20the\x20chosen\x20key.\x0a\x20\x20(C)\x20Multi-image\x20per\x20flow\x20(the\x20camera\x20serves\x20different\x20scenarios\x20across\x20flows;\x20the\x20planner\x20picks\x20the\x20image\x20per\x20step\x20at\x20runtime):\x20ceraph_init_replace_camera\x20with\x20imageKey=\x22@runtime\x22.\x0aOnce\x20every\x20camera\x20has\x20an\x20explicit\x20imageKey\x20the\x20doctor\x20finding\x20stops\x20appearing.\x20Run\x20`ceraph_doctor`\x20again\x20to\x20confirm.\x0a\x0aDOCTOR\x20BEHAVIOR:\x0a•\x20Test/run\x20tools\x20(rn_test_flows,\x20rn_test_chain_start)\x20auto-run\x20doctor\x20on\x20first\x20invocation\x20and\x20cache\x20the\x20result\x20for\x20the\x20MCP\x20session.\x0a•\x20rn_test_chain_continue\x20ALWAYS\x20re-runs\x20doctor\x20(no\x20cache)\x20because\x20the\x20chain\x20may\x20have\x20been\x20paused\x20for\x20minutes\x20at\x20a\x20snap\x20point\x20—\x20device\x20could\x20have\x20locked\x20or\x20disconnected\x20during\x20the\x20wait.\x0a•\x20If\x20doctor\x20has\x20errors,\x20the\x20test\x20tool\x20refuses\x20to\x20execute\x20and\x20returns\x20`{\x20status:\x20\x22doctor-failed\x22,\x20errors:\x20[...]\x20}`.\x20Fix\x20the\x20errors\x20and\x20retry\x20—\x20doctor\x20re-runs\x20automatically\x20after\x20any\x20failure\x20(passing\x20results\x20are\x20cached,\x20failing\x20ones\x20are\x20not).\x0a•\x20Actionable\x20non-error\x20findings\x20are\x20surfaced\x20as\x20`doctorAdvisories`\x20on\x20gated\x20tool\x20responses:\x20failed\x20warnings\x20(e.g.\x20wrong\x20WiFi)\x20and\x20info\x20findings\x20that\x20carry\x20a\x20remediation\x20(e.g.\x20camera-imageKey-setup).\x20Passing\x20status\x20stamps\x20without\x20a\x20remediation\x20are\x20filtered\x20out\x20to\x20keep\x20responses\x20lean.\x20Act\x20on\x20advisories\x20the\x20first\x20time\x20you\x20see\x20them.\x0a•\x20An\x20explicit\x20`ceraph_doctor`\x20call\x20always\x20re-runs\x20and\x20refreshes\x20the\x20cache,\x20so\x20it\x20doubles\x20as\x20a\x20manual\x20revalidation\x20hook.','pathname','trim','screenshotsAvailable','latestTestIdSentinel','yarn.lock','statusCode','findAndTapReturningTree','XoPpp','\x20[Y/n]\x20','valueHash','awake','provisionJit','isMonorepo','/rn-list-flows','8596464SWgNQW','unable\x20to\x20find\x20a\x20device\x20matching','\x20is\x20','block','ingest','eLWTF','foregroundApp','devicectl\x20info\x20apps\x20failed:\x20','Delete\x20on-demand\x20managed\x20test\x20users.\x20Pass\x20`id`\x20to\x20remove\x20one\x20user\x20or\x20`all:\x20true`\x20to\x20wipe\x20every\x20on-demand\x20user\x20for\x20this\x20project.\x20Local\x20records\x20are\x20removed\x20even\x20if\x20the\x20provider-side\x20delete\x20fails\x20(clean\x20up\x20via\x20the\x20provider\x27s\x20dashboard\x20if\x20needed).\x20Pro\x20tier\x20only.','getSource','mcpServers','Swipe\x20on\x20the\x20iOS\x20device\x20screen.\x20Direction\x20is\x20up/down/left/right;\x20optional\x20from-point\x20and\x20distance\x20default\x20to\x20a\x20center-screen\x20swipe\x20of\x20~60%\x20of\x20the\x20relevant\x20axis.\x20Coordinates\x20are\x20device-space\x20by\x20default;\x20pass\x20coordinateSource:\x20\x27screenshot\x27\x20if\x20`from`\x20came\x20from\x20a\x20screenshot.','Qxrag','Return\x20recent\x20console\x20output\x20from\x20Metro\x20dev\x20server,\x20optionally\x20filtered\x20by\x20log\x20level.','.git','timestamp','GET','responseBody','getSimulatorWdaUdid','.mjs','getVideoStartError','KxaBM','The\x20imageKey\x20to\x20use.\x20Either\x20\x22default\x22\x20(bundled\x20black\x20PNG),\x20a\x20user-defined\x20lowercase-dashes\x20key\x20matching\x20.ceraph/camera-images/<key>.{jpg,png,webp},\x20or\x20\x22@runtime\x22\x20/\x20any\x20\x22@\x22-prefixed\x20sentinel\x20for\x20runtime-controlled\x20selection.','exit','_name','previousScheme','--device','\x20is\x20not\x20installed\x20on\x20the\x20device.','file://','App\x20did\x20not\x20respond\x20on\x20WDA\x20within\x20','ceraph_start','ACQsC','alreadyHasImageKey','warning','disableHeartbeat','Resize\x20or\x20recompress\x20the\x20image\x20before\x20uploading.\x20Test\x20fixtures\x20rarely\x20need\x20to\x20be\x20larger\x20than\x201\x20MB\x20—\x20over-large\x20fixtures\x20inflate\x20the\x20repo\x20and\x20slow\x20Metro\x20bundling.\x20Cap:\x205\x20MB.','async-storage-read','tier','derivedDataPath','\x20not\x20visible','Build\x20Failed','importRestored','Env\x20var\x20names\x20the\x20planned\x20flows\x20reference.\x20Each\x20must\x20be\x20set\x20+\x20non-empty.','bun.lockb','failedAt','kUhBb','Simulator\x20UDID\x20unavailable\x20—\x20call\x20`rn_wda_start`\x20to\x20bind\x20a\x20simulator\x20before\x20starting\x20a\x20chain\x20so\x20the\x20recorder\x20can\x20address\x20it\x20explicitly.\x20Using\x20`booted`\x20is\x20unsafe\x20with\x20multiple\x20booted\x20simulators.','image/heic','metroOutput','XuicZ','expo-router','camera-imageKey-setup','getStatements','appName','The\x20plan\x20the\x20user\x20chose.\x20Omit\x20on\x20the\x20first\x20call\x20to\x20receive\x20the\x20two\x20options\x20to\x20surface.','Wait\x20for\x20an\x20iPhone\x20to\x20be\x20connected\x20via\x20USB-C.\x20Uses\x20macOS\x27s\x20usbmuxd\x20daemon\x20for\x20sub-second\x20event-driven\x20detection\x20(no\x20polling).\x20Waits\x20indefinitely\x20until\x20either\x20a\x20device\x20connects\x20or\x20the\x20agent\x20aborts\x20the\x20call.\x20Use\x20this\x20after\x20telling\x20the\x20user\x20\x27please\x20plug\x20in\x20your\x20iPhone\x27\x20—\x20the\x20call\x20resolves\x20immediately\x20when\x20they\x20do,\x20with\x20zero\x20detection\x20lag.','Supabase\x20createUser\x20failed:\x20','persisted','Connect\x20the\x20iPhone\x20via\x20USB-C,\x20trust\x20this\x20Mac,\x20enable\x20Developer\x20Mode,\x20then\x20call\x20ceraph_start\x20again.','ternary-with--1','concat','unknown','hasStarted','No\x20element\x20found\x20for\x20query\x20at\x20index\x20','Device\x20','ls-files','deleteAsyncStorageKeys','once','peerDependencies','152MSqMfB','unlock','simctl\x20launch\x20failed:\x20','gatingExpression','reload-not-needed','.\x20Open\x20Xcode,\x20run\x20the\x20WebDriverAgentRunner\x20target\x20on\x20your\x20connected\x20iPhone\x20once,\x20then\x20try\x20again\x20on\x20real\x20devices.\x20Simulator\x20support\x20is\x20available\x20via\x20rn_wda_start.','WDA\x20activeAppInfo\x20failed:\x20','/wda/unlock','handle','Open\x20~/.mobile-mcp/WebDriverAgent/WebDriverAgent.xcodeproj\x20in\x20Xcode,\x20select\x20the\x20WebDriverAgentRunner\x20target\x20→\x20Signing\x20&\x20Capabilities,\x20set\x20a\x20Development\x20Team,\x20and\x20run\x20it\x20once\x20on\x20the\x20iPhone\x20to\x20sign\x20+\x20cache\x20the\x20build.\x20Then\x20retry.','runPrebuildClean','.webp','terminateApp','manual','dev-settings-reload','ios','bootBufferBytes','Enable\x20it\x20on\x20the\x20iPhone:\x20Settings\x20→\x20Privacy\x20&\x20Security\x20→\x20Developer\x20Mode\x20→\x20On,\x20restart\x20the\x20device,\x20then\x20retry.','@react-native','getSimulatorWdaPort','Detected\x20bare\x20React\x20Native\x20project\x20(ios/\x20and/or\x20android/).','adapter','success','onDialog','TIEIn','Ensure\x20WebDriverAgent\x20is\x20running\x20on\x20the\x20device\x20(Xcode\x20→\x20run\x20WDA\x20target\x20on\x20your\x20iPhone,\x20or\x20check\x20`iproxy\x208100\x208100`).','swipes','positive','jHVsn','portrait','Pass\x20a\x20non-empty\x20`imageKey`\x20like\x20`\x22profile\x22`\x20or\x20`\x22handwriting-sample-1\x22`.','--udid','Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20applicable\x20to\x20simulator\x20targets.','started','dcEPm','FaMfn','rVnYa','existing\x20settings\x20at\x20','UOWrx','skipped-needs-confirmation','devices','unEWq','\x20top-level\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.','store','suggestedKey','Text\x20to\x20type\x20into\x20the\x20focused\x20field.','Which\x20one\x20should\x20init\x20configure?','Antigravity','@react-native/babel-preset','FzFwN','responseValue=','buildFlowReport','kill','FzOJn','screen_swipe','\x20-D\x20appium-webdriveragent`,\x20then\x20retry.','symbolic-ref','pendingCommandAcks','metro','unspecified\x20failure','Reconnect\x20the\x20iPhone\x20via\x20USB-C,\x20unlock\x20and\x20trust\x20this\x20Mac,\x20then\x20retry.','realpath','forEachDescendant','WDA\x20keys\x20(backspace)\x20failed:\x20','PZbaU','env-override-simulator','Run\x20prebuild\x20--clean\x20before\x20building\x20(Expo\x20only)','Bearer\x20token\x20the\x20user\x20pasted\x20after\x20signing\x20in\x20at\x20the\x20verificationUri\x20(issued\x20by\x20ceraph.dev/cli-auth).\x20When\x20set,\x20it\x20is\x20persisted\x20to\x20~/.ceraph/auth.json\x20and\x20the\x20full\x20init\x20runs\x20in\x20the\x20same\x20call.','tapCoords','projectUrl','error-banner','fileHash','processes','getCurrentBranch','sack-','Project\x20cached\x20server-side:\x20','ESEqR','missingRequiredEnv','getExpression','currentErrorMessage','MessageType','buildErrorResponse','Starter\x20selected\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in\x20needed.','getStart','XVxNh','componentControl','detectPackageManager','getifaddr','WebDriverAgent-','findIndex','node_modules','withLock','close','componentName','freeze','timestampMs','handleForTesting','idb\x20launch\x20failed:\x20','accumulatedBootDrains','.ceraph/last-build-snapshot.json','OnckJ','Hook\x20script:\x20.claude/hooks/rn-error-notify.sh\x20✓','ceraph_purge_runs','setTestDataManager','getLiteralText','\x20is\x20held\x20by\x20another\x20process\x20—\x20usually\x20a\x20second\x20Ceraph\x20MCP\x20(a\x20different\x20project,\x20or\x20a\x20stale/orphaned\x20session),\x20but\x20possibly\x20an\x20unrelated\x20server.\x20This\x20Ceraph\x20server\x20runs\x20with\x20all\x20tools,\x20but\x20it\x20doesn\x27t\x20own\x20the\x20device-signal\x20listener:\x20runtime-error\x20capture\x20reaches\x20this\x20session\x20only\x20if\x20the\x20holder\x20is\x20a\x20Ceraph\x20instance\x20on\x20the\x20SAME\x20project\x20(shared\x20.rn-errors.json)\x20—\x20otherwise\x20errors\x20won\x27t\x20appear\x20here.\x20Free\x20the\x20port\x20(lsof\x20-nP\x20-iTCP:','Signed\x20in\x20as\x20','firebase-admin','babelConfigHash','network-failure','3BPyinu','platform','qUhfH','Simulator\x20booted\x20(','SIGTERM','hwVnl','outcome','detectProjectType','addArgument','wda-reachable','int','-hide_banner','No\x20managed\x20processes\x20were\x20running.','Unknown\x20error\x20during\x20screenshot','detectMonorepo','missing-dir','autonomy','ELOOP','hasCoverSheet','.jsx','accessToken','Failed\x20to\x20get\x20element\x20tree:\x20','bytes','XqASp','permissionKind','evictExpired','Unknown\x20error\x20during\x20unlock','projectPath','removedUseEffect','samples','startsWith','setAppLifecycle','invalid\x20state','closeMethod','ts-morph','readyPromise','isListening','::1','chain.mp4','prev=','Firebase\x20deleteUser\x20failed:\x20','toRoute','.vscode','fileExists','bootCaptureTail','View','.ceraph/runs/','componentHook:\x20stateInference\x20must\x20be\x20a\x20non-empty\x20string','Device\x20is\x20awake\x20(lockState:\x20','.expo','No\x20correction\x20(device\x20coordinates)','continue','absolutePath','To\x20add\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device,\x20re-run\x20init\x20and\x20pick\x20Pro.','scope-regression','currentKind','vmAVs','route','severity','network-4xx','matches','permissionInterceptor','.\x20These\x20names\x20do\x20not\x20match\x20any\x20flow\x20in\x20chain.flows[].name.\x20Diff-affected\x20screenshot\x20capture\x20will\x20only\x20fire\x20for\x20matching\x20names.\x0a','wTEZH','optional','runDoctor','Wired\x20the\x20testID\x20injector\x20into\x20','Boot\x20revert\x20returned\x20an\x20unrecognised\x20status\x20shape.','summary','otherStatements','TwoSpaces','currentEpoch','the\x20device\x20canceled\x20the\x20WebDriverAgent\x20UI-test\x20authentication','-destination','fetcher','signal','Could\x20not\x20dispatch\x20reload\x20deep\x20link:\x20','hasReceivedDeviceContact','houvB','stateInference','jitUser','cotgZ','listDir','tick','ceraph://storage?op=delete&keys=','--name-only','setOnSignal','Divided\x20by\x20','setAdapter','expo-config-needs-manual','hashFile','pressKey','unchanged','users','RYaIx','Poll\x20the\x20WDA\x20source\x20tree\x20until\x20an\x20element\x20matching\x20the\x20query\x20is\x20visible\x20(or,\x20if\x20disappear\x20is\x20true,\x20until\x20it\x20vanishes).\x20Default\x20timeout\x20is\x205s.','.\x20If\x20you\x20no\x20longer\x20need\x20the\x20customized\x20version,\x20delete\x20the\x20file\x20manually.\x20Settings\x20entries\x20pointing\x20at\x20the\x20script(s)\x20','Per-flow\x20mutex-partner\x20flow\x20names.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.','snap_point_pending','affectedDisplaySelector','.jpeg','matchCount','loadSnapshot','data','stdout','DHHcK','existing\x20mcpServers\x20in\x20','cachedAt','expandedSteps','slice','status=','iproxy\x20bridge\x20already\x20running\x20(external).','101633BYjGkd','info','recreate','SecureText','jpg','\x20MB.\x20Test\x20fixtures\x20typically\x20fit\x20under\x201\x20MB;\x20consider\x20downsampling\x20if\x20it\x27s\x20larger\x20than\x20the\x20camera\x20screen\x20needs.','flow\x20must\x20be\x20a\x20non-empty\x20string.','@clerk/backend','No\x20token\x20provided.','rn_sync_camera_registry','`\x20failed\x20to\x20run:\x20','unexpected_state','starter','`xcodebuild`\x20not\x20found\x20on\x20PATH.\x20Install\x20Xcode\x20(full\x20app,\x20not\x20just\x20Command\x20Line\x20Tools)\x20and\x20accept\x20the\x20license:\x20`sudo\x20xcodebuild\x20-license\x20accept`.','DGjQN','`xcodebuild\x20test`\x20exited\x20before\x20WebDriverAgent\x27s\x20HTTP\x20server\x20answered\x20on\x20:8100.\x20Most\x20common\x20cause:\x20the\x20WebDriverAgentRunner\x20target\x20has\x20no\x20valid\x20signing\x20for\x20this\x20device,\x20or\x20the\x20device\x20is\x20asleep/locked\x20(unlock\x20it\x20and\x20retry).\x20Open\x20the\x20project\x20in\x20Xcode,\x20set\x20a\x20Development\x20Team\x20on\x20the\x20WebDriverAgentRunner\x20target,\x20run\x20it\x20once\x20on\x20the\x20iPhone\x20to\x20sign\x20+\x20cache\x20the\x20build,\x20then\x20retry.','warnings','SRNAd','Unknown\x20error\x20during\x20pressKey','Allow\x20Once','Another\x20process\x20holds\x20the\x20device-signal\x20port\x20(:8101),\x20so\x20Ceraph\x27s\x20command\x20channel\x20is\x20unavailable\x20in\x20this\x20session,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20','jAKCF','\x20require(\x22','deps','.js','probePermission','getKind','CYLjE','app','componentHook:\x20returns.openMethod\x20must\x20be\x20a\x20non-empty\x20string','WebDriverAgent\x20has\x20no\x20valid\x20signing\x20for\x20this\x20device','App.tsx','xcodebuild','getInitializer','saveSnapshot','PRODUCT_BUNDLE_IDENTIFIER','AIUpS','verifyMutation:\x20','edits','path:','resolveRepo','placeholder','stderrBuffer','\x20check','@ceraph/react-native-mcp@latest','getConsole','errorFilePath','run.json','dpmNi','appium-webdriveragent/package.json','kKOTD','\x20file(s)','[ceraph]\x20JIT\x20provision\x20failed:\x20','isNoSubstitutionTemplateLiteral','connection','hasAdapter','hevx','ksrsB','src','totalDurationMs','addImportDeclaration','gatingProp','diff','clientId','bkwOm','ManagementClient','no-git-repo','udidResolvedAt','sessionId','gitignore','rDjWo','mobile-mcp','providerId','\x20in\x20package.json.\x20Run:\x20npm\x20install\x20','31097woMBSK','scriptAbsPath','No\x20iOS\x20target\x20detected.\x20For\x20a\x20real\x20device:\x20tell\x20the\x20user\x20to\x20plug\x20in\x20their\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20call\x20`rn_wait_for_device`\x20(listens\x20on\x20macOS\x27s\x20usbmuxd\x20daemon\x20for\x20sub-second\x20event-driven\x20detection\x20—\x20no\x20polling,\x20no\x20timeout).\x20For\x20a\x20simulator:\x20boot\x20one\x20(Simulator.app\x20or\x20`xcrun\x20simctl\x20boot\x20<udid>`)\x20and\x20call\x20`rn_wda_start`\x20to\x20target\x20it.','stopVideoRecording','Launch\x20an\x20iOS\x20app\x20by\x20bundle\x20ID\x20on\x20a\x20connected\x20real\x20device\x20(preferred)\x20or\x20the\x20booted\x20simulator\x20(fallback).\x20Terminates\x20any\x20existing\x20instance\x20first\x20via\x20devicectl\x20--terminate-existing.','cfYSm','finally','main','Picked\x20index\x20out\x20of\x20range.','lastTouchedMs','title','added','expectedSelectors','Failed\x20to\x20create\x20output\x20directory:\x20','run','pendingStorageAckResolver','FQuWL','whichFn','checkIdb','cwd','spawnFn','\x20additional\x20screenshot','errorSignature','uBnBG','getLockState','Element\x20not\x20visible\x20after\x20','login','isJsxAttribute','Boot\x20revert\x20raised.\x20Check\x20the\x20layout\x20file\x20for\x20syntax\x20errors\x20before\x20re-running.','\x20failed.','account-invalid','screenshotBase64','[::ffff:7f00:1]','nodeId','matched','MCP\x20configuration:','localhost','GwtMS','expo-config','hxrvH','FileChanged','Another\x20chain\x20(runId=','No\x20bare\x20<CameraView>\x20usages\x20from\x20expo-camera\x20found\x20in\x20app/src/screens.','camera-images','xeCer','\x20to\x20activate\x20AI\x20flow\x20testing.\x20Once\x20payment\x20is\x20done,\x20re-call\x20this\x20tool\x20—\x20Pro\x20access\x20refreshes\x20automatically.','runStep','screen_press_key','No\x20<CeraphCamera>\x20components\x20detected.\x20No\x20camera-setup\x20conversation\x20needed;\x20proceed\x20with\x20the\x20rest\x20of\x20the\x20project\x20work.','.rn-flow-progress.json','bootCaptureMode','Supabase\x20createUser\x20returned\x20no\x20user.','image/','SPUSBDataType','\x20required\x20env\x20var(s)\x20present.','runDir','buildOutput','errorMessage','reveal','ceraph_init_scan_camera','FrAZl','heix','element','[react-native-mcp]\x20Reclaimed\x20the\x20device-signal\x20port\x20—\x20listener\x20now\x20active.','oFwTt','Could\x20not\x20reach\x20the\x20Ceraph\x20server\x20(request\x20timed\x20out\x20after\x20','packages','simctl','killed','utf-8','removedIp','Allow\x20While\x20Using\x20App','visible','readinessPollMs','DIzXj','bootDebounceMs','searchElements','getTestIdReady','Undefined\x20symbol:\x20','matcher','Couldn\x27t\x20ensure\x20appium-webdriveragent:\x20','PdeQz','\x20text=','waitForAppReady','Chain\x20identifier\x20—\x20surfaced\x20verbatim\x20in\x20responses.','Listen','filesEdited','TextField','snapshotReachable','nextFlowIndex','\x20\x20[WARN]\x20\x20\x20\x20','xctrace','opts','simulatorWdaUdid','devicePort','dIIUV','#\x20Ceraph\x20signal\x20host\x20—\x20auto-set\x20by\x20@ceraph/react-native-mcp\x20init','14d','DwTwS','hooks','AdminSetUserPasswordCommand','agentMessage','keyDown','fieldQuery','step','listInstalledApps','removedRuntimeFiles','Simulator\x20WDA\x20requires\x20the\x20`appium-webdriveragent`\x20package,\x20but\x20it\x20isn\x27t\x20installed.\x20Run\x20`npm\x20i\x20-D\x20appium-webdriveragent`\x20(or\x20`pnpm\x20add\x20-D\x20appium-webdriveragent`)\x20in\x20your\x20project,\x20then\x20call\x20`rn_wda_start`\x20again.\x20This\x20is\x20an\x20optional\x20dep\x20—\x20device-only\x20setups\x20don\x27t\x20need\x20it.','scriptsLeftAlone','Pro\x20selected.\x20To\x20start\x20AI\x20flow\x20testing,\x20complete\x20checkout\x20at\x20','image/jpeg','Chain\x20aborted:\x20flow\x20\x22','firebase-admin\x20module\x20has\x20no\x20initializeApp','Zosvc','detectEarlyExit','$1-$2','add','Auth0\x20createUser\x20failed:\x20','console-error','missingEnv','.cursor','devicectl','moved','settingsFilesModified','\x20id=','no-gitignore','wda','pathSlug','xdg-open','flowIds','1\x20minute','writeFile','lvhdd','auth\x20provider\x20\x27clerk\x27\x20requires\x20@clerk/backend\x20in\x20package.json.\x20Run:\x20npm\x20install\x20@clerk/backend','screen_tap_chain','user-exists','CDCjk','map','AtLIx','reloadRecoveryWitnesses','button','addEventListener','-framerate','Skipped\x20installCeraph()\x20injection.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20wire\x20it.','fPDSj','hjjID','Use\x20a\x20short,\x20single-segment\x20subdirectory\x20name.','\x20matching\x20element(s).','stale-build','Add\x20the\x20matching\x20image\x20file\x20to\x20.ceraph/camera-images/\x20(e.g.\x20<key>.jpg)\x20and\x20re-run\x20`rn_sync_camera_registry`,\x20or\x20fix\x20the\x20imageKey\x20prop\x20value.','getDefaultBranch','getNameNode','relPath','Diff\x20exceeds\x20','page','toml','image-too-large','metro-error','\x20in\x20the\x20MCP\x20server\x20environment,\x20then\x20call\x20ceraph_start\x20again.','rWnqr','subscription','Skipped\x20—\x20no\x20required\x20env\x20vars\x20declared.','payload\x20too\x20large','pending','args','Signed\x20in','WebDriverAgent\x20','toggleMethod','key','passedCount','assertNotVisible','android','protectedRoute=','SQWth','installedAppsCache','iXjHf','app.config.ts','modal','fNfwN','bare-rn-needs-manual','field=','local-hash','Tear\x20down\x20the\x20simulator\x20WebDriverAgent\x20session\x20started\x20by\x20rn_wda_start\x20and\x20clear\x20the\x20captured\x20port.\x20Idempotent\x20—\x20calling\x20it\x20when\x20no\x20simulator\x20WDA\x20session\x20is\x20running\x20is\x20a\x20no-op.\x20Real-device\x20WDA\x20is\x20unaffected.','result','Pre-reload\x20snapshot\x20failed\x20(WDA\x20unreachable\x20or\x20source\x20error)','\x20is\x20malformed\x20JSON\x20—\x20preserved;\x20fix\x20it\x20manually\x20then\x20re-run','hasStopped','ref-imperative','accept','elementMatches','asyncStorageReadBuffer','awaitingErrorDecision','mcp_servers.','.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.','project-not-found','Link','seamed','FCDjc','ask','absPath','test','failedToPurge','rn_check_prebuild','connectionProperties','componentHook:\x20returns\x20must\x20be\x20an\x20object','Set\x20','availableElements','dryRun','swipe','nonnegative','dependencies','dir','ensureLaunched','unknown\x20error','SIGINT','Claude\x20Code\x20hook:\x20','yverM','mtime','stop','\x22\x20—\x20must\x20be\x20an\x20absolute\x20URL\x20with\x20a\x20scheme\x20(e.g.\x20https://ceraph.dev/api/mcp\x20or\x20http://localhost:3000/api/mcp).','.mobile-mcp','Nzxsx','hLeYj','keys','AUsas','.codeium','createCustomToken','nodes','.env.ceraph','getAttributes','[react-native-mcp]\x20Runtime\x20catalog\x20unavailable;\x20running\x20with\x20bootstrap\x20catalog\x20only','verifyAuth','parseError','react','_findNavBarBackButton','right','dXFjK','no-sentinel-received','\x20MB\x20which\x20exceeds\x20the\x205\x20MB\x20cap.','listOnDemand','iphone','Pass\x20global:\x20true\x20to\x20remove\x20~/.ceraph/auth.json\x20—\x20the\x20token\x20is\x20user-global\x20and\x20removing\x20it\x20logs\x20you\x20out\x20of\x20every\x20Ceraph\x20install.','O_EXCL','imageKey','WebDriverAgent\x20is\x20not\x20reachable\x20at\x20','method=','addSourceFileAtPath','rn_target_status','\x20All\x20edited\x20files\x20were\x20restored\x20from\x20snapshots.','the\x20WebDriverAgent\x20build\x20was\x20interrupted','doctor-failed','substring','not-configured','Y\x20coordinate\x20to\x20tap','ceraph_init_status','Init\x20failed:','mime','pid','Stop\x20all\x20managed\x20React\x20Native\x20processes\x20(Metro\x20dev\x20server\x20and/or\x20build\x20process).','MAX_BUILD_LINES','unresolved','getFullText','rn_test_chain_start','iproxy-bridge','ms).\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.','retryAfterSwipes','isProTier','union',')\x20—\x20preserving\x20the\x20file.','signedAt','ensureSession','coordinateSource','camera-image-key-orphan','<CeraphCamera','created','high','pnpm','advisories','flow','=...','subarray','app.json','EFJPQ','tapChain','Scan\x20.ceraph/camera-images/\x20for\x20test\x20images\x20and\x20(re)generate\x20the\x20static\x20`_registry.ts`\x20the\x20app\x20imports\x20at\x20boot.\x20The\x20filename\x20without\x20extension\x20becomes\x20the\x20imageKey\x20passed\x20to\x20<CeraphCamera\x20imageKey>.\x20Call\x20this\x20after\x20adding\x20or\x20removing\x20image\x20files\x20manually\x20(Finder,\x20git\x20pull).\x20`ceraph_add_camera_image`\x20already\x20auto-syncs\x20after\x20each\x20write\x20—\x20only\x20call\x20this\x20tool\x20for\x20manual\x20drops.\x20Idempotent\x20—\x20does\x20not\x20rewrite\x20the\x20registry\x20when\x20it\x20already\x20matches\x20the\x20discovered\x20set.','awIsq','Could\x20not\x20reach\x20the\x20Ceraph\x20server.\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.','byteLength','CeraphCamera','MAX_ERRORS','could\x20not\x20confirm\x20the\x20app\x20is\x20installed','Could\x20not\x20find\x20app/_layout.tsx\x20or\x20App.tsx.\x20Add\x20this\x20to\x20your\x20root\x20component\x20manually\x20(the\x20require\x20path\x20is\x20relative\x20to\x20that\x20file\x20—\x20`./.ceraph/testid-config.json`\x20from\x20a\x20root\x20App.tsx,\x20`../.ceraph/testid-config.json`\x20from\x20app/_layout.tsx):\x0a\x20\x20useEffect(()\x20=>\x20{\x20installCeraph({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22./.ceraph/testid-config.json\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20});\x20},\x20[]);','Dry-run\x20boot\x20preview\x20failed;\x20re-run\x20without\x20--dry-run\x20to\x20see\x20the\x20real\x20error\x20path.','yes','stdin','No\x20<CameraView>\x20at\x20','progressWriter','Unrecognised\x20signal\x20kind\x20\x27','imageKey\x20\x27','tSnPu','response','SRYlj','stderr','finger1','getElements','getParent','no-mobile-graph','EPERM','async-storage-read\x20requires\x20`key`','testID','cleanupOne','-project','getDeclarations','BfwyE','.\x20Fix\x20the\x20listener\x20(check\x20CERAPH_SIGNAL_HOST\x20and\x20that\x20port\x208101\x20is\x20free\x20and\x20permitted)\x20and\x20restart,\x20or\x20rebuild\x20so\x20the\x20ceraph://\x20scheme\x20is\x20registered.','which','SXhet','inflight','\x0a@ceraph/react-native-mcp\x20init\x0a','hevc','outputPath','10pfhfPT','role','confirm','isDirectory','call','protectedRoute','SUPPRESS','nextText','When\x20true,\x20clear\x20the\x20field\x27s\x20current\x20value\x20before\x20typing.\x20Defaults\x20to\x20false.','Unknown\x20error\x20during\x20openUrl','isDefaultExport','metroKilled','alreadyPresent','flowId','Failed\x20to\x20clear\x20field\x20before\x20typing','no-config','ceraph://reset','missing','889748CvctYW','CameraView','invalid-subdir','avJUQ','files','DPbSW','Required\x20env\x20var','preserved','homeDir','set','bNZPk','hTYrf','\x20files).','runId','saveStepScreenshot','domain','PRODUCT_TYPE','jvEzR','byteOffset','test-data','prebuild\x20--clean\x20failed:\x0a','require','writeSet','lerna.json','Env\x20var\x20names\x20the\x20planned\x20flows\x20reference.\x20Each\x20must\x20be\x20set\x20+\x20non-empty\x20for\x20doctor\x20to\x20pass.','[ceraph]\x20video\x20recorder\x20eviction\x20stop\x20failed:\x20','.bin','CERAPH_AUTH_PROJECT_URL','extendedCatalog','size','https://ceraph.dev/#pricing','Failed\x20to\x20focus\x20element\x20before\x20clearing','\x20more','buildKilled','Library','devicesupport','/source?format=json','\x20Warning:\x20','lastIndexOf','abort','BElKW','cleanupJit','stopAll','label','WDA\x20keys\x20failed:\x20','deleteUser','pickTransport','AEpxb','skipped','onStep','minimize','installed','Failed\x20to\x20launch\x20app','setHeader','uninstall','Could\x20not\x20locate\x20the\x20WebDriverAgent\x20Xcode\x20project\x20to\x20launch\x20device\x20WDA.\x20Ceraph\x20looked\x20at\x20(1)\x20$CERAPH_DEVICE_WDA_PROJECT,\x20(2)\x20the\x20most-recent\x20~/Library/Developer/Xcode/DerivedData/WebDriverAgent-*/info.plist\x20WorkspacePath,\x20and\x20(3)\x20~/.mobile-mcp/WebDriverAgent/WebDriverAgent.xcodeproj.\x20Open\x20the\x20WebDriverAgent\x20project\x20in\x20Xcode\x20once,\x20set\x20a\x20Development\x20Team\x20on\x20the\x20WebDriverAgentRunner\x20target,\x20run\x20it\x20on\x20your\x20iPhone\x20(this\x20signs\x20+\x20caches\x20the\x20build),\x20then\x20retry.\x20To\x20pin\x20the\x20project\x20explicitly,\x20set\x20CERAPH_DEVICE_WDA_PROJECT\x20to\x20the\x20absolute\x20path\x20of\x20WebDriverAgent.xcodeproj.','videoStartError','Authentication\x20required.\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20first\x20to\x20sign\x20in.','OYMOO','installCeraph-with-others','working-tree\x20diff\x20vs\x20','setBootCaptureMode','no-graph-files','feed','\x20is\x20not\x20installed','Run\x20`ceraph_doctor`\x20for\x20the\x20full\x20state\x20including\x20warnings\x20+\x20info\x20findings\x20(e.g.\x20camera\x20setup\x20hints).','index','commandQueue','has','\x27:\x20','rn-flow-progress-notify.sh','-list_devices','ensureBabelPlugin','selector-','global','simctl\x20terminate\x20failed:\x20','parse','expo','commandSeq','screenCount','O_WRONLY','userMarkerSelector','ZignH','ttlMs','objective','password','defaultYes','\x22`),\x20set\x20a\x20Development\x20Team\x20on\x20the\x20WebDriverAgentRunner\x20target,\x20build\x20it\x20manually\x20for\x20the\x20simulator,\x20then\x20retry\x20`rn_wda_start`.\x20Last\x2020\x20lines\x20of\x20xcodebuild\x20output\x20below.',':\x20existing\x20config\x20at\x20','signature','mutationKind','text\x20or\x20accessibilityLabel\x20is\x20required.','rmFn','hex','No\x20element\x20found\x20matching\x20query:\x20','polling-fallback','sendW3CActions','ensureAwake','axCache','getNamespaceImport','Failed\x20to\x20terminate\x20via\x20WDA,\x20devicectl,\x20or\x20idb.\x20The\x20app\x20may\x20not\x20be\x20running,\x20or\x20(devicectl\x20path)\x20it\x20is\x20not\x20a\x20user-installed\x20app\x20so\x20its\x20PID\x20could\x20not\x20be\x20resolved.','revertPackage','screenName','ffmpeg\x20not\x20found\x20—\x20continuous\x20chain-run\x20video\x20capture\x20will\x20be\x20skipped.\x20Tests\x20still\x20execute\x20normally.','server','xkxrH','message\x20is\x20required','EWbIR','PlannedChainInput.snapPointFlowIndices\x20contains\x20non-integer\x20or\x20negative\x20entry:\x20','ceraph-rn','Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20enabled\x20for\x20this\x20doctor\x20call.','changed','prevText','shift','truncated','getFilePath','expo-json-added','projectDir','no-rn-project','\x22\x20is\x20not\x20valid\x20for\x20pause\x20state\x20\x22','llm-decides','caffeinate','classifyRuntimeEntry','wdaFetch','waitForAppForeground','-json','jckXS','sagaL','/rn-test-flows','\x27\x20must\x20be\x20lowercase\x20letters/digits\x20separated\x20by\x20single\x20hyphens.','command-failed','screens','Failed\x20to\x20get\x20element\x20tree','volumedown','NZiZG','failureCause','uUYmc','getFirstAncestorByKind','\x20\x20configureTestImage(','app\x20','bin','ceraph.config','transport','appConfig','then','AST-scan\x20the\x20project\x20for\x20<CameraView>\x20usages\x20(from\x20expo-camera).\x20Returns\x20each\x20usage\x20with\x20its\x20file\x20path,\x20line,\x20suggested\x20imageKey\x20(heuristic),\x20and\x20~30\x20lines\x20of\x20surrounding\x20code\x20so\x20the\x20AI\x20can\x20reason\x20about\x20what\x20to\x20put\x20in\x20imageKey.\x20The\x20AI\x20should\x20override\x20the\x20suggestion\x20based\x20on\x20context\x20(e.g.\x20a\x20`project.type\x20===\x20\x27uppercase\x27`\x20branch\x20nearby\x20implies\x20imageKey=\x27letter-uppercase\x27).','listFiles','storage-ack\x20requires\x20finite\x20`storageAckCount`','identifier','app_active','sessionToken','Auth0\x20adapter\x20requires\x20`domain`\x20for\x20cleanup.',').\x20Preview\x20a\x20narrower\x20scope\x20with\x20filePaths.','isIdentifier','Optional\x20single\x20path\x20or\x20array\x20of\x20repo-relative\x20file\x20paths.\x20When\x20present,\x20scopes\x20the\x20preview\x20to\x20flows\x20that\x20touch\x20these\x20files\x20and\x20ignores\x20the\x20diff\x20path.','Bridge\x20to\x20next\x20flow\x20failed','Doctor:\x20','{\x20return\x20','checks','credential','dismiss','console.warn','All\x20<CeraphCamera>\x20components\x20have\x20an\x20explicit\x20imageKey\x20(or\x20use\x20a\x20runtime\x20sentinel).','existing\x20config\x20at\x20','dialog','tappedAt','<no\x20IP>','origin','drainBootRequests','sourceMethod','\x20is\x20not\x20booted.\x20Booted\x20simulators:\x20','Unknown\x20chain\x20runId.\x20The\x20run\x20either\x20expired\x20(30m\x20TTL)\x20or\x20never\x20started.\x20Re-run\x20rn_test_chain_start\x20to\x20begin\x20a\x20fresh\x20chain.','pipe','config.toml','object','CERAPH_AUTH_CLIENT_ID','name','recordStorageAck','epoch','user-marker\x20NOT\x20visible\x20on\x20protected\x20route','output','replaceWithText'];_0x3e88=function(){return _0x4f7626;};return _0x3e88();}function _0x1a6129(_0x47a023={}){const _0x32f94b=_0xf8ecb6,_0x4bd771=_0x47a023['env']??process.env,_0x2cb87e=_0x47a023['home']??_0x154473(),_0x1b467f=_0x4bd771['SHELL']??'';if(_0x1b467f[_0x32f94b(0xaa5)](_0x32f94b(0x51e)))return'gWFDm'===_0x32f94b(0x62f)?{..._0x377052['witnesses']&&_0x2985ea[_0x32f94b(0x394)]['length']>0x0?{'witnesses':_0x1c7109[_0x32f94b(0x394)]}:{},..._0x41b6a9[_0x32f94b(0x364)]&&_0x3ef02c[_0x32f94b(0x364)]['length']>0x0?{'objectiveSignals':_0x3c4241['objectiveSignals']}:{},..._0x3f3349['reloadRecoveryWitnesses']&&_0x9eaa76['reloadRecoveryWitnesses'][_0x32f94b(0x3b7)]>0x0?{'reloadRecoveryWitnesses':_0xd073aa['reloadRecoveryWitnesses']}:{}}:{'path':_0x4d6cde(_0x2cb87e,_0x32f94b(0x5dc)),'shell':'bash'};return{'path':_0x4d6cde(_0x2cb87e,_0x32f94b(0x34c)),'shell':_0x32f94b(0x399)};}async function _0xa7340d(_0x63e290={}){const _0x520f3d=_0xf8ecb6,_0x3227d0=_0x63e290[_0x520f3d(0xb00)]??_0x1a6129({'env':_0x63e290[_0x520f3d(0x52a)],'home':_0x63e290[_0x520f3d(0xa4a)]}),_0x52cf73=_0x63e290['readFile']??(_0x59bd23=>_0x3695d4(_0x59bd23,'utf-8')),_0x2a8938=_0x63e290[_0x520f3d(0x865)]??((_0x3c909d,_0x70cc5f)=>_0x683d4c(_0x3c909d,_0x70cc5f,_0x520f3d(0x827)));let _0x54e673;try{_0x54e673=await _0x52cf73(_0x3227d0['path']);}catch{return{'status':'no-profile','path':_0x3227d0['path'],'shell':_0x3227d0['shell']};}const _0xf738ef=_0x54e673[_0x520f3d(0x4ca)](_0x41c892);if(_0xf738ef===-0x1)return _0x520f3d(0x7ad)==='jAKCF'?{'status':'already-reverted','path':_0x3227d0['path'],'shell':_0x3227d0['shell']}:{'flow':_0x40b5b6['name'],'flowId':_0x4cad16['flowId'],'success':![],'totalDurationMs':_0x390681[_0x520f3d(0x2f8)]()-_0x4a148e,'steps':[{'stepIndex':-0x1,'action':_0x520f3d(0x221),'success':![],'durationMs':_0x1b42db[_0x520f3d(0x2f8)]()-_0x5203da,'error':_0x148c15[_0x520f3d(0x3dd)]??_0x8ac9a1[_0x520f3d(0x3dd)]??_0x520f3d(0x969)}],'runtimeErrors':[],'awake':_0x71e5f9};const _0x96da78=_0x54e673['indexOf'](_0x2a8afe,_0xf738ef);if(_0x96da78===-0x1)return{'status':_0x520f3d(0x2be),'path':_0x3227d0['path'],'shell':_0x3227d0['shell']};const _0x188567=_0x96da78+_0x2a8afe[_0x520f3d(0x3b7)],_0x3f989a=_0x54e673[_0x188567]==='\x0a'?_0x188567+0x1:_0x188567,_0xbd6332=_0x54e673['slice'](_0xf738ef,_0x3f989a),_0x55c349=_0xbd6332[_0x520f3d(0x2f3)](/export\s+CERAPH_SIGNAL_HOST=(\S+)/),_0x1b5943=_0x55c349?_0x55c349[0x1]:null;let _0x3cacff=_0xf738ef;_0x3cacff>=0x1&&_0x54e673[_0x3cacff-0x1]==='\x0a'&&(_0x3cacff>=0x2&&_0x54e673[_0x3cacff-0x2]==='\x0a'&&(_0x3cacff-=0x1));const _0x5223fe=_0x54e673['slice'](0x0,_0x3cacff)+_0x54e673['slice'](_0x3f989a);return await _0x2a8938(_0x3227d0[_0x520f3d(0x2c7)],_0x5223fe),{'status':'reverted','path':_0x3227d0[_0x520f3d(0x2c7)],'shell':_0x3227d0[_0x520f3d(0xa6c)],'removedIp':_0x1b5943};}import{rm as _0x3b14ef,readdir as _0x4b61a8,stat as _0x295fc0}from'fs/promises';import{join as _0x2c046a}from'path';async function _0x4b2f68(_0x54d115,_0x583c13){try{const _0x45203f=await _0x583c13(_0x54d115);return _0x45203f['isDirectory']();}catch{return![];}}async function _0x1cb81e(_0x5023f4,_0x27ceda={}){const _0x53e876=_0xf8ecb6,_0x55e47e=_0x2c046a(_0x5023f4[_0x53e876(0x9aa)],_0x53e876(0x4b1)),_0x2a4a35=_0x27ceda['rm']??((_0x5bed95,_0x13b72e)=>_0x3b14ef(_0x5bed95,_0x13b72e)),_0x545bd5=_0x27ceda['readdir']??(_0x4dba8f=>_0x4b61a8(_0x4dba8f)),_0x3a0cc0=_0x27ceda['stat']??(_0x2555b6=>_0x295fc0(_0x2555b6)),_0x35a3f5=await _0x4b2f68(_0x55e47e,_0x3a0cc0);if(!_0x35a3f5)return{'status':_0x53e876(0x2be),'path':_0x55e47e};let _0x58831b=[];try{_0x58831b=await _0x545bd5(_0x55e47e);}catch{_0x58831b=[];}_0x58831b[_0x53e876(0x426)]();if(!_0x5023f4[_0x53e876(0x925)])return _0x53e876(0x7d8)==='gAWqa'?{'file':'','line':0x0,'column':0x0,'message':_0x30f567[0x3],'severity':_0x2d6c7e[0x2],'type':'link'}:{'status':'skipped-needs-confirmation','path':_0x55e47e,'paths':_0x58831b['map'](_0x6d1bd2=>_0x2c046a(_0x55e47e,_0x6d1bd2))};return await _0x2a4a35(_0x55e47e,{'recursive':!![],'force':!![]}),{'status':'deleted','path':_0x55e47e,'deletedEntries':_0x58831b};}import{rmdir,unlink as _0x338c51}from'fs/promises';import{homedir as _0x3f2144}from'os';import{dirname as _0x560754,join as _0x862eff}from'path';function _0x244d27(_0xcf93c={}){const _0x13ab6c=_0xf8ecb6;return _0x862eff(_0xcf93c[_0x13ab6c(0xa4a)]??_0x3f2144(),_0x13ab6c(0x4b1),'auth.json');}async function _0x5f4322(_0x495081,_0x4bb55d={}){const _0x17f19d=_0xf8ecb6,_0x5c96fd=_0x244d27({'home':_0x4bb55d['home']}),_0x2c0afa=_0x4bb55d['unlink']??(_0xf7368c=>_0x338c51(_0xf7368c));if(!_0x495081['global'])return{'status':'skipped','path':_0x5c96fd,'note':_0x17f19d(0x8d3)};const _0x29f808=_0x4bb55d[_0x17f19d(0x49d)]??(_0x6ed459=>rmdir(_0x6ed459));try{await _0x2c0afa(_0x5c96fd);try{await _0x29f808(_0x560754(_0x5c96fd));}catch{}return{'status':_0x17f19d(0x387),'path':_0x5c96fd};}catch(_0x343721){const _0x5db5a2=typeof _0x343721===_0x17f19d(0x9e3)&&_0x343721!==null&&_0x17f19d(0x3aa)in _0x343721&&_0x343721['code']===_0x17f19d(0x5a8);if(_0x5db5a2){try{'RCzWZ'!==_0x17f19d(0x3db)?await _0x29f808(_0x560754(_0x5c96fd)):(_0x58eaaa[_0x17f19d(0x411)]('exit',_0x47c315),_0x72bb4(_0x28714e),_0x109ee8());}catch{}return{'status':'already-reverted','path':_0x5c96fd};}throw _0x343721;}}import{readFile as _0x29dff4,writeFile as _0x4cf4f2,unlink as _0x80be55}from'fs/promises';import{join as _0x5887fe}from'path';import{Project as _0x5af6d7,SyntaxKind as _0x32350a}from'ts-morph';var _0x478604=[_0x339bd1('babel-preset-expo'),_0x339bd1('@react-native/babel-preset')];async function _0x58c4bb(_0x12e1ba){const _0x3b629c=_0xf8ecb6,_0x128a49=_0x12e1ba[_0x3b629c(0x4e4)]??(_0xc6d297=>_0x29dff4(_0xc6d297,'utf-8')),_0x238930=_0x12e1ba['writeFile']??((_0x5e8617,_0x3f35f9)=>_0x4cf4f2(_0x5e8617,_0x3f35f9,'utf-8')),_0x31679a=_0x12e1ba['unlink']??(_0x2bba38=>_0x80be55(_0x2bba38));let _0x96eafa,_0x5ddea3;for(const _0x3585a3 of _0x33f2a4){const _0x51e984=_0x5887fe(_0x12e1ba[_0x3b629c(0x9aa)],_0x3585a3);try{_0x5ddea3=await _0x128a49(_0x51e984),_0x96eafa=_0x51e984;break;}catch{}}if(!_0x96eafa||_0x5ddea3===void 0x0)return{'status':_0x3b629c(0x932)};if(!_0x5ddea3[_0x3b629c(0x27e)](_0xe66411))return{'status':_0x3b629c(0x2be),'path':_0x96eafa};if(_0x478604['includes'](_0x5ddea3))return await _0x31679a(_0x96eafa),{'status':'reverted','path':_0x96eafa,'action':_0x3b629c(0x387)};const _0x38ac59=new _0x5af6d7({'useInMemoryFileSystem':!![]}),_0x11903b=_0x38ac59[_0x3b629c(0x238)](_0x3b629c(0x1fc),_0x5ddea3);let _0xf8e50=![];_0x11903b['forEachDescendant'](_0x3965e4=>{const _0x40fc17=_0x3b629c;if(_0xf8e50)return;if(_0x3965e4[_0x40fc17(0x7b2)]()!==_0x32350a[_0x40fc17(0xa75)])return;const _0x5965c1=_0x3965e4,_0x502ef=_0x5965c1[_0x40fc17(0x912)]();for(let _0x5ab638=0x0;_0x5ab638<_0x502ef['length'];_0x5ab638++){if('tQVFv'!=='WLOku'){if(_0x502ef[_0x5ab638][_0x40fc17(0x3a0)]()[_0x40fc17(0x27e)](_0xe66411)){_0x5965c1['removeElement'](_0x5ab638),_0xf8e50=!![];break;}}else try{this['onSignal'](_0x35a5d6);}catch{}}});if(!_0xf8e50)return{'status':'already-reverted','path':_0x96eafa};return await _0x238930(_0x96eafa,_0x11903b['getFullText']()),{'status':_0x3b629c(0x654),'path':_0x96eafa,'action':_0x3b629c(0x3a8)};}import{readFile as _0x17194c,writeFile as _0x403629,access as _0x1fcf54}from'fs/promises';import{join as _0x33ccf3}from'path';var _0x59c154='ceraph';async function _0x5c2ca7(_0x3f7aaf){try{return await _0x1fcf54(_0x3f7aaf),!![];}catch{return![];}}function _0x1e3d10(_0x395f97){const _0x5ca2b0=_0xf8ecb6;if(!_0x395f97[_0x5ca2b0(0x982)]||typeof _0x395f97['expo']!=='object'){if('NcZot'!=='MVDmc')return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};else{const _0xda4e9c=_0x85ebb5[_0x5ca2b0(0x2ae)]();_0xda4e9c[_0x5ca2b0(0x3a0)]()===_0x3894f3&&_0x1bc32d[_0x5ca2b0(0x4d1)](_0x5b25d3);}}const _0x31b790=_0x395f97['expo'],_0x3fc99f=_0x31b790[_0x5ca2b0(0xb27)];if(typeof _0x3fc99f===_0x5ca2b0(0x30d)){if(_0x3fc99f===_0x59c154)return delete _0x31b790['scheme'],{'changed':!![],'previousScheme':_0x3fc99f,'nextScheme':void 0x0};return{'changed':![],'previousScheme':_0x3fc99f,'nextScheme':_0x3fc99f};}if(Array['isArray'](_0x3fc99f)){const _0x4edd86=_0x3fc99f[_0x5ca2b0(0x27e)](_0x59c154);if(!_0x4edd86)return{'changed':![],'previousScheme':[..._0x3fc99f],'nextScheme':[..._0x3fc99f]};const _0x59aa81=_0x3fc99f['filter'](_0x52e87d=>_0x52e87d!==_0x59c154),_0x33d400=[..._0x3fc99f];if(_0x59aa81['length']===0x0){if(_0x5ca2b0(0x90d)==='dIXey'){if(typeof _0x3f20f0==='string')_0x18679e['add'](_0x48d009);}else return delete _0x31b790[_0x5ca2b0(0xb27)],{'changed':!![],'previousScheme':_0x33d400,'nextScheme':void 0x0};}if(_0x59aa81['length']===0x1)return _0x31b790[_0x5ca2b0(0xb27)]=_0x59aa81[0x0],{'changed':!![],'previousScheme':_0x33d400,'nextScheme':_0x59aa81[0x0]};return _0x31b790['scheme']=_0x59aa81,{'changed':!![],'previousScheme':_0x33d400,'nextScheme':_0x59aa81};}return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};}function _0x4d36d1(_0x2259cc){const _0x487e18=_0xf8ecb6;try{const _0x2f1978=JSON['parse'](_0x2259cc);if(!_0x2f1978||typeof _0x2f1978!==_0x487e18(0x9e3)||Array['isArray'](_0x2f1978))return null;return _0x2f1978;}catch{return null;}}function _0x594eff(_0x27272e,_0x5339b8){const _0x41fd2c=_0xf8ecb6,_0x5039ee=_0x5339b8[_0x41fd2c(0x2f3)](/\n(\s+)"/),_0x3e86b5=_0x5039ee?.[0x1]??'\x20\x20',_0x409613=_0x5339b8[_0x41fd2c(0xaa5)]('\x0a'),_0x4ad134=JSON[_0x41fd2c(0x312)](_0x27272e,null,_0x3e86b5);return _0x409613?_0x4ad134+'\x0a':_0x4ad134;}var _0x1157af='Remove\x20the\x20ceraph\x20scheme\x20from\x20ios/<App>/Info.plist\x20CFBundleURLTypes\x20and\x20android/app/src/main/AndroidManifest.xml.\x20Both\x20files\x20were\x20never\x20written\x20by\x20init\x20—\x20they\x20require\x20manual\x20edits\x20because\x20they\x20are\x20inside\x20the\x20customer\x27s\x20native\x20project\x20tree.';function _0x55c636(_0x166ea0){return'Your\x20project\x20uses\x20'+_0x166ea0+'\x20(dynamic\x20Expo\x20config).\x20The\x20init\x20walkthrough\x20never\x20edited\x20this\x20file\x20automatically;\x20if\x20you\x20(or\x20a\x20teammate)\x20added\x20`ceraph`\x20to\x20its\x20`scheme`\x20value,\x20remove\x20that\x20entry\x20by\x20hand.\x20After\x20editing,\x20run\x20`expo\x20prebuild\x20--clean`\x20or\x20restart\x20the\x20dev\x20client.';}async function _0x13a5cb(_0x982c77,_0x53a3af={}){const _0x159a7c=_0xf8ecb6,_0x82bae8=_0x53a3af[_0x159a7c(0x753)]??_0x5c2ca7,_0x4ed79b=_0x53a3af['readFile']??(_0x14fbe4=>_0x17194c(_0x14fbe4,'utf-8')),_0x57d880=_0x53a3af[_0x159a7c(0x865)]??((_0xb85a55,_0x36e7f1)=>_0x403629(_0xb85a55,_0x36e7f1,'utf-8')),_0x3dfca8=_0x33ccf3(_0x982c77,_0x159a7c(0x8fb)),_0x24e007=_0x33ccf3(_0x982c77,'app.config.js'),_0x4a1e83=_0x33ccf3(_0x982c77,_0x159a7c(0x892)),_0x22287e=_0x33ccf3(_0x982c77,_0x159a7c(0x6c9)),_0x1f32bd=_0x33ccf3(_0x982c77,'android'),_0x581007=await _0x82bae8(_0x24e007),_0x411402=await _0x82bae8(_0x4a1e83);if(_0x581007||_0x411402){const _0x4da94e=_0x411402?_0x4a1e83:_0x24e007;return{'status':'manual','kind':_0x159a7c(0xa8c),'path':_0x4da94e,'remediation':_0x55c636(_0x4da94e)};}if(await _0x82bae8(_0x3dfca8)){const _0x24655d=await _0x4ed79b(_0x3dfca8),_0x5d6a09=_0x4d36d1(_0x24655d);if(!_0x5d6a09)return{'status':'already-reverted','path':_0x3dfca8};const {changed:_0x256666,previousScheme:_0x359eab,nextScheme:_0x44a57b}=_0x1e3d10(_0x5d6a09);if(!_0x256666)return'xLSQY'===_0x159a7c(0x7a9)?{'ok':![],'error':'Failed\x20to\x20create\x20output\x20directory:\x20'+_0x3be4ad(_0xfb815c)}:{'status':'already-reverted','path':_0x3dfca8};return await _0x57d880(_0x3dfca8,_0x594eff(_0x5d6a09,_0x24655d)),{'status':'reverted','path':_0x3dfca8,'previousScheme':_0x359eab,'nextScheme':_0x44a57b};}if(await _0x82bae8(_0x22287e)||await _0x82bae8(_0x1f32bd))return{'status':_0x159a7c(0x6c7),'kind':_0x159a7c(0xacf),'remediation':_0x1157af};return{'status':_0x159a7c(0x9ab)};}import{access as _0x9c284b,readFile as _0x341e44,unlink as _0x201d6a}from'fs/promises';import{join as _0x4c6df9}from'path';async function _0x2443b2(_0x3b60af){try{return await _0x9c284b(_0x3b60af),!![];}catch{return![];}}async function _0x14cdc7(_0x25f3ac,_0x5d9f4f={}){const _0x392470=_0xf8ecb6,_0x25fb9d=_0x5d9f4f[_0x392470(0x4e4)]??(_0x558fe9=>_0x341e44(_0x558fe9,_0x392470(0x827))),_0x2d0834=_0x5d9f4f[_0x392470(0x865)]??_0x18b8bb,_0x40e220=_0x5d9f4f[_0x392470(0xa91)]??(_0xc9c36c=>_0x201d6a(_0xc9c36c)),_0x2e3204=_0x5d9f4f['fileExists']??_0x2443b2,_0x28afb1=[{'scriptAbsPath':_0x4c6df9(_0x25f3ac['projectDir'],..._0x1d2d25),'canonicalScript':_0x3a31aa,'matcher':_0x5d6baa,'command':_0x9ef03b},{'scriptAbsPath':_0x4c6df9(_0x25f3ac['projectDir'],..._0x19d4a3),'canonicalScript':_0x210ef1,'matcher':_0x484387,'command':_0x57c4e1}],_0x4ada8d=[],_0x5e1a1c=[];for(const _0x4ebf1b of _0x28afb1){if(!await _0x2e3204(_0x4ebf1b[_0x392470(0x7e3)]))continue;let _0xe7b431;try{_0xe7b431=await _0x25fb9d(_0x4ebf1b['scriptAbsPath']);}catch{_0x5e1a1c[_0x392470(0x4d1)](_0x4ebf1b[_0x392470(0x7e3)]);continue;}_0xe7b431===_0x4ebf1b[_0x392470(0x2b2)]?(await _0x40e220(_0x4ebf1b['scriptAbsPath']),_0x4ada8d['push'](_0x4ebf1b[_0x392470(0x7e3)])):_0x5e1a1c[_0x392470(0x4d1)](_0x4ebf1b[_0x392470(0x7e3)]);}const _0x55472a=[],_0x6b86b2=[];for(const _0xfa238 of _0x4d498c){const _0x5a727d=_0x4c6df9(_0x25f3ac[_0x392470(0x9aa)],..._0xfa238);if(!await _0x2e3204(_0x5a727d))continue;let _0x18b52c;try{_0x18b52c=await _0x25fb9d(_0x5a727d);}catch{_0x6b86b2['push'](_0x5a727d);continue;}let _0x408294;try{_0x408294=JSON[_0x392470(0x981)](_0x18b52c);}catch{if(_0x392470(0x405)===_0x392470(0x4e9))_0x51b329(_0x3902f8[_0x2b9efc],_0x1514ae,[..._0x5b2aad,_0x376c8d]);else{_0x6b86b2['push'](_0x5a727d);continue;}}if(!_0x408294||typeof _0x408294!==_0x392470(0x9e3)||Array[_0x392470(0x200)](_0x408294)){_0x6b86b2['push'](_0x5a727d);continue;}const _0x41952f=_0x59da82(_0x408294,_0x28afb1);if(!_0x41952f['mutated']){_0x6b86b2[_0x392470(0x4d1)](_0x5a727d);continue;}const _0x42c473=_0x18b52c[_0x392470(0x2f3)](/\n(\s+)"/),_0x346ce8=_0x42c473?.[0x1]??'\x20\x20',_0x3a6cfb=_0x18b52c[_0x392470(0xaa5)]('\x0a'),_0xc5c6e5=JSON['stringify'](_0x41952f['next'],null,_0x346ce8);await _0x2d0834(_0x5a727d,_0x3a6cfb?_0xc5c6e5+'\x0a':_0xc5c6e5),_0x55472a['push'](_0x5a727d);}const _0x26f6f1=_0x4ada8d[_0x392470(0x3b7)]>0x0||_0x55472a['length']>0x0;let _0xdc6924;if(_0x5e1a1c[_0x392470(0x3b7)]>0x0)_0xdc6924='manual';else{if(_0x26f6f1){if(_0x392470(0x2b1)===_0x392470(0x2b1))_0xdc6924='reverted';else{const _0x445321=_0x210b0b['lastIndexOf']('.');if(_0x445321<=0x0)return null;const _0x244762=_0x159c4e['slice'](0x0,_0x445321),_0x49ccda=_0x52d088[_0x392470(0x795)](_0x445321)['toLowerCase']();if(!_0x14bc27(_0x49ccda))return null;if(_0x244762['length']===0x0)return null;return{'stem':_0x244762,'ext':_0x49ccda};}}else _0xdc6924=_0x392470(0x2be);}return{'status':_0xdc6924,'details':{'scriptsDeleted':_0x4ada8d,'scriptsLeftAlone':_0x5e1a1c,'settingsFilesModified':_0x55472a,'settingsFilesUntouched':_0x6b86b2}};}function _0x59da82(_0x4c40dd,_0x5c1f83){const _0x54feb2=_0xf8ecb6,_0x43155c=_0x4c40dd[_0x54feb2(0x845)];if(!_0x43155c||typeof _0x43155c!=='object'||Array['isArray'](_0x43155c))return{'mutated':![],'next':_0x4c40dd};const _0x43a83b=_0x43155c,_0x47a2b0=_0x43a83b[_0x54feb2(0x80a)];if(!Array['isArray'](_0x47a2b0))return{'mutated':![],'next':_0x4c40dd};const _0x500b39=new Map();for(const _0x23a12f of _0x5c1f83)_0x500b39[_0x54feb2(0x93e)](_0x23a12f['matcher'],_0x23a12f);const _0x4f4c12=[];let _0x4c5d86=![];for(const _0x496289 of _0x47a2b0){if(!_0x496289||typeof _0x496289!==_0x54feb2(0x9e3)||Array[_0x54feb2(0x200)](_0x496289)){_0x4f4c12['push'](_0x496289);continue;}const _0x41babc=_0x496289,_0x49476c=_0x41babc['matcher'];if(typeof _0x49476c!==_0x54feb2(0x30d)){if('ygAmR'===_0x54feb2(0xb05)){_0x4f4c12[_0x54feb2(0x4d1)](_0x496289);continue;}else{const _0x565c26=_0x1d4c58[_0x54feb2(0x708)]();if(_0x5d541a['isIdentifier'](_0x565c26)&&_0x565c26[_0x54feb2(0x3a0)]()===_0x240f46)return _0x54feb2(0xa6f);}}const _0x1fefa5=_0x500b39[_0x54feb2(0x3fd)](_0x49476c);if(!_0x1fefa5){_0x4f4c12[_0x54feb2(0x4d1)](_0x496289);continue;}const _0x14b186=_0x41babc[_0x54feb2(0x845)];if(!Array['isArray'](_0x14b186)){_0x4f4c12['push'](_0x496289);continue;}const _0x2a2cc7=[];let _0xeaef71=![];for(const _0x16e795 of _0x14b186){if(!_0x16e795||typeof _0x16e795!==_0x54feb2(0x9e3)||Array['isArray'](_0x16e795)){_0x2a2cc7['push'](_0x16e795);continue;}const _0x877e43=_0x16e795,_0x1448f9=_0x877e43[_0x54feb2(0xaee)];if(typeof _0x1448f9==='string'&&_0x1448f9===_0x1fefa5['command']){if('IYcxW'!==_0x54feb2(0x5e4)){_0xeaef71=!![];continue;}else{if(_0x597f78)return;_0x4c39cf=!![],_0x1e9151(_0x23fcb7),_0x113c76({'code':_0x4245c1??0x1,'stdout':_0x5b2154,'stderr':_0x267e36});}}_0x2a2cc7[_0x54feb2(0x4d1)](_0x16e795);}if(!_0xeaef71){_0x4f4c12[_0x54feb2(0x4d1)](_0x496289);continue;}_0x4c5d86=!![];if(_0x2a2cc7[_0x54feb2(0x3b7)]===0x0)continue;_0x4f4c12[_0x54feb2(0x4d1)]({..._0x41babc,'hooks':_0x2a2cc7});}if(!_0x4c5d86)return{'mutated':![],'next':_0x4c40dd};const _0x130316={..._0x43a83b};_0x4f4c12[_0x54feb2(0x3b7)]===0x0?delete _0x130316[_0x54feb2(0x80a)]:_0x130316[_0x54feb2(0x80a)]=_0x4f4c12;const _0x582bf1={..._0x4c40dd};return Object[_0x54feb2(0x8c1)](_0x130316)[_0x54feb2(0x3b7)]===0x0?delete _0x582bf1[_0x54feb2(0x845)]:_0x582bf1['hooks']=_0x130316,{'mutated':!![],'next':_0x582bf1};}import{writeFile as _0x5e58b2,readdir as _0x4d99f7}from'fs/promises';import{join as _0x1f6f53,relative as _0x334968,sep as _0x6a8c7e}from'path';var _0x52d0d1,_0x1217d9,_0x4bdf5c,_0x5958f1,_0xc1ef11=![];async function _0x22ef24(){const _0xe140a4=_0xf8ecb6;if(_0xc1ef11)return;const _0x27e517=await import(_0xe140a4(0x74a));({IndentationText:_0x52d0d1,Node:_0x1217d9,Project:_0x4bdf5c,SyntaxKind:_0x5958f1}=_0x27e517,_0xc1ef11=!![]);}var _0x4e8d22=_0xf8ecb6(0x431),_0x9b10ab=_0xf8ecb6(0x902),_0x3c7322=_0xf8ecb6(0x632),_0x49f8d0='CameraView',_0x3d5948=[_0xf8ecb6(0x7b4),_0xf8ecb6(0x7d2),_0xf8ecb6(0x9b8)],_0x17731b=new Set(['.tsx',_0xf8ecb6(0x73b)]),_0x57f67c=new Set(['node_modules',_0xf8ecb6(0xa00),'build',_0xf8ecb6(0x683),_0xf8ecb6(0x4b1),'.expo',_0xf8ecb6(0x2fb),'ios','android']);async function _0xc57702(_0x25e2a5){const _0x4c7b33=_0xf8ecb6,_0xcd8a6=[];async function _0x512eb5(_0x177a45){const _0x226b6a=_0xc050;let _0x232e92;try{_0x232e92=await _0x4d99f7(_0x177a45,{'withFileTypes':!![]});}catch{return;}for(const _0x5a8087 of _0x232e92){const _0x3a3dda=_0x1f6f53(_0x177a45,_0x5a8087[_0x226b6a(0x9e5)]);if(_0x5a8087['isDirectory']()){if(_0x57f67c[_0x226b6a(0x979)](_0x5a8087[_0x226b6a(0x9e5)]))continue;await _0x512eb5(_0x3a3dda);continue;}if(!_0x5a8087[_0x226b6a(0x237)]())continue;const _0x62d306=_0x5a8087[_0x226b6a(0x9e5)]['lastIndexOf']('.');if(_0x62d306<0x0)continue;const _0x22b93e=_0x5a8087[_0x226b6a(0x9e5)]['slice'](_0x62d306)[_0x226b6a(0x5b5)]();if(!_0x17731b['has'](_0x22b93e))continue;_0xcd8a6['push'](_0x3a3dda);}}for(const _0x40e150 of _0x3d5948){await _0x512eb5(_0x1f6f53(_0x25e2a5,_0x40e150));}for(const _0x58ceb3 of[_0x4c7b33(0x7b7),_0x4c7b33(0x46e)]){if(_0x4c7b33(0x681)==='nmvkN'){if(!_0x2ba9e4['isExpressionStatement'](_0x224ddf))return![];const _0x4db12f=_0x1e3e75[_0x4c7b33(0x708)]();if(!_0x2eac9d['isCallExpression'](_0x4db12f))return![];const _0x41716e=_0x4db12f[_0x4c7b33(0x708)]();return _0x269a9f[_0x4c7b33(0x9ce)](_0x41716e)&&_0x41716e['getText']()==='installCeraph';}else _0xcd8a6['push'](_0x1f6f53(_0x25e2a5,_0x58ceb3));}return _0xcd8a6;}function _0x5a917d(_0x1bdc08){const _0x438908=_0xf8ecb6,_0x344740=new _0x4bdf5c({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x52d0d1[_0x438908(0x76e)]}});for(const _0x4f5429 of _0x1bdc08){try{_0x344740[_0x438908(0x8d8)](_0x4f5429);}catch{}}return _0x344740;}function _0x3f547c(_0x4c61db,_0x167516){const _0x38bbcb=[];return _0x4c61db['forEachDescendant'](_0x43a934=>{const _0x47fc7f=_0xc050;if(_0x1217d9[_0x47fc7f(0x4e5)](_0x43a934)||_0x1217d9['isJsxSelfClosingElement'](_0x43a934)){const _0x564b7c=_0x43a934['getTagNameNode']();if(_0x564b7c['getText']()===_0x167516){if('tNdqJ'===_0x47fc7f(0x4fd))_0x38bbcb[_0x47fc7f(0x4d1)](_0x43a934);else{const _0x400d80=_0x12e7fa['objectiveSignals'][0x0];return _0x400d80['kind']+':\x20'+_0x400d80['message'];}}}}),_0x38bbcb;}function _0x3b02f7(_0x23ba4e){const _0x512101=_0x23ba4e['getAttributes']();for(const _0x2d8617 of _0x512101){if(_0x1217d9['isJsxAttribute'](_0x2d8617)){const _0x114ada=_0x2d8617['getNameNode']();_0x114ada['getText']()==='imageKey'&&_0x2d8617['remove']();}}}function _0xc0b0d6(_0x186597){const _0x7957cc=_0xf8ecb6;let _0x377922=0x0,_0x4f50a9=Number['POSITIVE_INFINITY'];for(let _0x259ba5=0x0;_0x259ba5<0x2710;_0x259ba5++){if('DGjQN'!==_0x7957cc(0x7a6))return this['mode'];else{const _0x42bb7d=_0x3f547c(_0x186597,_0x9b10ab);if(_0x42bb7d[_0x7957cc(0x3b7)]===0x0)break;if(_0x42bb7d[_0x7957cc(0x3b7)]>=_0x4f50a9)break;_0x4f50a9=_0x42bb7d[_0x7957cc(0x3b7)];const _0x4602ba=_0x42bb7d[0x0];_0x4602ba['getTagNameNode']()['replaceWithText'](_0x49f8d0);if(_0x1217d9[_0x7957cc(0x4e5)](_0x4602ba)){const _0x284715=_0x4602ba[_0x7957cc(0x3eb)](_0x5958f1['JsxElement']);if(_0x284715){const _0x108476=_0x284715[_0x7957cc(0x59e)]();_0x108476['getTagNameNode']()['replaceWithText'](_0x49f8d0);}}_0x3b02f7(_0x4602ba),_0x377922++;}}return _0x377922;}function _0x32fb2f(_0x22232b){const _0x31f50e=_0xf8ecb6,_0x5f4998=_0x22232b['getImportDeclaration'](_0x4e8d22);if(!_0x5f4998)return![];const _0x3f7d45=_0x5f4998['getNamedImports'](),_0x333c5b=_0x3f7d45[_0x31f50e(0x415)](_0x329850=>_0x329850['getName']()===_0x9b10ab);if(!_0x333c5b)return![];_0x333c5b[_0x31f50e(0x38a)]();const _0x5066eb=_0x5f4998['getNamedImports'](),_0x5e9d16=_0x5f4998['getDefaultImport']()!=null;return _0x5066eb['length']===0x0&&!_0x5e9d16&&_0x5f4998['remove'](),!![];}function _0x10e5bf(_0x150a1e){const _0xd26ce4=_0xf8ecb6,_0x7f4fa9=_0x150a1e[_0xd26ce4(0x560)](_0x3c7322);if(_0x7f4fa9){if('RchtF'===_0xd26ce4(0x7b3))return![];else{const _0x279e9b=_0x7f4fa9['getNamedImports']();if(_0x279e9b[_0xd26ce4(0x275)](_0x268615=>_0x268615[_0xd26ce4(0x385)]()===_0x49f8d0))return![];return _0x7f4fa9[_0xd26ce4(0xab6)](_0x49f8d0),!![];}}return _0x150a1e[_0xd26ce4(0x7d4)]({'moduleSpecifier':_0x3c7322,'namedImports':[_0x49f8d0]}),!![];}async function _0x295356(_0x3aa0cd){const _0x536870=_0xf8ecb6;await _0x22ef24();const _0x1ac2eb=await _0xc57702(_0x3aa0cd),_0x1e7be2=_0x5a917d(_0x1ac2eb),_0x31de60=[];let _0x49f15a=0x0;for(const _0x230c91 of _0x1e7be2['getSourceFiles']()){_0x49f15a++;const _0x245f33=_0x3f547c(_0x230c91,_0x9b10ab);if(_0x245f33['length']===0x0){const _0x4557c2=_0x230c91[_0x536870(0x560)](_0x4e8d22),_0x3b7527=_0x4557c2!=null&&_0x4557c2['getNamedImports']()['some'](_0x1bec05=>_0x1bec05[_0x536870(0x385)]()===_0x9b10ab);if(!_0x3b7527)continue;const _0x47308d=_0x32fb2f(_0x230c91);if(!_0x47308d)continue;const _0x43c4e6=_0x230c91['getFilePath']();await _0x5e58b2(_0x43c4e6,_0x230c91[_0x536870(0x8e7)](),'utf-8'),_0x31de60[_0x536870(0x4d1)]({'path':_0x43c4e6,'relPath':_0x334968(_0x3aa0cd,_0x43c4e6)['split'](_0x6a8c7e)['join']('/'),'ceraphCamerasRemoved':0x0,'importDropped':!![],'importRestored':![]});continue;}const _0x976130=_0xc0b0d6(_0x230c91),_0x2a3697=_0x3f547c(_0x230c91,_0x9b10ab),_0x55702a=_0x2a3697[_0x536870(0x3b7)]===0x0?_0x32fb2f(_0x230c91):![],_0x121d53=_0x3f547c(_0x230c91,_0x49f8d0)[_0x536870(0x3b7)]>0x0,_0x38da69=_0x121d53?_0x10e5bf(_0x230c91):![],_0x360830=_0x230c91['getFilePath']();await _0x5e58b2(_0x360830,_0x230c91['getFullText'](),_0x536870(0x827)),_0x31de60[_0x536870(0x4d1)]({'path':_0x360830,'relPath':_0x334968(_0x3aa0cd,_0x360830)['split'](_0x6a8c7e)[_0x536870(0x4ec)]('/'),'ceraphCamerasRemoved':_0x976130,'importDropped':_0x55702a,'importRestored':_0x38da69});}return{'files':_0x31de60,'filesScanned':_0x49f15a};}var _0x360291,_0x4fe7a9,_0x408f05=![];async function _0x58d0b2(){if(_0x408f05)return;const _0x2eb69b=await import('ts-morph');({Node:_0x360291,Project:_0x4fe7a9}=_0x2eb69b,_0x408f05=!![]);}var _0x4f103c=async _0x263fc=>({'exitCode':0x0});async function _0x552728(_0x25ce8b){const _0x4512f5=_0xf8ecb6,_0x1b037b=[],_0x51c7be=_0x47e2ea=>{const _0x4f407d=_0xc050;_0x1b037b['push'](_0x47e2ea),_0x25ce8b[_0x4f407d(0x966)]?.(_0x47e2ea);},_0x2abda3=await _0x489575(_0x25ce8b);if(_0x2abda3[_0x4512f5(0xb14)]==='error'){const _0xd15a53={'name':_0x4512f5(0x266),'status':'error','details':{'matches':_0x2abda3['matches']},'remediation':_0x2abda3[_0x4512f5(0x638)]};return _0x51c7be(_0xd15a53),_0x4648f1(_0x25ce8b[_0x4512f5(0x9aa)],_0x1b037b);}const _0x448591=_0x2abda3[_0x4512f5(0x288)],_0x2f24b0=_0x25ce8b[_0x4512f5(0xae2)]??_0x25ce8b['projectDir'],_0x2d737f=_0x25ce8b['dryRun']===!![],_0xbc4de=await _0x214009(_0x448591,_0x25ce8b,_0x2d737f);_0x51c7be(_0xbc4de);const _0xaa55d6=await _0x15884e(_0x448591,_0x25ce8b,_0x2d737f);_0x51c7be(_0xaa55d6);const _0x1b0a6f=await _0xd5391c(_0x448591,_0x25ce8b,_0x2d737f);_0x51c7be(_0x1b0a6f);const _0x295681=await _0x3d147b(_0x448591,_0x25ce8b,_0x2d737f);_0x51c7be(_0x295681);const _0x364437=await _0x5c3c04(_0x2f24b0,_0x25ce8b,_0x2d737f);_0x51c7be(_0x364437);const _0x31d19e=await _0x2baf23(_0x2f24b0,_0x25ce8b,_0x2d737f);_0x51c7be(_0x31d19e);const _0x499aea=await _0x1d3168(_0x448591,_0x25ce8b,_0x2d737f);_0x51c7be(_0x499aea);const _0x42a58d=await _0x4ea630(_0x25ce8b,_0x2d737f);_0x51c7be(_0x42a58d);const _0x4fa3a7=await _0x7365cf(_0x448591,_0x25ce8b,_0x2d737f);_0x51c7be(_0x4fa3a7);const _0x42a774=await _0x5de854(_0x25ce8b,_0x2d737f);_0x51c7be(_0x42a774);const _0x4dde4a=await _0x352e65(_0x448591,_0x25ce8b,_0x2d737f);return _0x51c7be(_0x4dde4a),_0x4648f1(_0x448591,_0x1b037b);}async function _0x489575(_0x32d6ac){const _0x5ee2c1=_0xf8ecb6,_0x286ca5=_0x32d6ac['detectMonorepo']??_0x534210,_0x91c1f7=await _0x286ca5(_0x32d6ac['projectDir']);if(_0x91c1f7['kind']===_0x5ee2c1(0x41a))return{'kind':'ok','workingDir':_0x32d6ac['projectDir']};if(_0x91c1f7['kind']==='single'){const _0x551bed=_0x91c1f7['matches'][0x0];if(!_0x551bed)return{'kind':'ok','workingDir':_0x32d6ac[_0x5ee2c1(0x9aa)]};return{'kind':'ok','workingDir':_0x551bed[_0x5ee2c1(0x8a9)]};}return{'kind':'error','matches':_0x91c1f7[_0x5ee2c1(0x764)]['map'](_0x53f492=>({'relPath':_0x53f492[_0x5ee2c1(0x87a)],'absPath':_0x53f492['absPath']})),'remediation':_0x5ee2c1(0x336)+(_0x91c1f7[_0x5ee2c1(0x764)][0x0]?.['relPath']??_0x5ee2c1(0xa49))+'`.'};}async function _0x214009(_0x3cef23,_0x5e1cc2,_0x185858){const _0x14f59d=_0xf8ecb6,_0x2b76c5=_0x5e1cc2['revertCamera']??_0x295356;if(_0x185858)try{const _0x33f6fb=await _0x57ba66(_0x3cef23,_0x2b76c5);return _0x3a0887(_0x33f6fb,{'dryRun':!![]});}catch(_0x171c74){return{'name':'camera','status':'error','details':{'error':_0x4a2c99(_0x171c74)},'remediation':'Dry-run\x20camera\x20preview\x20failed.\x20Re-run\x20without\x20--dry-run\x20after\x20fixing\x20the\x20error\x20above,\x20or\x20pass\x20--project-dir\x20if\x20the\x20path\x20is\x20wrong.'};}const _0x4108ee=new Map();try{const _0x16a88c=await _0x519fd2(_0x3cef23);for(const _0x4e8e9d of _0x16a88c){_0x4108ee[_0x14f59d(0x93e)](_0x4e8e9d,await _0x1558ea(_0x4e8e9d));}const _0x424114=await _0x2b76c5(_0x3cef23);return _0x3a0887(_0x424114,{'dryRun':![]});}catch(_0x53ac49){const _0x314c21=[];for(const [_0x3a25e0,_0x289463]of _0x4108ee){if(_0x289463==null)continue;try{await _0x4c580e(_0x3a25e0,_0x289463);}catch(_0x8bcd98){_0x314c21[_0x14f59d(0x4d1)](_0x3a25e0+':\x20'+_0x4a2c99(_0x8bcd98));}}const _0x18d524='Camera\x20revert\x20failed:\x20'+_0x4a2c99(_0x53ac49)+'.',_0x4af880=_0x314c21[_0x14f59d(0x3b7)]===0x0?_0x18d524+_0x14f59d(0x8da):_0x18d524+'\x20Some\x20files\x20could\x20not\x20be\x20restored:\x20'+_0x314c21[_0x14f59d(0x4ec)](';\x20');return{'name':'camera','status':_0x14f59d(0x3dd),'details':{'error':_0x4a2c99(_0x53ac49),'snapshotCount':_0x4108ee['size'],'restoreFailures':_0x314c21},'remediation':_0x4af880};}}function _0x3a0887(_0x503c8d,_0x3716e8){const _0x11b4fe=_0xf8ecb6,_0x82aa8d=_0x503c8d['files'][_0x11b4fe(0xad3)]((_0x3f593a,_0x5df0c8)=>_0x3f593a+_0x5df0c8['ceraphCamerasRemoved'],0x0),_0x32e762=_0x82aa8d;if(_0x503c8d['files']['length']===0x0)return{'name':'camera','status':_0x11b4fe(0x2be),'details':{'filesScanned':_0x503c8d[_0x11b4fe(0x5bf)],..._0x3716e8['dryRun']?{'dryRun':!![]}:{}}};const _0x27d754=_0x32e762>0x0?'warning':_0x11b4fe(0x654),_0x5dc0be={'name':_0x11b4fe(0x55e),'status':_0x27d754,'details':{'filesScanned':_0x503c8d['filesScanned'],'filesEdited':_0x503c8d[_0x11b4fe(0x939)][_0x11b4fe(0x86b)](_0x41f7ac=>_0x41f7ac['relPath']),'ceraphCamerasRemoved':_0x82aa8d,'importDropped':_0x503c8d[_0x11b4fe(0x939)][_0x11b4fe(0x529)](_0x7f368c=>_0x7f368c['importDropped'])[_0x11b4fe(0x3b7)],'importRestored':_0x503c8d['files'][_0x11b4fe(0x529)](_0x2bfc4f=>_0x2bfc4f[_0x11b4fe(0x69e)])['length'],'imageKeysStripped':_0x32e762,..._0x3716e8[_0x11b4fe(0x8b1)]?{'dryRun':!![]}:{}}};return _0x27d754==='warning'&&(_0x5dc0be['remediation']=_0x11b4fe(0x4cf)+_0x32e762+'\x20<CeraphCamera>\x20tag(s).\x20If\x20any\x20of\x20those\x20keys\x20were\x20customer-set\x20(not\x20Ceraph-generated),\x20re-apply\x20them\x20after\x20install\x20rebuilds\x20the\x20camera\x20surface.'),_0x5dc0be;}async function _0x519fd2(_0x605175){const _0x1a41cf=_0xf8ecb6,_0x3acf9c=['app',_0x1a41cf(0x7d2),_0x1a41cf(0x9b8)],_0xe8b76b=new Set(['.tsx','.jsx']),_0x16d43c=new Set(['node_modules','dist','build',_0x1a41cf(0x683),_0x1a41cf(0x4b1),_0x1a41cf(0x759),'.next','ios',_0x1a41cf(0x88d)]),_0x57e7ee=[],_0xdab3cf=async _0x4953f5=>{const _0x290597=_0x1a41cf;let _0x7b12fd;try{const {readdir:_0x543f67}=await import('fs/promises');_0x7b12fd=await _0x543f67(_0x4953f5,{'withFileTypes':!![]});}catch{return;}for(const _0x15b026 of _0x7b12fd){if(_0x15b026['isDirectory']()){if(_0x16d43c[_0x290597(0x979)](_0x15b026[_0x290597(0x9e5)]))continue;await _0xdab3cf(_0x2d1828(_0x4953f5,_0x15b026[_0x290597(0x9e5)]));continue;}if(!_0x15b026[_0x290597(0x237)]())continue;const _0x43877b=_0x15b026['name']['lastIndexOf']('.');if(_0x43877b<0x0)continue;const _0x3ae6ad=_0x15b026['name'][_0x290597(0x795)](_0x43877b)[_0x290597(0x5b5)]();if(!_0xe8b76b[_0x290597(0x979)](_0x3ae6ad))continue;_0x57e7ee['push'](_0x2d1828(_0x4953f5,_0x15b026['name']));}};for(const _0x4d0de9 of _0x3acf9c){await _0xdab3cf(_0x2d1828(_0x605175,_0x4d0de9));}for(const _0x392b85 of[_0x1a41cf(0x7b7),_0x1a41cf(0x46e)]){_0x57e7ee['push'](_0x2d1828(_0x605175,_0x392b85));}const _0x916ba9=[];for(const _0x4c124d of _0x57e7ee){if(_0x1a41cf(0x99e)!=='AAftb'){let _0x41247c;try{_0x41247c=await _0x27fc76(_0x4c124d,'utf-8');}catch{if('dpmNi'!==_0x1a41cf(0x7c8)){if(_0x44b9df instanceof _0xf48b41)return{..._0xd03d7c({'ok':![],'code':_0x5abdc9[_0x1a41cf(0x3aa)],'error':_0x50a39f[_0x1a41cf(0x531)]}),'isError':!![]};return{..._0x331782({'ok':![],'error':_0x1a41cf(0x3fc)+(_0x3176f4 instanceof _0x17f34f?_0x1e5b05['message']:_0x3495f9(_0x56c18a))}),'isError':!![]};}else continue;}if(_0x41247c[_0x1a41cf(0x27e)](_0x1a41cf(0x8f3)))_0x916ba9[_0x1a41cf(0x4d1)](_0x4c124d);}else return null;}return _0x916ba9;}async function _0x57ba66(_0x7d4ff7,_0x49e57a){const _0xb8b260=_0xf8ecb6,_0x13ca77=await _0x519fd2(_0x7d4ff7),_0x203de5=_0x2d1828(tmpdir(),'ceraph-uninstall-preview-'+Date[_0xb8b260(0x2f8)]()+'-'+Math['random']()[_0xb8b260(0xafa)](0x24)[_0xb8b260(0x795)](0x2));try{await _0x2fa3f7(_0x203de5,{'recursive':!![]});for(const _0x3d218b of _0x13ca77){const _0x245c31=_0x5740e3(_0x7d4ff7,_0x3d218b),_0x32589b=_0x2d1828(_0x203de5,_0x245c31);await _0x2fa3f7(_0x142654(_0x32589b),{'recursive':!![]}),await copyFile(_0x3d218b,_0x32589b);}return await _0x49e57a(_0x203de5);}finally{try{await _0x17cebd(_0x203de5,{'recursive':!![],'force':!![]});}catch{}}}async function _0x15884e(_0x12d320,_0x234c85,_0x2df7d6){const _0xd1a50a=_0xf8ecb6,_0x212eea=_0x234c85['revertBoot']??_0x4bab7c,_0x2a780f=_0x234c85[_0xd1a50a(0xa87)]??_0x32adb6;if(_0x2df7d6)try{const _0x4b6858=await _0x2a780f(_0x12d320);if(!_0x4b6858)return{'name':_0xd1a50a(0xa4c),'status':_0xd1a50a(0x2be),'details':{'reason':_0xd1a50a(0x3f5),'dryRun':!![]}};const _0x4a3d72=await _0x58f82b(_0x4b6858['filePath'],_0x12d320);try{const _0x5a7b13=await _0x212eea(_0x4a3d72['projectDir']);return await _0x1d9e87(_0x5a7b13,_0x12d320,_0x4b6858,_0x234c85,!![]);}finally{await _0x17cebd(_0x4a3d72[_0xd1a50a(0x30a)],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}catch(_0x3db864){return{'name':'boot','status':'error','details':{'error':_0x4a2c99(_0x3db864),'dryRun':!![]},'remediation':_0xd1a50a(0x906)};}try{if(_0xd1a50a(0x760)!==_0xd1a50a(0xab0)){const _0x44fa6c=await _0x212eea(_0x12d320),_0x79b6ca=_0x44fa6c['status']==='no-layout-found'?null:_0x44fa6c['target'];return await _0x1d9e87(_0x44fa6c,_0x12d320,_0x79b6ca,_0x234c85,![]);}else{_0x3b493f=!![];for(const _0x506226 of _0x122032(_0x2eed1b))_0x3e2cc9['add'](_0x506226);}}catch(_0x3bfb1b){return{'name':_0xd1a50a(0xa4c),'status':'error','details':{'error':_0x4a2c99(_0x3bfb1b)},'remediation':_0xd1a50a(0x7fe)};}}async function _0x1d9e87(_0x5f398e,_0x59d6a3,_0x39693b,_0x55cfbf,_0x544eeb){const _0x2ab71d=_0xf8ecb6;switch(_0x5f398e[_0x2ab71d(0x428)]){case _0x2ab71d(0x654):return{'name':'boot','status':_0x2ab71d(0x654),'details':{'target':_0x5f398e['target'],'removedUseEffect':_0x5f398e[_0x2ab71d(0x744)],'removedImport':_0x5f398e['removedImport'],..._0x544eeb?{'dryRun':!![]}:{}}};case _0x2ab71d(0x2be):return{'name':_0x2ab71d(0xa4c),'status':_0x2ab71d(0x2be),'details':{'target':_0x5f398e[_0x2ab71d(0xb00)],..._0x544eeb?{'dryRun':!![]}:{}}};case'no-layout-found':return{'name':_0x2ab71d(0xa4c),'status':'already-reverted','details':{'reason':'no\x20layout\x20file\x20detected',..._0x544eeb?{'dryRun':!![]}:{}}};case'skipped':{const _0x34eb05=await _0x4f1c8c(_0x5f398e[_0x2ab71d(0xb00)]['filePath']);return{'name':'boot','status':'manual','details':{'target':_0x5f398e[_0x2ab71d(0xb00)],'reason':_0x5f398e[_0x2ab71d(0x256)],'location':_0x34eb05[_0x2ab71d(0xab4)],'otherStatements':_0x34eb05[_0x2ab71d(0x76d)],..._0x34eb05[_0x2ab71d(0x8ca)]!==void 0x0?{'parseError':_0x34eb05['parseError']}:{},..._0x544eeb?{'dryRun':!![]}:{}},'remediation':_0x2ab71d(0x561)+_0x5f398e['target']['filePath']+(_0x34eb05[_0x2ab71d(0xab4)]?':'+_0x34eb05[_0x2ab71d(0xab4)]['line']:'')+').\x20Remove\x20the\x20`installCeraph()`\x20call\x20by\x20hand\x20without\x20dropping\x20your\x20own\x20code,\x20then\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.'+(_0x34eb05[_0x2ab71d(0x8ca)]!==void 0x0?'\x20(Note:\x20re-parse\x20failed\x20—\x20line\x20info\x20missing:\x20'+_0x34eb05[_0x2ab71d(0x8ca)]+')':'')};}}return{'name':_0x2ab71d(0xa4c),'status':'error','details':{'result':_0x5f398e},'remediation':_0x2ab71d(0x76b)};}async function _0x4f1c8c(_0x212087){const _0xe777f4=_0xf8ecb6;try{await _0x58d0b2();const _0x58bbc0=new _0x4fe7a9({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}}),_0x385747=_0x58bbc0[_0xe777f4(0x8d8)](_0x212087),_0x20b89a=_0x5a86de(_0x385747);if(!_0x20b89a)return{'location':null,'otherStatements':[]};const _0x4b5694=_0x20b89a['getBody']();if(!_0x4b5694||!_0x360291[_0xe777f4(0x44e)](_0x4b5694))return{'location':null,'otherStatements':[]};let _0x4f205f=null,_0x2a3249=[];return _0x4b5694['forEachDescendant'](_0x53deb5=>{const _0x58d4f1=_0xe777f4;if(_0x4f205f)return;if(!_0x360291[_0x58d4f1(0x503)](_0x53deb5))return;const _0x133ce2=_0x53deb5['getExpression']();if(!_0x360291['isIdentifier'](_0x133ce2)||_0x133ce2[_0x58d4f1(0x3a0)]()!=='useEffect')return;const _0x462a4f=_0x53deb5['getArguments'](),_0x3d7325=_0x462a4f[0x0];if(!_0x3d7325)return;if(!_0x360291['isArrowFunction'](_0x3d7325)&&!_0x360291[_0x58d4f1(0x2df)](_0x3d7325))return;const _0x30bdf5=_0x3d7325[_0x58d4f1(0x468)]();if(!_0x360291[_0x58d4f1(0x44e)](_0x30bdf5))return;const _0x59a616=_0x30bdf5['getStatements'](),_0x596b5b=[],_0x1b593c=[];for(const _0x482b43 of _0x59a616){if(_0x5f38ea(_0x482b43))_0x596b5b[_0x58d4f1(0x4d1)](_0x482b43);else _0x1b593c[_0x58d4f1(0x4d1)](_0x482b43);}_0x596b5b[_0x58d4f1(0x3b7)]>0x0&&_0x1b593c['length']>0x0&&(_0x4f205f={'line':_0x53deb5['getStartLineNumber']()},_0x2a3249=_0x1b593c[_0x58d4f1(0x86b)](_0x4d951a=>_0x4d951a['getText']()));}),{'location':_0x4f205f,'otherStatements':_0x2a3249};}catch(_0x1ab74b){return{'location':null,'otherStatements':[],'parseError':_0x4a2c99(_0x1ab74b)};}}function _0x5a86de(_0x563337){const _0x167d09=_0xf8ecb6;for(const _0xa97b34 of _0x563337[_0x167d09(0x51f)]()){if(_0xa97b34[_0x167d09(0x92d)]())return _0xa97b34;}const _0x526b46=_0x563337['getStatements']()['find'](_0x5eb8eb=>_0x360291[_0x167d09(0x3be)](_0x5eb8eb));if(_0x526b46&&_0x360291['isExportAssignment'](_0x526b46)){const _0x3447df=_0x526b46['getExpression']();if(_0x360291['isIdentifier'](_0x3447df)){const _0x1c3f4d=_0x3447df[_0x167d09(0x521)]();if(_0x1c3f4d){const _0x2f760b=_0x1c3f4d['getDeclarations']()[0x0];if(_0x2f760b&&_0x360291[_0x167d09(0xa77)](_0x2f760b)){const _0x58303e=_0x2f760b['getInitializer']();if(_0x58303e&&_0x360291[_0x167d09(0x282)](_0x58303e))return _0x58303e;if(_0x58303e&&_0x360291[_0x167d09(0x2df)](_0x58303e))return _0x58303e;}}}if(_0x360291['isArrowFunction'](_0x3447df))return _0x3447df;if(_0x360291[_0x167d09(0x2df)](_0x3447df))return _0x3447df;}return null;}function _0x5f38ea(_0x23b00d){const _0x10de53=_0xf8ecb6;if(!_0x360291['isExpressionStatement'](_0x23b00d))return![];const _0x4abfe0=_0x23b00d[_0x10de53(0x708)]();if(!_0x360291['isCallExpression'](_0x4abfe0))return![];const _0x222aae=_0x4abfe0[_0x10de53(0x708)]();return _0x360291['isIdentifier'](_0x222aae)&&_0x222aae[_0x10de53(0x3a0)]()==='installCeraph';}async function _0x3d147b(_0x263ab6,_0x52607b,_0x1e7f5a){const _0x4bbb31=_0xf8ecb6,_0x1390ab=_0x52607b[_0x4bbb31(0x3e3)]??_0x13a5cb;if(_0x1e7f5a)try{const _0x23b3d7=await _0x18ba08(_0x263ab6);try{const _0x472271=await _0x1390ab(_0x23b3d7['projectDir']);return _0x3ad99b(_0x472271,!![]);}finally{await _0x17cebd(_0x23b3d7[_0x4bbb31(0x30a)],{'recursive':!![],'force':!![]})[_0x4bbb31(0x48b)](()=>void 0x0);}}catch(_0x3fde84){return{'name':'scheme','status':_0x4bbb31(0x3dd),'details':{'error':_0x4a2c99(_0x3fde84),'dryRun':!![]}};}try{const _0xcbf63b=await _0x1390ab(_0x263ab6);return _0x3ad99b(_0xcbf63b,![]);}catch(_0x4c6f33){return{'name':_0x4bbb31(0xb27),'status':_0x4bbb31(0x3dd),'details':{'error':_0x4a2c99(_0x4c6f33)}};}}function _0x3ad99b(_0x2b3ec0,_0x3b9585){const _0x486134=_0xf8ecb6,_0x5ad71e=_0x3b9585?{'dryRun':!![]}:{};switch(_0x2b3ec0['status']){case _0x486134(0x654):return{'name':_0x486134(0xb27),'status':'reverted','details':{'path':_0x2b3ec0['path'],'previousScheme':_0x2b3ec0[_0x486134(0x68e)],'nextScheme':_0x2b3ec0['nextScheme'],..._0x5ad71e}};case'already-reverted':return{'name':'scheme','status':'already-reverted','details':{'path':_0x2b3ec0['path'],..._0x5ad71e}};case'manual':return{'name':'scheme','status':_0x486134(0x6c7),'details':{'kind':_0x2b3ec0[_0x486134(0xb14)],'path':_0x2b3ec0['path'],..._0x5ad71e},'remediation':_0x2b3ec0[_0x486134(0x638)]};case _0x486134(0x9ab):return{'name':_0x486134(0xb27),'status':_0x486134(0x2be),'details':{'reason':'no\x20RN\x20project\x20detected',..._0x5ad71e}};}}async function _0x18ba08(_0x47a267){const _0x2aabf5=_0xf8ecb6,_0x1e0158=_0x2d1828(tmpdir(),_0x2aabf5(0x5bb)+Date[_0x2aabf5(0x2f8)]()+'-'+Math[_0x2aabf5(0xafe)]()[_0x2aabf5(0xafa)](0x24)['slice'](0x2));return _0x2a7e5f(_0x1e0158,async()=>{const _0x1ad016=_0x2aabf5;await _0x2fa3f7(_0x1e0158,{'recursive':!![]});for(const _0x3a0378 of['app.json','app.config.js','app.config.ts']){const _0x3fd754=_0x2d1828(_0x47a267,_0x3a0378);try{await copyFile(_0x3fd754,_0x2d1828(_0x1e0158,_0x3a0378));}catch{}}for(const _0x5de431 of['ios',_0x1ad016(0x88d)]){try{await _0x44bc35(_0x2d1828(_0x47a267,_0x5de431)),await _0x2fa3f7(_0x2d1828(_0x1e0158,_0x5de431),{'recursive':!![]});}catch{}}return{'projectDir':_0x1e0158,'tmpRoot':_0x1e0158};});}async function _0x5c3c04(_0xf81df6,_0x49e123,_0x11ed16){const _0x361654=_0xf8ecb6,_0x516761=_0x49e123[_0x361654(0x9f7)]??_0x53f87e,_0x2deba4=_0x49e123['revertUserGlobalMcpClients']??_0xebaef1,_0x8f7e56=_0x49e123[_0x361654(0x93d)]?.();if(_0x11ed16){let _0x33b148=null,_0x2b9a70=null;try{_0x33b148=await _0x5048cd(_0xf81df6),_0x2b9a70=await _0x100fb7(_0x8f7e56);const _0x1f244e=await _0x516761(_0x33b148[_0x361654(0x9aa)]),_0x47cb5f=await _0x2deba4({'home':_0x2b9a70[_0x361654(0x39b)]});return _0x5b4fc3(_0x1f244e,_0x47cb5f,!![]);}catch(_0x2a6a21){return{'name':_0x361654(0x52e),'status':_0x361654(0x3dd),'details':{'error':_0x4a2c99(_0x2a6a21),'dryRun':!![]}};}finally{_0x33b148&&await _0x17cebd(_0x33b148['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0),_0x2b9a70&&await _0x17cebd(_0x2b9a70['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}try{const _0xcd5cb=await _0x516761(_0xf81df6),_0x449dba=await _0x2deba4({'home':_0x8f7e56});return _0x5b4fc3(_0xcd5cb,_0x449dba,![]);}catch(_0x11bfc3){return{'name':_0x361654(0x52e),'status':_0x361654(0x3dd),'details':{'error':_0x4a2c99(_0x11bfc3)}};}}function _0x5b4fc3(_0x1d688a,_0x3a47f4,_0x10cdbc){const _0x5a1364=_0xf8ecb6,_0x1ce9e7=[..._0x1d688a[_0x5a1364(0x939)],..._0x3a47f4[_0x5a1364(0x939)]],_0x3dca64=_0x1ce9e7['filter'](_0x430faa=>_0x430faa[_0x5a1364(0x428)]===_0x5a1364(0x63d)||_0x430faa[_0x5a1364(0x428)]==='deleted-file'),_0xa9bff3=_0x10cdbc?{'dryRun':!![]}:{};if(_0x3dca64['length']===0x0)return{'name':_0x5a1364(0x52e),'status':_0x5a1364(0x2be),'details':{'files':_0x1d688a[_0x5a1364(0x939)],'userGlobalFiles':_0x3a47f4['files'],..._0xa9bff3}};return{'name':_0x5a1364(0x52e),'status':'reverted','details':{'files':_0x1d688a['files'],'userGlobalFiles':_0x3a47f4['files'],'touched':_0x3dca64['length'],..._0xa9bff3}};}async function _0x5048cd(_0x413ef3){const _0x3817b3=_0xf8ecb6,_0x1ccb05=_0x2d1828(tmpdir(),_0x3817b3(0x207)+Date[_0x3817b3(0x2f8)]()+'-'+Math['random']()[_0x3817b3(0xafa)](0x24)['slice'](0x2));return _0x2a7e5f(_0x1ccb05,async()=>{const _0x3dcac9=_0x3817b3;await _0x2fa3f7(_0x1ccb05,{'recursive':!![]});const _0x1852f6=[_0x3dcac9(0x5ec),_0x2d1828('.cursor','mcp.json'),_0x2d1828(_0x3dcac9(0x752),_0x3dcac9(0xab3)),_0x2d1828(_0x3dcac9(0x323),_0x3dcac9(0x9e2)),_0x2d1828('.claude','settings.local.json')];for(const _0x1880e2 of _0x1852f6){const _0xf3b054=_0x2d1828(_0x413ef3,_0x1880e2),_0x4e4a83=_0x2d1828(_0x1ccb05,_0x1880e2);try{await _0x2fa3f7(_0x142654(_0x4e4a83),{'recursive':!![]}),await copyFile(_0xf3b054,_0x4e4a83);}catch{}}return{'projectDir':_0x1ccb05,'tmpRoot':_0x1ccb05};});}async function _0x100fb7(_0x1dfe00){const _0x2f54a0=_0xf8ecb6,_0x20aa51=_0x2d1828(tmpdir(),'ceraph-uninstall-mcp-global-preview-'+Date[_0x2f54a0(0x2f8)]()+'-'+Math['random']()[_0x2f54a0(0xafa)](0x24)[_0x2f54a0(0x795)](0x2));return _0x2a7e5f(_0x20aa51,async()=>{const _0x54ddfb=_0x2f54a0;if('FbgaO'===_0x54ddfb(0x592))return{'success':!![],'transport':'wda'};else{const _0x407433=_0x2d1828(_0x20aa51,'home');await _0x2fa3f7(_0x407433,{'recursive':!![]});const _0x184c9d=_0x3c12ca(_0x1dfe00);for(let _0x2a066f=0x0;_0x2a066f<_0x3246c9['length'];_0x2a066f++){const _0x565041=_0x3246c9[_0x2a066f],_0x595711=_0x184c9d[_0x2a066f];if(!_0x565041||!_0x595711)continue;const _0x2ee065=_0x2d1828(_0x407433,..._0x565041[_0x54ddfb(0x448)]);try{if('ZignH'===_0x54ddfb(0x987))await _0x2fa3f7(_0x142654(_0x2ee065),{'recursive':!![]}),await copyFile(_0x595711['path'],_0x2ee065);else return{'ok':!![],'severity':_0x54ddfb(0x3dd),'message':_0x54ddfb(0x758)+_0x4fa7ad[_0x54ddfb(0x35b)]+').','details':{'lockState':_0x368505['lockState']}};}catch{}}return{'tmpHome':_0x407433,'tmpRoot':_0x20aa51};}});}async function _0x2baf23(_0xf78ba8,_0x50e548,_0x1856f2){const _0x548617=_0xf8ecb6,_0x1805a8=_0x50e548[_0x548617(0x4db)]??_0x14cdc7;if(_0x1856f2)try{const _0x14eb46=await _0xb0f49f(_0xf78ba8);try{const _0x5d3cd8=await _0x1805a8({'projectDir':_0x14eb46[_0x548617(0x9aa)]});return _0x1957c7(_0x5d3cd8,!![]);}finally{await _0x17cebd(_0x14eb46[_0x548617(0x30a)],{'recursive':!![],'force':!![]})[_0x548617(0x48b)](()=>void 0x0);}}catch(_0x785559){return{'name':'claude-hooks','status':_0x548617(0x3dd),'details':{'error':_0x4a2c99(_0x785559),'dryRun':!![]}};}try{const _0x1dd6a6=await _0x1805a8({'projectDir':_0xf78ba8});return _0x1957c7(_0x1dd6a6,![]);}catch(_0x2589c9){return _0x548617(0x9ff)==='rYjyL'?{'name':'claude-hooks','status':_0x548617(0x3dd),'details':{'error':_0x4a2c99(_0x2589c9)}}:{..._0x12bb83({'ok':![],'error':_0x50bc58}),'isError':!![]};}}function _0x1957c7(_0x34e67a,_0x23a8cf){const _0x47bccb=_0xf8ecb6,_0x21152=_0x23a8cf?{'dryRun':!![]}:{};switch(_0x34e67a[_0x47bccb(0x428)]){case _0x47bccb(0x654):return{'name':'claude-hooks','status':'reverted','details':{..._0x34e67a['details'],..._0x21152}};case _0x47bccb(0x2be):return{'name':_0x47bccb(0x3b1),'status':'already-reverted','details':{..._0x34e67a[_0x47bccb(0x65d)],..._0x21152}};case'manual':return{'name':_0x47bccb(0x3b1),'status':'manual','details':{..._0x34e67a['details'],..._0x21152},'remediation':'Hook\x20script(s)\x20were\x20customized\x20after\x20init\x20wrote\x20them,\x20so\x20the\x20reverter\x20left\x20them\x20in\x20place:\x20'+_0x34e67a['details'][_0x47bccb(0x84e)]['join'](',\x20')+_0x47bccb(0x788)+(_0x34e67a['details'][_0x47bccb(0x85d)]['length']>0x0?'were\x20removed\x20from\x20'+_0x34e67a['details'][_0x47bccb(0x85d)]['join'](',\x20')+'.':'were\x20not\x20touched\x20in\x20this\x20run.')};case'skipped':return{'name':'claude-hooks','status':'skipped','details':{..._0x34e67a['details'],..._0x21152}};}}async function _0xb0f49f(_0x3f28ba){const _0xf9ee0c=_0xf8ecb6,_0x388063=_0x2d1828(tmpdir(),_0xf9ee0c(0x29b)+Date[_0xf9ee0c(0x2f8)]()+'-'+Math['random']()[_0xf9ee0c(0xafa)](0x24)[_0xf9ee0c(0x795)](0x2));return _0x2a7e5f(_0x388063,async()=>{const _0x3dbda2=_0xf9ee0c;await _0x2fa3f7(_0x388063,{'recursive':!![]});const _0x3a2537=[_0x2d1828(_0x3dbda2(0x3fe),'hooks','rn-error-notify.sh'),_0x2d1828('.claude',_0x3dbda2(0x845),_0x3dbda2(0x97b)),_0x2d1828(_0x3dbda2(0x3fe),'settings.json'),_0x2d1828(_0x3dbda2(0x3fe),_0x3dbda2(0x5ea))];for(const _0x4acbfb of _0x3a2537){const _0x1d57b8=_0x2d1828(_0x3f28ba,_0x4acbfb),_0x19a0ef=_0x2d1828(_0x388063,_0x4acbfb);try{await _0x2fa3f7(_0x142654(_0x19a0ef),{'recursive':!![]}),await copyFile(_0x1d57b8,_0x19a0ef);}catch{}}return{'projectDir':_0x388063,'tmpRoot':_0x388063};});}async function _0x1d3168(_0x5cb947,_0x327e0f,_0x1738d5){const _0x270e00=_0xf8ecb6,_0x508071=_0x327e0f[_0x270e00(0x26f)]??_0x4a786e;if(_0x1738d5){const _0x5785a7=_0x2d1828(tmpdir(),'ceraph-uninstall-gitignore-preview-'+Date[_0x270e00(0x2f8)]()+'-'+Math['random']()[_0x270e00(0xafa)](0x24)['slice'](0x2));try{try{await _0x2fa3f7(_0x5785a7,{'recursive':!![]});try{await copyFile(_0x2d1828(_0x5cb947,_0x270e00(0x39c)),_0x2d1828(_0x5785a7,_0x270e00(0x39c)));}catch{}for(const _0x17d8e5 of[_0x270e00(0x383),_0x270e00(0x813)]){try{if('MPgMq'!==_0x270e00(0x437))await copyFile(_0x2d1828(_0x5cb947,_0x17d8e5),_0x2d1828(_0x5785a7,_0x17d8e5));else return null;}catch{}}const _0x58d58e=await _0x508071(_0x5785a7);return _0x1266c7(_0x58d58e,!![]);}finally{if('nvuZb'!=='nvuZb'){if(_0x3a4192[_0x270e00(0x746)](_0x215f2c)){const _0x4578f1=_0x74b327[_0x270e00(0x795)](_0xdb1d2a[_0x270e00(0x3b7)]+0x1);return _0x4578f1['length']>0x0?_0x4578f1:_0x3a9ab5;}return _0xa1b61f;}else await _0x17cebd(_0x5785a7,{'recursive':!![],'force':!![]})[_0x270e00(0x48b)](()=>void 0x0);}}catch(_0x5f396d){return{'name':_0x270e00(0x7dd),'status':'error','details':{'error':_0x4a2c99(_0x5f396d),'dryRun':!![]}};}}try{const _0x55b368=await _0x508071(_0x5cb947);return _0x1266c7(_0x55b368,![]);}catch(_0x3dde0d){return{'name':_0x270e00(0x7dd),'status':_0x270e00(0x3dd),'details':{'error':_0x4a2c99(_0x3dde0d)}};}}function _0x1266c7(_0x47af03,_0x2bf48d){const _0x5498b8=_0xf8ecb6,_0x4e2d23=_0x2bf48d?{'dryRun':!![]}:{},_0x9001f6=_0x47af03[_0x5498b8(0x84c)];switch(_0x47af03['status']){case'reverted':return{'name':'gitignore','status':'reverted','details':{'path':_0x47af03['path'],'removedLines':_0x47af03['removedLines'],'removedRuntimeFiles':_0x9001f6,..._0x4e2d23}};case _0x5498b8(0x2be):return{'name':'gitignore','status':_0x9001f6[_0x5498b8(0x3b7)]>0x0?_0x5498b8(0x654):'already-reverted','details':{'path':_0x47af03['path'],'removedRuntimeFiles':_0x9001f6,..._0x4e2d23}};case _0x5498b8(0x85f):return{'name':'gitignore','status':_0x9001f6[_0x5498b8(0x3b7)]>0x0?'reverted':_0x5498b8(0x2be),'details':{'reason':'no\x20.gitignore','removedRuntimeFiles':_0x9001f6,..._0x4e2d23}};}}async function _0x4ea630(_0x46304d,_0x4e34ab){const _0x396743=_0xf8ecb6,_0x50f29d=_0x46304d['revertSignalHostEnv']??_0xa7340d,_0x43aa6d=_0x46304d[_0x396743(0x93d)]?.();if(_0x4e34ab)try{const _0x4c624e=await _0x12a62a(_0x43aa6d);try{const _0x4ca810=await _0x50f29d({'home':_0x4c624e['tmpHome']});return _0x2953b5(_0x4ca810,!![]);}finally{await _0x17cebd(_0x4c624e[_0x396743(0x30a)],{'recursive':!![],'force':!![]})[_0x396743(0x48b)](()=>void 0x0);}}catch(_0x2de315){return{'name':'signal-host','status':'error','details':{'error':_0x4a2c99(_0x2de315),'dryRun':!![]}};}try{const _0x47aa73=await _0x50f29d({'home':_0x43aa6d});return _0x2953b5(_0x47aa73,![]);}catch(_0x3bf291){return{'name':'signal-host','status':_0x396743(0x3dd),'details':{'error':_0x4a2c99(_0x3bf291)}};}}function _0x2953b5(_0x135105,_0x44386e){const _0x2b357f=_0xf8ecb6,_0x85adb9=_0x44386e?{'dryRun':!![]}:{};switch(_0x135105['status']){case'reverted':return{'name':'signal-host','status':_0x2b357f(0x654),'details':{'path':_0x135105[_0x2b357f(0x2c7)],'shell':_0x135105['shell'],'removedIp':_0x135105[_0x2b357f(0x828)],..._0x85adb9}};case _0x2b357f(0x2be):return{'name':_0x2b357f(0x3ed),'status':'already-reverted','details':{'path':_0x135105[_0x2b357f(0x2c7)],'shell':_0x135105[_0x2b357f(0xa6c)],..._0x85adb9}};case'no-profile':return{'name':_0x2b357f(0x3ed),'status':_0x2b357f(0x2be),'details':{'reason':_0x2b357f(0x2ff),'path':_0x135105['path'],..._0x85adb9}};}}async function _0x12a62a(_0xca76ce){const _0x24cd5d=_0xf8ecb6,_0x14d110=_0xca76ce??_0x351567(),_0x2a63b9=_0x2d1828(tmpdir(),_0x24cd5d(0x61c)+Date['now']()+'-'+Math['random']()[_0x24cd5d(0xafa)](0x24)['slice'](0x2));return _0x2a7e5f(_0x2a63b9,async()=>{const _0x3b5578=_0x24cd5d,_0x53c0a6=_0x2d1828(_0x2a63b9,_0x3b5578(0xa4a));await _0x2fa3f7(_0x53c0a6,{'recursive':!![]});for(const _0x4ee6ea of[_0x3b5578(0x34c),'.bashrc']){if(_0x3b5578(0x2ad)!=='NUUYx'){if(_0x10b222===null)return null;try{return _0x360023['parse'](_0x303fdd);}catch{return null;}}else try{await copyFile(_0x2d1828(_0x14d110,_0x4ee6ea),_0x2d1828(_0x53c0a6,_0x4ee6ea));}catch{}}return{'tmpHome':_0x53c0a6,'tmpRoot':_0x2a63b9};});}async function _0x7365cf(_0x1a95a8,_0xf8a505,_0x2a7ebe){const _0x33182e=_0xf8ecb6,_0x42c155=_0xf8a505['revertCeraphDir']??_0x1cb81e;if(!_0xf8a505[_0x33182e(0x2c6)]){if('DpsvX'!=='dwTfh')try{const _0x3255c6=await _0x42c155({'projectDir':_0x1a95a8,'confirm':![]});if(_0x3255c6['status']===_0x33182e(0x2be))return{'name':_0x33182e(0x26e),'status':'already-reverted','details':{'path':_0x3255c6[_0x33182e(0x2c7)],..._0x2a7ebe?{'dryRun':!![]}:{}}};if(_0x3255c6['status']===_0x33182e(0x6e1))return{'name':'ceraph-dir','status':_0x33182e(0x965),'details':{'path':_0x3255c6['path'],'paths':_0x3255c6['paths'],..._0x2a7ebe?{'dryRun':!![]}:{}},'remediation':_0x33182e(0x338)};return{'name':'ceraph-dir','status':_0x33182e(0x3dd),'details':{'unexpectedStatus':_0x3255c6[_0x33182e(0x428)],..._0x2a7ebe?{'dryRun':!![]}:{}},'remediation':'ceraph-dir\x20preview\x20returned\x20an\x20unexpected\x20status;\x20pass\x20--purge-images\x20explicitly\x20to\x20delete\x20.ceraph/.'};}catch(_0x2932d4){return{'name':'ceraph-dir','status':_0x33182e(0x3dd),'details':{'error':_0x4a2c99(_0x2932d4),..._0x2a7ebe?{'dryRun':!![]}:{}}};}else return{'entry':null,'advisedStatus':_0x576cfb};}if(_0x2a7ebe)try{const _0xd738ce=await _0x42c155({'projectDir':_0x1a95a8,'confirm':![]});if(_0xd738ce['status']===_0x33182e(0x2be)){if('gztOT'!=='gztOT')_0x54699a['push']({'type':_0x33182e(0x3e0),'text':_0x2a15a7});else return{'name':_0x33182e(0x26e),'status':_0x33182e(0x2be),'details':{'path':_0xd738ce[_0x33182e(0x2c7)],'dryRun':!![]}};}if(_0xd738ce['status']==='skipped-needs-confirmation')return{'name':'ceraph-dir','status':_0x33182e(0x654),'details':{'path':_0xd738ce['path'],'paths':_0xd738ce[_0x33182e(0x5f5)],'dryRun':!![]}};return{'name':_0x33182e(0x26e),'status':_0x33182e(0x3dd),'details':{'unexpectedStatus':_0xd738ce[_0x33182e(0x428)],'dryRun':!![]}};}catch(_0x4af8a4){return{'name':_0x33182e(0x26e),'status':_0x33182e(0x3dd),'details':{'error':_0x4a2c99(_0x4af8a4),'dryRun':!![]}};}try{const _0x4a66f4=await _0x42c155({'projectDir':_0x1a95a8,'confirm':!![]});switch(_0x4a66f4['status']){case'deleted':return{'name':_0x33182e(0x26e),'status':_0x33182e(0x654),'details':{'path':_0x4a66f4[_0x33182e(0x2c7)],'deletedEntries':_0x4a66f4['deletedEntries']}};case _0x33182e(0x2be):return{'name':'ceraph-dir','status':_0x33182e(0x2be),'details':{'path':_0x4a66f4['path']}};case'skipped-needs-confirmation':return{'name':'ceraph-dir','status':'skipped','details':{'path':_0x4a66f4[_0x33182e(0x2c7)],'unexpected':!![]}};}}catch(_0x5b4f65){return{'name':_0x33182e(0x26e),'status':_0x33182e(0x3dd),'details':{'error':_0x4a2c99(_0x5b4f65)}};}}async function _0x5de854(_0x136203,_0x35e42d){const _0x211edd=_0xf8ecb6,_0x534923=_0x136203['revertAuth']??_0x5f4322,_0x4c788b=_0x136203['homeDir']?.();if(!_0x136203['global'])try{const _0xd373f3=await _0x534923({'global':![]},{'home':_0x4c788b});return{'name':_0x211edd(0x309),'status':_0x211edd(0x965),'details':{'path':_0xd373f3['path'],..._0x35e42d?{'dryRun':!![]}:{}},'remediation':'Re-run\x20with\x20--global\x20to\x20delete\x20~/.ceraph/auth.json.\x20Note:\x20this\x20token\x20is\x20shared\x20across\x20every\x20Ceraph\x20install\x20on\x20this\x20machine\x20—\x20removing\x20it\x20logs\x20you\x20out\x20everywhere.'};}catch(_0x36735b){return{'name':'auth','status':'error','details':{'error':_0x4a2c99(_0x36735b),..._0x35e42d?{'dryRun':!![]}:{}}};}if(_0x35e42d){if('wXXXu'!==_0x211edd(0x469))_0x14ae78=_0x38d88d('xcodebuild',['-showBuildSettings',_0x211edd(0x9b2),'-project',_0x440646],{'cwd':_0x110c66,'stdio':['ignore','pipe','ignore']});else try{const _0x1ceece=_0x4c788b??_0x351567(),_0x34189a=_0x2d1828(_0x1ceece,'.ceraph','auth.json');let _0xbc7b7c=![];try{await _0x44bc35(_0x34189a),_0xbc7b7c=!![];}catch{_0xbc7b7c=![];}return{'name':'auth','status':_0xbc7b7c?_0x211edd(0x654):_0x211edd(0x2be),'details':{'path':_0x34189a,'dryRun':!![],'wouldDelete':_0xbc7b7c}};}catch(_0xfb239c){return{'name':_0x211edd(0x309),'status':'error','details':{'error':_0x4a2c99(_0xfb239c),'dryRun':!![]}};}}try{const _0x3b87ba=await _0x534923({'global':!![]},{'home':_0x4c788b});switch(_0x3b87ba[_0x211edd(0x428)]){case'deleted':return{'name':_0x211edd(0x309),'status':'reverted','details':{'path':_0x3b87ba[_0x211edd(0x2c7)]}};case'already-reverted':return{'name':_0x211edd(0x309),'status':_0x211edd(0x2be),'details':{'path':_0x3b87ba['path']}};case _0x211edd(0x965):return{'name':'auth','status':'skipped','details':{'path':_0x3b87ba['path'],'unexpected':!![]}};}}catch(_0x1d5a8c){if('AbphC'!=='lxjgh')return{'name':'auth','status':_0x211edd(0x3dd),'details':{'error':_0x4a2c99(_0x1d5a8c)}};else{const _0x4a3da3=_0x723b1d[_0x211edd(0x3d5)]();!_0x4a3da3['some'](_0x209d5f=>_0x209d5f['getName']()===_0x945464)&&_0x1ab0db['addNamedImport'](_0xe76a65);}}}async function _0x352e65(_0xbdf33a,_0x308cac,_0x44b33e){const _0x3580d2=_0xf8ecb6,_0x10366f=_0x308cac[_0x3580d2(0x99a)]??_0x41e75a,_0x5657aa=_0x308cac['spawnRemove'];if(_0x44b33e)try{if(_0x3580d2(0x7de)!=='rDjWo'){const [_0x560c28,_0x289146]=_0x623f5['size']<=_0x16c146['size']?[_0x4d54d6,_0x10f1bf]:[_0x511722,_0x33e712];for(const _0x6fdd5b of _0x560c28['keys']()){if(_0x289146['has'](_0x6fdd5b))return!![];}return![];}else{const _0x4cfbc2=await _0x10366f(_0xbdf33a,{'spawnRemove':_0x4f103c});return _0x1548d1(_0x4cfbc2,!![]);}}catch(_0xb60e7a){return{'name':_0x3580d2(0x420),'status':'error','details':{'error':_0x4a2c99(_0xb60e7a),'dryRun':!![]}};}try{const _0x2b0387=await _0x10366f(_0xbdf33a,_0x5657aa?{'spawnRemove':_0x5657aa}:{});return _0x1548d1(_0x2b0387,![]);}catch(_0x111cf4){return{'name':_0x3580d2(0x420),'status':'error','details':{'error':_0x4a2c99(_0x111cf4)}};}}function _0x1548d1(_0x4490e2,_0x4642ec){const _0x3477a7=_0xf8ecb6,_0x25cd17=_0x4642ec?{'dryRun':!![]}:{};switch(_0x4490e2[_0x3477a7(0x428)]){case _0x3477a7(0x62c):return{'name':_0x3477a7(0x420),'status':'reverted','details':{'packageManager':_0x4490e2['pm'],'removedPackages':_0x4490e2['removedPackages'],'command':_0x4490e2['command'],..._0x25cd17}};case'nothing-to-remove':return{'name':'package','status':'already-reverted','details':{'packageManager':_0x4490e2['pm'],..._0x25cd17}};case _0x3477a7(0x9b7):return{'name':'package','status':'error','details':{'packageManager':_0x4490e2['pm'],'command':_0x4490e2['command'],'exitCode':_0x4490e2['exitCode'],..._0x25cd17},'remediation':_0x4490e2['pm']+'\x20'+(_0x4490e2['command']?.['args'][_0x3477a7(0x4ec)]('\x20')??'')+'\x20exited\x20with\x20code\x20'+_0x4490e2[_0x3477a7(0x2c3)]+_0x3477a7(0x8a3)};}}function _0x4a2c99(_0x1d3d89){const _0x6fb91e=_0xf8ecb6;return _0x1d3d89 instanceof Error?_0x1d3d89[_0x6fb91e(0x531)]:String(_0x1d3d89);}async function _0xd5391c(_0x3683cb,_0x2d10a9,_0x3ae3f1){const _0x42fb7e=_0xf8ecb6,_0x2a813a=_0x2d10a9['revertBabelConfig']??(_0x4b2ffa=>_0x58c4bb({'projectDir':_0x4b2ffa,..._0x3ae3f1?{'writeFile':async()=>void 0x0,'unlink':async()=>void 0x0}:{}}));try{const _0x2a40d9=await _0x2a813a(_0x3683cb);return _0x446825(_0x2a40d9,_0x3ae3f1);}catch(_0x4a4090){return{'name':_0x42fb7e(0x5b7),'status':_0x42fb7e(0x3dd),'details':{'error':_0x4a2c99(_0x4a4090),..._0x3ae3f1?{'dryRun':!![]}:{}}};}}function _0x446825(_0x1ece76,_0x33167d){const _0x582264=_0xf8ecb6,_0x12b04d=_0x33167d?{'dryRun':!![]}:{};switch(_0x1ece76[_0x582264(0x428)]){case _0x582264(0x654):return{'name':_0x582264(0x5b7),'status':_0x582264(0x654),'details':{'path':_0x1ece76[_0x582264(0x2c7)],'action':_0x1ece76[_0x582264(0x5a0)],..._0x12b04d}};case'already-reverted':return{'name':'babel-config','status':_0x582264(0x2be),'details':{'path':_0x1ece76[_0x582264(0x2c7)],..._0x12b04d}};case'no-config':return{'name':'babel-config','status':'already-reverted','details':{..._0x12b04d}};}}async function _0x2a7e5f(_0x54beb1,_0x4244af){const _0x1831ed=_0xf8ecb6;try{return _0x1831ed(0x5fe)==='HFxFy'?await _0x4244af():{'success':!![],'transport':'idb'};}catch(_0x177891){try{if(_0x1831ed(0x21c)!==_0x1831ed(0x512))await _0x17cebd(_0x54beb1,{'recursive':!![],'force':!![]});else return{'kind':_0x1831ed(0x4d5),'outcome':'inconclusive','expectedRoutes':_0x2066f5,'reachableBeforeReload':_0x28576e,'reason':_0x1831ed(0xaa2),'reloadMechanism':_0x1831ed(0x6c8)};}catch{}throw _0x177891;}}async function _0x58f82b(_0x53bc3b,_0x4e079e){const _0xd9603=_0xf8ecb6,_0x418098=_0x2d1828(tmpdir(),'ceraph-uninstall-boot-preview-'+Date['now']()+'-'+Math[_0xd9603(0xafe)]()[_0xd9603(0xafa)](0x24)[_0xd9603(0x795)](0x2));return _0x2a7e5f(_0x418098,async()=>{const _0x4978ec=_0xd9603,_0x4fc4e9=_0x5740e3(_0x4e079e,_0x53bc3b),_0x82969f=_0x58536c(_0x4fc4e9)?_0x4978ec(0x7b7):_0x4fc4e9,_0x37ea78=_0x2d1828(_0x418098,_0x82969f);return await _0x2fa3f7(_0x142654(_0x37ea78),{'recursive':!![]}),await copyFile(_0x53bc3b,_0x37ea78),{'projectDir':_0x418098,'tmpRoot':_0x418098};});}function _0x4648f1(_0xb3e261,_0x3d59ef){const _0x55d4e9=_0xf8ecb6,_0x175c01=[],_0x16c463=[];let _0x2c831a=0x0,_0x2f9275=0x0;for(const _0x28be50 of _0x3d59ef){if(_0x28be50['status']==='reverted'||_0x28be50[_0x55d4e9(0x428)]==='warning')_0x2c831a++;else(_0x28be50[_0x55d4e9(0x428)]==='skipped'||_0x28be50['status']===_0x55d4e9(0x2be))&&_0x2f9275++;_0x28be50['status']===_0x55d4e9(0x696)&&_0x28be50[_0x55d4e9(0x638)]&&_0x175c01[_0x55d4e9(0x4d1)](_0x28be50['remediation']),_0x28be50['status']===_0x55d4e9(0x6c7)&&_0x28be50['remediation']&&_0x16c463[_0x55d4e9(0x4d1)](_0x28be50['remediation']);}return{'workingDir':_0xb3e261,'steps':_0x3d59ef,'summary':{'reverted':_0x2c831a,'skipped':_0x2f9275,'warnings':_0x175c01,'manualSteps':_0x16c463}};}var _0x25fa81=0x40*0x400,_0x46c756=process['cwd']();function _0x38fec5(){return _0x46c756;}function _0x1a4175(_0x316476){const _0x13554f=_0xf8ecb6;return{'content':[{'type':_0x13554f(0x3e0),'text':JSON[_0x13554f(0x312)](_0x316476,null,0x2)}]};}var _0x3e0276=0x2*0x400;function _0x33ec5c(_0x4c6d3b,_0x41b0a5){const _0x9d73f3=_0xf8ecb6;if(_0x4c6d3b[_0x9d73f3(0x3b7)]<=_0x41b0a5)return _0x4c6d3b;const _0x586fae=_0x4c6d3b[_0x9d73f3(0x795)](0x0,Math['floor'](_0x41b0a5/0x2)-0x10),_0x3349f8=_0x4c6d3b['slice'](_0x4c6d3b[_0x9d73f3(0x3b7)]-(Math[_0x9d73f3(0x60f)](_0x41b0a5/0x2)-0x10));return _0x586fae+'\x20…\x20<'+(_0x4c6d3b['length']-_0x41b0a5)+'\x20bytes\x20truncated>\x20…\x20'+_0x3349f8;}function _0x344c2c(_0x3ff517,_0x24a383=_0x25fa81){const _0x552b7e=_0xf8ecb6,_0x4cd576=JSON['stringify'](_0x3ff517,null,0x2);if(_0x4cd576['length']<=_0x24a383)return _0x3ff517;const _0x58510f=_0x3ff517[_0x552b7e(0xa02)][_0x552b7e(0x86b)](_0x54373e=>{const _0x27fdbe=_0x552b7e;if(_0x54373e['details']===void 0x0)return _0x54373e;const _0x328184=JSON[_0x27fdbe(0x312)](_0x54373e[_0x27fdbe(0x65d)]);return{..._0x54373e,'details':{'truncated':!![],'originalSize':_0x328184['length']}};}),_0x5378f8={..._0x3ff517,'steps':_0x58510f},_0x3124b9=JSON['stringify'](_0x5378f8,null,0x2);if(_0x3124b9[_0x552b7e(0x3b7)]<=_0x24a383)return _0x5378f8;let _0x1225ce=0x20,_0x53a408=_0x3e0276,_0x2c55d8=_0x5378f8;while(_0x1225ce<=_0x53a408){const _0x2166f9=Math[_0x552b7e(0x60f)]((_0x1225ce+_0x53a408)/0x2),_0x41fc66={..._0x5378f8,'workingDir':_0x33ec5c(_0x5378f8[_0x552b7e(0x288)],_0x2166f9),'steps':_0x5378f8['steps'][_0x552b7e(0x86b)](_0x4dbca5=>({..._0x4dbca5,'remediation':_0x4dbca5['remediation']?_0x33ec5c(_0x4dbca5['remediation'],_0x2166f9):_0x4dbca5['remediation']})),'summary':{..._0x5378f8['summary'],'warnings':_0x5378f8[_0x552b7e(0x76c)][_0x552b7e(0x7a8)][_0x552b7e(0x86b)](_0x2851a1=>_0x33ec5c(_0x2851a1,_0x2166f9)),'manualSteps':_0x5378f8['summary']['manualSteps'][_0x552b7e(0x86b)](_0x3381fd=>_0x33ec5c(_0x3381fd,_0x2166f9))}},_0x3bad4e=JSON[_0x552b7e(0x312)](_0x41fc66,null,0x2)[_0x552b7e(0x3b7)];_0x3bad4e<=_0x24a383?(_0x2c55d8=_0x41fc66,_0x1225ce=_0x2166f9+0x1):_0x53a408=_0x2166f9-0x1;}return _0x2c55d8;}function _0x4c8a93(_0x322d42,_0x5bc52f){const _0x52a02d=_0xf8ecb6;return{'content':[{'type':'text','text':_0x322d42+'\x20failed:\x20'+(_0x5bc52f instanceof Error?_0x5bc52f[_0x52a02d(0x531)]:String(_0x5bc52f))}],'isError':!![]};}function _0x1b7f52(_0x1c2042){return new Promise(_0x57323c=>{const _0x7382f2=_0xc050,_0x3502d9=_0xda8b56(_0x1c2042[_0x7382f2(0x9c1)],_0x1c2042['args'],{'cwd':_0x1c2042['cwd'],'stdio':[_0x7382f2(0x9fa),'pipe','pipe']});_0x3502d9['stdout']?.['on']('data',()=>void 0x0),_0x3502d9['stderr']?.['on']('data',()=>void 0x0),_0x3502d9['on']('error',()=>_0x57323c({'exitCode':0x7f})),_0x3502d9['on']('exit',_0xaca37a=>_0x57323c({'exitCode':_0xaca37a??0x1}));});}function _0x18e489(_0x70c54d){const _0x311e3f=_0xf8ecb6;_0x70c54d[_0x311e3f(0x34e)](_0x311e3f(0xb1d),_0x311e3f(0xab5),{'projectDir':_0x135448[_0x311e3f(0x30d)]()['optional']()['describe']('Project\x20directory\x20to\x20inspect.\x20Defaults\x20to\x20the\x20MCP\x20server\x27s\x20cwd.\x20In\x20a\x20monorepo\x20with\x20multiple\x20RN\x20subpackages,\x20the\x20tool\x20returns\x20`monorepoConflict`\x20listing\x20each\x20candidate\x20—\x20pass\x20the\x20chosen\x20subpackage\x27s\x20path\x20here\x20to\x20disambiguate.')},async _0x53f2ff=>{const _0x268569=_0x311e3f;if(_0x268569(0x8a7)!=='FCDjc')_0x4acf38[_0x268569(0x716)](()=>{}),_0x199b0e({'ok':![],'port':this[_0x268569(0x21a)],'error':_0x5e12f5['message']??_0x14eb28[_0x268569(0x3aa)]??'listen\x20failed','errorCode':_0x386b3b['code']});else try{const _0x3aea27=_0x53f2ff['projectDir']??_0x38fec5(),_0x50e83d=await _0x18a59c(_0x3aea27,{'rootDir':_0x53d71b(_0x53f2ff['projectDir'],_0x38fec5())});return _0x1a4175(_0x50e83d);}catch(_0x46a0f4){return _0x4c8a93(_0x268569(0xb1d),_0x46a0f4);}}),_0x70c54d['tool'](_0x311e3f(0x590),_0x311e3f(0x3fa),{'projectDir':_0x135448['string']()['optional']()[_0x311e3f(0x3f0)]('Project\x20directory\x20to\x20operate\x20on.\x20Defaults\x20to\x20the\x20MCP\x20server\x27s\x20cwd.\x20Required\x20to\x20disambiguate\x20monorepo\x20multi-match.'),'purgeImages':_0x135448['boolean']()[_0x311e3f(0x768)]()[_0x311e3f(0x3f0)]('If\x20true,\x20also\x20delete\x20`.ceraph/`\x20(camera\x20test\x20images\x20+\x20design\x20snapshots\x20+\x20run\x20artifacts).\x20Default\x20false.'),'global':_0x135448['boolean']()[_0x311e3f(0x768)]()['describe']('If\x20true,\x20also\x20delete\x20`~/.ceraph/auth.json`\x20(the\x20user-global\x20OAuth\x20token;\x20this\x20logs\x20the\x20user\x20out\x20of\x20every\x20Ceraph\x20install\x20on\x20this\x20machine).\x20Default\x20false.'),'dryRun':_0x135448[_0x311e3f(0xa6d)]()['optional']()['describe'](_0x311e3f(0xa5b))},async _0x31b137=>{const _0x154be0=_0x311e3f;try{const _0x5b89ec=_0x31b137['projectDir']??_0x38fec5(),_0x985308=await _0x552728({'projectDir':_0x5b89ec,'rootDir':_0x53d71b(_0x31b137[_0x154be0(0x9aa)],_0x38fec5()),'purgeImages':_0x31b137['purgeImages']===!![],'global':_0x31b137[_0x154be0(0x97f)]===!![],'dryRun':_0x31b137[_0x154be0(0x8b1)]===!![],'nonInteractive':!![],'spawnRemove':_0x1b7f52});return _0x1a4175(_0x344c2c(_0x985308));}catch(_0x46abec){return _0x4c8a93(_0x154be0(0x590),_0x46abec);}});}import{promises as _0x335fef}from'fs';import{pathToFileURL}from'url';import{join as _0x1dbfad}from'path';var _0x18ba83=new Set([_0xf8ecb6(0x36d),'auth0','supabase',_0xf8ecb6(0x57d),_0xf8ecb6(0x4ba)]),_0x28e9a0=[_0xf8ecb6(0x7b0),_0xf8ecb6(0xa70),_0xf8ecb6(0x688),_0xf8ecb6(0x584)];async function _0x28256c(_0x2bee2a){const _0x26c0f1=_0xf8ecb6;for(const _0x5b1573 of _0x28e9a0){const _0x268cf0=_0x1dbfad(_0x2bee2a,_0x26c0f1(0x9c2)+_0x5b1573);let _0x50c05b=![];try{'fWCMj'!=='vabhA'?(await _0x335fef['access'](_0x268cf0),_0x50c05b=!![]):_0x1f96ff=_0x1337f9[_0x26c0f1(0x795)](0x1,-0x1);}catch{}if(!_0x50c05b)continue;let _0x18c816=null;if(_0x5b1573===_0x26c0f1(0x584))try{const _0x3d3de7=await _0x335fef['readFile'](_0x268cf0,'utf-8'),_0x4714f7=JSON[_0x26c0f1(0x981)](_0x3d3de7);_0x18c816=_0x4714f7?.['auth'];}catch{return _0x2a7867(_0x2bee2a);}else{const _0x376e7d=pathToFileURL(_0x268cf0)['href']+_0x26c0f1(0xa9b)+Date['now'](),_0xae1a8e=await import(_0x376e7d)['catch'](()=>null);_0xae1a8e&&(_0x18c816=(_0xae1a8e[_0x26c0f1(0x434)]&&_0xae1a8e['default']['auth'])??_0xae1a8e['auth']);}const _0x430e69=_0xe94479(_0x18c816);if(_0x430e69)return _0x430e69;return _0x2a7867(_0x2bee2a);}return _0x2a7867(_0x2bee2a);}async function _0x2a7867(_0x22c76d){const _0x240093=_0xf8ecb6,_0x12e101=_0x1dbfad(_0x22c76d,_0x240093(0x8c6));try{const _0x5afcb5=await _0x335fef[_0x240093(0x4e4)](_0x12e101,_0x240093(0x827)),_0x1459ba=_0x14c7d1(_0x5afcb5),_0xcb19f=_0x40ce78(_0x1459ba);if(_0xcb19f)return _0xcb19f;}catch{}const _0x22e384=_0x40ce78(process.env);if(_0x22e384)return _0x22e384;return null;}function _0xe94479(_0x491681){const _0x1c3db5=_0xf8ecb6;if(!_0x491681||typeof _0x491681!==_0x1c3db5(0x9e3))return null;const _0x30b4f8=_0x491681,_0x4513ab=_0x30b4f8[_0x1c3db5(0x525)];if(typeof _0x4513ab!==_0x1c3db5(0x30d))return null;if(!_0x18ba83[_0x1c3db5(0x979)](_0x4513ab))return null;const _0x119d99=_0x30b4f8['secretEnv'],_0x72a8ce=_0x4513ab==='cognito';if(typeof _0x119d99!=='string'){if(!_0x72a8ce)return null;}return{'provider':_0x4513ab,'secretEnv':typeof _0x119d99===_0x1c3db5(0x30d)?_0x119d99:'',...typeof _0x30b4f8[_0x1c3db5(0x944)]==='string'?{'domain':_0x30b4f8[_0x1c3db5(0x944)]}:{},...typeof _0x30b4f8['connection']==='string'?{'connection':_0x30b4f8[_0x1c3db5(0x7ce)]}:{},...typeof _0x30b4f8[_0x1c3db5(0x6ff)]==='string'?{'projectUrl':_0x30b4f8['projectUrl']}:{},...typeof _0x30b4f8[_0x1c3db5(0x572)]==='string'?{'userPoolId':_0x30b4f8[_0x1c3db5(0x572)]}:{},...typeof _0x30b4f8[_0x1c3db5(0x7d7)]==='string'?{'clientId':_0x30b4f8['clientId']}:{},...typeof _0x30b4f8[_0x1c3db5(0x425)]===_0x1c3db5(0x30d)?{'region':_0x30b4f8[_0x1c3db5(0x425)]}:{}};}function _0x40ce78(_0x3a3620){const _0x38da6a=_0xf8ecb6,_0x454edb=_0x3a3620[_0x38da6a(0x4dc)],_0x10b792=_0x3a3620['CERAPH_AUTH_SECRET_ENV'];if(typeof _0x454edb!=='string'||_0x454edb['length']===0x0)return null;if(!_0x18ba83[_0x38da6a(0x979)](_0x454edb))return null;const _0xa93b5a=_0x454edb==='cognito',_0xbb8a9d=typeof _0x10b792==='string'&&_0x10b792['length']>0x0;if(!_0xbb8a9d&&!_0xa93b5a)return null;return{'provider':_0x454edb,'secretEnv':_0xbb8a9d?_0x10b792:'',..._0x3a3620[_0x38da6a(0x38f)]?{'domain':_0x3a3620[_0x38da6a(0x38f)]}:{},..._0x3a3620['CERAPH_AUTH_CONNECTION']?{'connection':_0x3a3620[_0x38da6a(0x5a6)]}:{},..._0x3a3620[_0x38da6a(0x950)]?{'projectUrl':_0x3a3620['CERAPH_AUTH_PROJECT_URL']}:{},..._0x3a3620[_0x38da6a(0x3d2)]?{'userPoolId':_0x3a3620[_0x38da6a(0x3d2)]}:{},..._0x3a3620['CERAPH_AUTH_CLIENT_ID']?{'clientId':_0x3a3620['CERAPH_AUTH_CLIENT_ID']}:{},..._0x3a3620[_0x38da6a(0x549)]?{'region':_0x3a3620[_0x38da6a(0x549)]}:{}};}function _0x14c7d1(_0x5180ab){const _0x2a18dd=_0xf8ecb6,_0x10206d={};for(const _0x336d20 of _0x5180ab[_0x2a18dd(0x51a)](/\r?\n/)){const _0x5a31ce=_0x336d20[_0x2a18dd(0x668)]();if(_0x5a31ce[_0x2a18dd(0x3b7)]===0x0||_0x5a31ce[_0x2a18dd(0x746)]('#'))continue;const _0xbed32e=_0x5a31ce[_0x2a18dd(0x4ca)]('=');if(_0xbed32e<=0x0)continue;const _0x2b4f44=_0x5a31ce[_0x2a18dd(0x795)](0x0,_0xbed32e)['trim']();let _0x2343ba=_0x5a31ce['slice'](_0xbed32e+0x1)['trim']();(_0x2343ba[_0x2a18dd(0x746)]('\x22')&&_0x2343ba['endsWith']('\x22')||_0x2343ba[_0x2a18dd(0x746)]('\x27')&&_0x2343ba['endsWith']('\x27'))&&(_0x2343ba=_0x2343ba[_0x2a18dd(0x795)](0x1,-0x1)),_0x10206d[_0x2b4f44]=_0x2343ba;}return _0x10206d;}import{promises as _0x28b91c}from'fs';import{join as _0x3e8cb2}from'path';var _0x4fda8d=class extends Error{[_0xf8ecb6(0x3aa)];constructor(_0x1bc69d,_0x1a6ea6,_0x2c5f6a){const _0xf5fd95=_0xf8ecb6;super(_0x1a6ea6),this['name']=_0xf5fd95(0x3ca),this['code']=_0x1bc69d;if(_0x2c5f6a!==void 0x0)this['cause']=_0x2c5f6a;}};import{randomBytes as _0x1d961b}from'crypto';function _0x542720(_0x3a1495){const _0xf05fdf=_0xf8ecb6,_0x2260e3=(_0x3a1495||'user')['toLowerCase']()[_0xf05fdf(0x42e)](/[^a-z0-9-]/g,'-')['replace'](/-+/g,'-')[_0xf05fdf(0x42e)](/^-|-$/g,'')[_0xf05fdf(0x795)](0x0,0x20),_0x90538e=_0x1d961b(0x3)[_0xf05fdf(0xafa)](_0xf05fdf(0x992));return'ceraph-'+_0x2260e3+'-'+_0x90538e+_0xf05fdf(0x2de);}function _0x44998b(){const _0x27d901=_0xf8ecb6,_0x2b4ffb=_0x1d961b(0x10)['toString'](_0x27d901(0x343))[_0x27d901(0x42e)](/[^a-zA-Z0-9]/g,''),_0x34755e=_0x2b4ffb['length']>=0x14?_0x2b4ffb['slice'](0x0,0x14):_0x2b4ffb['padEnd'](0x14,'Aa1');return'A'+_0x34755e[_0x27d901(0x795)](0x1,0xa)+'a'+_0x34755e[_0x27d901(0x795)](0xb,0x13)+'9';}function _0x102efe(_0xa251b5){const _0x266ea5=_0xf8ecb6,_0x1f3d46=process.env[_0xa251b5.secretEnv];if(typeof _0x1f3d46!==_0x266ea5(0x30d)||_0x1f3d46['length']===0x0)throw new _0x4fda8d(_0x266ea5(0xa7e),_0x266ea5(0x4b4)+_0xa251b5['secretEnv']+'\x20in\x20your\x20environment.');return _0x1f3d46;}async function _0x4ecdd2(){const _0x520a02=_0xf8ecb6;try{return await import('@clerk/backend');}catch(_0xc9112c){throw new _0x4fda8d(_0x520a02(0x4ed),_0x520a02(0x867),_0xc9112c);}}var _0x2511a7=class{constructor(_0x52bdf1){const _0x1d82d1=_0xf8ecb6;this[_0x1d82d1(0x2f7)]=_0x52bdf1;}[_0xf8ecb6(0x7e0)]='clerk';async['provision'](_0x599230){const _0x1d1137=_0xf8ecb6,_0x2db25e=_0x102efe(this['config']),_0x5ba72e=await _0x4ecdd2(),_0x31691b=_0x5ba72e['createClerkClient']({'secretKey':_0x2db25e});try{if(_0x1d1137(0x49c)!==_0x1d1137(0x49c)){const _0x279fb4=_0x2deb91['getImportDeclaration'](_0x42995f);if(!_0x279fb4)return![];const _0x203f99=_0x279fb4['getNamedImports'](),_0x3e35d8=_0x203f99[_0x1d1137(0x415)](_0x10a409=>_0x10a409[_0x1d1137(0x385)]()===_0x17f917);if(!_0x3e35d8)return![];_0x3e35d8['remove']();const _0x4e97aa=_0x279fb4['getNamedImports'](),_0x9084e9=_0x279fb4[_0x1d1137(0x459)]()!=null;return _0x4e97aa['length']===0x0&&!_0x9084e9&&_0x279fb4['remove'](),!![];}else{const _0x9a4749=await _0x31691b['users']['createUser']({'emailAddress':[_0x599230['email']],'password':_0x599230[_0x1d1137(0x98a)],'skipPasswordChecks':!![],'publicMetadata':{'ceraphTestLabel':_0x599230[_0x1d1137(0x960)]}});return{'providerUserId':_0x9a4749['id'],'email':_0x599230[_0x1d1137(0x41e)],'password':_0x599230['password']};}}catch(_0xf61926){const _0x29e638=_0xf61926?.[_0x1d1137(0x5ac)],_0x17aece=Array['isArray'](_0x29e638)&&_0x29e638['some'](_0x1c6510=>_0x1c6510?.['code']===_0x1d1137(0x43b));if(_0x17aece)throw new _0x4fda8d(_0x1d1137(0x869),'Clerk\x20createUser\x20conflict:\x20email\x20already\x20exists',_0xf61926);const _0x53c999=_0xf61926?.[_0x1d1137(0x531)]??String(_0xf61926),_0x268add=/already taken|exists|conflict|duplicate/i[_0x1d1137(0x8aa)](_0x53c999)?_0x1d1137(0x869):_0x1d1137(0x65b);throw new _0x4fda8d(_0x268add,'Clerk\x20createUser\x20failed:\x20'+_0x53c999,_0xf61926);}}async['cleanup'](_0x5b8185){const _0x558027=_0xf8ecb6,_0x27fa0f=_0x102efe(this['config']),_0x4b6998=await _0x4ecdd2(),_0x6e726a=_0x4b6998['createClerkClient']({'secretKey':_0x27fa0f});try{await _0x6e726a[_0x558027(0x785)]['deleteUser'](_0x5b8185);}catch(_0x4fe9f7){const _0x2db16e=_0x4fe9f7?.[_0x558027(0x531)]??String(_0x4fe9f7),_0x3739d7=_0x4fe9f7?.['status']??_0x4fe9f7?.[_0x558027(0x66c)];if(_0x3739d7===0x194||/not[\s_-]?found|resource not found/i[_0x558027(0x8aa)](_0x2db16e))return;throw new _0x4fda8d(_0x558027(0x65b),_0x558027(0xac3)+_0x2db16e,_0x4fe9f7);}}};async function _0x405fbf(){const _0x4efc0c=_0xf8ecb6;try{if('MIraD'!=='MIraD'){if(!this['bootCaptureMode'])return{'ok':!![]};if(typeof _0x45d0fb[_0x4efc0c(0x88a)]!=='string'||_0x29e5cf['key']['length']===0x0)return{'ok':![],'error':_0x4efc0c(0x916)};const _0xc484e4=typeof _0x38decb['timestampMs']==='number'&&_0x36f992['isFinite'](_0x1ef2de[_0x4efc0c(0x719)])?new _0x34751f(_0x2c3fc0[_0x4efc0c(0x719)])['toISOString']():new _0x103283()[_0x4efc0c(0x471)](),_0x2ddf09=typeof _0x14e53f[_0x4efc0c(0x531)]===_0x4efc0c(0x30d)&&_0x3b4039[_0x4efc0c(0x531)][_0x4efc0c(0x3b7)]>0x0?_0x38295e[_0x4efc0c(0x531)]:_0x4efc0c(0x6b2),_0x77585a={'key':_0x2f88f9[_0x4efc0c(0x88a)],'valueShape':_0x2ddf09,'timestamp':_0xc484e4,...typeof _0x547316['valueHash']===_0x4efc0c(0x30d)&&_0x9cd09e['valueHash'][_0x4efc0c(0x3b7)]>0x0?{'valueHash':_0x1412eb['valueHash']}:{}};this[_0x4efc0c(0x8a0)][_0x4efc0c(0x4d1)](_0x77585a);while(this[_0x4efc0c(0x8a0)]['length']>_0x5bd4ad){this['asyncStorageReadBuffer'][_0x4efc0c(0x9a6)]();}return{'ok':!![]};}else return await import('auth0');}catch(_0x1f34eb){throw new _0x4fda8d('sdk-missing','auth\x20provider\x20\x27auth0\x27\x20requires\x20auth0\x20in\x20package.json.\x20Run:\x20npm\x20install\x20auth0',_0x1f34eb);}}var _0x34b125=_0xf8ecb6(0x497),_0xa15ea0=class{constructor(_0x39ca07){const _0x2177ee=_0xf8ecb6;this[_0x2177ee(0x2f7)]=_0x39ca07;}[_0xf8ecb6(0x7e0)]='auth0';async[_0xf8ecb6(0x280)](_0x148d57){const _0xff7b00=_0xf8ecb6;if(!this['config']['domain'])throw new _0x4fda8d(_0xff7b00(0x65b),'Auth0\x20adapter\x20requires\x20`domain`\x20in\x20ceraph.config.js\x20(the\x20Auth0\x20tenant\x20domain,\x20e.g.,\x20\x27myorg.auth0.com\x27).');const _0x524bbe=_0x102efe(this['config']),_0x657f6d=await _0x405fbf(),_0x2ede5c=new _0x657f6d['ManagementClient']({'domain':this['config'][_0xff7b00(0x944)],'token':_0x524bbe}),_0x301742=this[_0xff7b00(0x2f7)]['connection']??_0x34b125;try{const _0x14a733=await _0x2ede5c[_0xff7b00(0x785)]['create']({'connection':_0x301742,'email':_0x148d57[_0xff7b00(0x41e)],'password':_0x148d57[_0xff7b00(0x98a)],'email_verified':!![],'app_metadata':{'ceraphTestLabel':_0x148d57[_0xff7b00(0x960)]}}),_0x3552ea=_0x14a733[_0xff7b00(0x78f)]?.['user_id']??_0x14a733[_0xff7b00(0xa63)];if(!_0x3552ea)throw new _0x4fda8d('api-error','Auth0\x20createUser\x20returned\x20no\x20user_id.');return{'providerUserId':_0x3552ea,'email':_0x148d57['email'],'password':_0x148d57[_0xff7b00(0x98a)]};}catch(_0x55eea7){if(_0x55eea7 instanceof _0x4fda8d)throw _0x55eea7;const _0x58cd89=_0x55eea7?.[_0xff7b00(0x531)]??String(_0x55eea7),_0x328173=/exists|conflict|duplicate/i[_0xff7b00(0x8aa)](_0x58cd89)?'user-exists':'api-error';throw new _0x4fda8d(_0x328173,'Auth0\x20createUser\x20failed:\x20'+_0x58cd89,_0x55eea7);}}async[_0xf8ecb6(0x2f5)](_0x51eb6d){const _0x3d4c99=_0xf8ecb6;if(!this['config'][_0x3d4c99(0x944)])throw new _0x4fda8d(_0x3d4c99(0x65b),_0x3d4c99(0x9cc));const _0x44d386=_0x102efe(this[_0x3d4c99(0x2f7)]),_0x4bdfa7=await _0x405fbf(),_0x4b12ff=new _0x4bdfa7[(_0x3d4c99(0x7d9))]({'domain':this['config'][_0x3d4c99(0x944)],'token':_0x44d386});try{await _0x4b12ff['users'][_0x3d4c99(0x265)]({'id':_0x51eb6d});}catch(_0x584c77){const _0x396706=_0x584c77?.[_0x3d4c99(0x531)]??String(_0x584c77),_0x82755e=_0x584c77?.[_0x3d4c99(0x66c)]??_0x584c77?.['status'];if(_0x82755e===0x194||/not[\s_-]?found/i['test'](_0x396706))return;throw new _0x4fda8d('api-error',_0x3d4c99(0xae3)+_0x396706,_0x584c77);}}};async function _0xaf8d77(){const _0x3d01a7=_0xf8ecb6;try{return await import('@supabase/supabase-js');}catch(_0x911dea){throw new _0x4fda8d(_0x3d01a7(0x4ed),'auth\x20provider\x20\x27supabase\x27\x20requires\x20@supabase/supabase-js\x20in\x20package.json.\x20Run:\x20npm\x20install\x20@supabase/supabase-js',_0x911dea);}}var _0x58742d=class{constructor(_0xe74034){const _0x17c476=_0xf8ecb6;this[_0x17c476(0x2f7)]=_0xe74034;}[_0xf8ecb6(0x7e0)]=_0xf8ecb6(0x23f);async['provision'](_0x431514){const _0x5ae4e8=_0xf8ecb6;if(!this[_0x5ae4e8(0x2f7)][_0x5ae4e8(0x6ff)])throw new _0x4fda8d('api-error','Supabase\x20adapter\x20requires\x20`projectUrl`\x20in\x20ceraph.config.js\x20(the\x20Supabase\x20project\x20URL,\x20e.g.,\x20\x27https://abc.supabase.co\x27).');const _0x251412=_0x102efe(this['config']),_0x5eba8e=await _0xaf8d77(),_0x4833e9=_0x5eba8e['createClient'](this['config']['projectUrl'],_0x251412,{'auth':{'autoRefreshToken':![],'persistSession':![]}});try{const _0x54a37a=await _0x4833e9['auth']['admin']['createUser']({'email':_0x431514['email'],'password':_0x431514['password'],'email_confirm':!![],'user_metadata':{'ceraphTestLabel':_0x431514['label']}});if(_0x54a37a['error']){const _0x3ef53b=_0x54a37a[_0x5ae4e8(0x3dd)][_0x5ae4e8(0x531)],_0x46d51e=/exists|already registered|duplicate/i[_0x5ae4e8(0x8aa)](_0x3ef53b)?'user-exists':'api-error';throw new _0x4fda8d(_0x46d51e,_0x5ae4e8(0x6ad)+_0x3ef53b);}const _0x2d7f0f=_0x54a37a[_0x5ae4e8(0x78f)]['user'];if(!_0x2d7f0f)throw new _0x4fda8d(_0x5ae4e8(0x65b),_0x5ae4e8(0x815));return{'providerUserId':_0x2d7f0f['id'],'email':_0x431514[_0x5ae4e8(0x41e)],'password':_0x431514[_0x5ae4e8(0x98a)]};}catch(_0x1fd46c){if(_0x1fd46c instanceof _0x4fda8d)throw _0x1fd46c;throw new _0x4fda8d('api-error',_0x5ae4e8(0x6ad)+(_0x1fd46c?.['message']??String(_0x1fd46c)),_0x1fd46c);}}async[_0xf8ecb6(0x2f5)](_0x544e99){const _0x506a2d=_0xf8ecb6;if(!this[_0x506a2d(0x2f7)]['projectUrl'])throw new _0x4fda8d('api-error','Supabase\x20adapter\x20requires\x20`projectUrl`\x20for\x20cleanup.');const _0x64ce3=_0x102efe(this['config']),_0x1e7630=await _0xaf8d77(),_0x40df19=_0x1e7630[_0x506a2d(0x458)](this[_0x506a2d(0x2f7)]['projectUrl'],_0x64ce3,{'auth':{'autoRefreshToken':![],'persistSession':![]}});try{if('FaMfn'!==_0x506a2d(0x6dd))_0x102716=_0x175d73(_0x459d13,_0x4419d2,{'stdio':['ignore','pipe',_0x506a2d(0x9e1)]});else{const _0x518cb6=await _0x40df19['auth'][_0x506a2d(0xa74)]['deleteUser'](_0x544e99);if(_0x518cb6[_0x506a2d(0x3dd)]){const _0x384ea4=_0x518cb6['error']['message'];if(/not[\s_-]?found|404/i[_0x506a2d(0x8aa)](_0x384ea4))return;throw new _0x4fda8d(_0x506a2d(0x65b),'Supabase\x20deleteUser\x20failed:\x20'+_0x384ea4);}}}catch(_0x30f1d7){if(_0x30f1d7 instanceof _0x4fda8d)throw _0x30f1d7;const _0x142ea0=_0x30f1d7?.[_0x506a2d(0x531)]??String(_0x30f1d7);if(/not[\s_-]?found|404/i['test'](_0x142ea0))return;throw new _0x4fda8d(_0x506a2d(0x65b),_0x506a2d(0x52b)+_0x142ea0,_0x30f1d7);}}};async function _0x50fba0(){const _0x284903=_0xf8ecb6;try{if('IztoR'!=='JcaRP'){const _0x94d22f=await import(_0x284903(0x725)),_0x57fc4c=_0x94d22f[_0x284903(0x434)]??_0x94d22f;if(!_0x57fc4c[_0x284903(0x4cd)])throw new Error(_0x284903(0x852));return _0x57fc4c;}else return _0x2eaa46(_0x24a02a)!==null;}catch(_0xf32fed){throw new _0x4fda8d(_0x284903(0x4ed),'auth\x20provider\x20\x27firebase\x27\x20requires\x20firebase-admin\x20in\x20package.json.\x20Run:\x20npm\x20install\x20firebase-admin',_0xf32fed);}}function _0x58fc02(_0x52394e){const _0x487b8b=_0xf8ecb6;try{const _0x3051f2=JSON[_0x487b8b(0x981)](_0x52394e);if(_0x3051f2&&typeof _0x3051f2==='object')return _0x3051f2;}catch{}return _0x52394e;}var _0x451e51=class{constructor(_0x421f04){const _0x9c679c=_0xf8ecb6;this[_0x9c679c(0x2f7)]=_0x421f04,this[_0x9c679c(0x6aa)]='ceraph-test-data-'+Date[_0x9c679c(0x2f8)]()+'-'+Math[_0x9c679c(0xafe)]()[_0x9c679c(0xafa)](0x24)['slice'](0x2);}[_0xf8ecb6(0x7e0)]='firebase';['appName'];async['getAuth'](){const _0x1a6c3c=_0xf8ecb6,_0x43d948=_0x102efe(this[_0x1a6c3c(0x2f7)]),_0x51301e=await _0x50fba0(),_0x344856=_0x51301e[_0x1a6c3c(0x9d4)]['cert'](_0x58fc02(_0x43d948));let _0x1cf43d;try{_0x1cf43d=_0x51301e['initializeApp']({'credential':_0x344856},this['appName']);}catch(_0x32aae2){const _0x2cc4cc=_0x32aae2?.['message']??String(_0x32aae2);if(/already exists/i['test'](_0x2cc4cc))_0x1cf43d=_0x51301e[_0x1a6c3c(0x7b4)](this[_0x1a6c3c(0x6aa)]);else throw _0x32aae2;}return{'auth':_0x51301e['auth'](_0x1cf43d),'app':_0x1cf43d};}async[_0xf8ecb6(0x280)](_0x575b9d){const _0x458149=_0xf8ecb6,{auth:_0x592cc4,app:_0x39e488}=await this[_0x458149(0xa83)]();try{const _0x31d18f=await _0x592cc4[_0x458149(0x3b6)]({'email':_0x575b9d['email'],'password':_0x575b9d[_0x458149(0x98a)],'emailVerified':!![],'displayName':'Ceraph\x20Test\x20('+_0x575b9d['label']+')'}),_0x250c98=await _0x592cc4[_0x458149(0x8c4)](_0x31d18f[_0x458149(0x9eb)],{'ceraphTestLabel':_0x575b9d[_0x458149(0x960)]})[_0x458149(0x48b)](()=>void 0x0);return{'providerUserId':_0x31d18f[_0x458149(0x9eb)],'email':_0x575b9d[_0x458149(0x41e)],'password':_0x575b9d['password'],..._0x250c98?{'sessionToken':_0x250c98}:{}};}catch(_0x55044f){const _0x32536b=_0x55044f?.['message']??String(_0x55044f),_0x46e1d7=/exists|already-exists|duplicate/i['test'](_0x32536b)?_0x458149(0x869):_0x458149(0x65b);throw new _0x4fda8d(_0x46e1d7,'Firebase\x20createUser\x20failed:\x20'+_0x32536b,_0x55044f);}finally{await _0x39e488['delete']()['catch'](()=>void 0x0);}}async['cleanup'](_0x4c6a2e){const _0x45ea29=_0xf8ecb6,{auth:_0xbf29d1,app:_0x1d1b0f}=await this[_0x45ea29(0xa83)]();try{if('ySeTL'!==_0x45ea29(0x63f)){_0x4b3138({'code':0x7f,'stdout':'','stderr':_0x4be633 instanceof _0x34e2c6?_0x388d73[_0x45ea29(0x531)]:_0x41d362(_0x5158e4)});return;}else await _0xbf29d1[_0x45ea29(0x962)](_0x4c6a2e);}catch(_0x15e3f9){const _0x1a92c6=_0x15e3f9?.['code'],_0x15d51e=_0x15e3f9?.['message']??String(_0x15e3f9);if(_0x1a92c6===_0x45ea29(0x322)||/user-not-found|no user record|not[\s_-]?found/i[_0x45ea29(0x8aa)](_0x15d51e)){if(_0x45ea29(0x42d)!=='EUsRm')return{'error':_0x459de4(_0x2d8535)};else return;}throw new _0x4fda8d('api-error',_0x45ea29(0x750)+_0x15d51e,_0x15e3f9);}finally{_0x45ea29(0x4c1)===_0x45ea29(0x4c1)?await _0x1d1b0f['delete']()[_0x45ea29(0x48b)](()=>void 0x0):_0x2f51[_0x45ea29(0x314)]=_0x553ab1(_0x4bd998);}}};async function _0x8cd945(){const _0x29f40e=_0xf8ecb6;try{return await import('@aws-sdk/client-cognito-identity-provider');}catch(_0x935846){throw new _0x4fda8d(_0x29f40e(0x4ed),_0x29f40e(0x283),_0x935846);}}var _0x1274f7=class{constructor(_0xe45af6){this['config']=_0xe45af6;}[_0xf8ecb6(0x7e0)]='cognito';[_0xf8ecb6(0x4f8)](_0xf7c4cf){const _0x5f28de=_0xf8ecb6,_0x1cc662=((()=>{try{return _0x102efe(this['config']);}catch{return null;}})()),_0x5f5067=process.env.AWS_SECRET_ACCESS_KEY,_0x20986f=_0x1cc662&&_0x5f5067?{'accessKeyId':_0x1cc662,'secretAccessKey':_0x5f5067}:void 0x0;return new _0xf7c4cf['CognitoIdentityProviderClient']({'region':this[_0x5f28de(0x2f7)]['region']??process.env.AWS_REGION,..._0x20986f?{'credentials':_0x20986f}:{}});}async['provision'](_0x3d8e37){const _0x5b8554=_0xf8ecb6;if(!this['config'][_0x5b8554(0x572)])throw new _0x4fda8d(_0x5b8554(0x65b),'Cognito\x20adapter\x20requires\x20`userPoolId`\x20in\x20ceraph.config.js.');const _0x22b3c9=await _0x8cd945(),_0x3dd492=this[_0x5b8554(0x4f8)](_0x22b3c9);try{return await _0x3dd492[_0x5b8554(0x5f7)](new _0x22b3c9['AdminCreateUserCommand']({'UserPoolId':this[_0x5b8554(0x2f7)]['userPoolId'],'Username':_0x3d8e37[_0x5b8554(0x41e)],'TemporaryPassword':_0x3d8e37['password'],'MessageAction':_0x5b8554(0x929),'UserAttributes':[{'Name':'email','Value':_0x3d8e37[_0x5b8554(0x41e)]},{'Name':'email_verified','Value':'true'}]})),await _0x3dd492['send'](new _0x22b3c9[(_0x5b8554(0x846))]({'UserPoolId':this[_0x5b8554(0x2f7)]['userPoolId'],'Username':_0x3d8e37[_0x5b8554(0x41e)],'Password':_0x3d8e37[_0x5b8554(0x98a)],'Permanent':!![]})),{'providerUserId':_0x3d8e37['email'],'email':_0x3d8e37[_0x5b8554(0x41e)],'password':_0x3d8e37['password']};}catch(_0x3dbba2){if('bIkqj'!=='bIkqj')return![];else{const _0x169a77=_0x3dbba2?.[_0x5b8554(0x531)]??String(_0x3dbba2),_0x5395d2=/UsernameExistsException|already exists/i['test'](_0x169a77)?'user-exists':'api-error';throw new _0x4fda8d(_0x5395d2,'Cognito\x20provision\x20failed:\x20'+_0x169a77,_0x3dbba2);}}}async[_0xf8ecb6(0x2f5)](_0x491cac){const _0x4c7239=_0xf8ecb6;if(!this[_0x4c7239(0x2f7)]['userPoolId'])throw new _0x4fda8d('api-error',_0x4c7239(0x472));const _0x3b909b=await _0x8cd945(),_0x5b02f0=this[_0x4c7239(0x4f8)](_0x3b909b);try{await _0x5b02f0[_0x4c7239(0x5f7)](new _0x3b909b[(_0x4c7239(0x233))]({'UserPoolId':this[_0x4c7239(0x2f7)][_0x4c7239(0x572)],'Username':_0x491cac}));}catch(_0x373a89){const _0x4ebbf2=_0x373a89?.[_0x4c7239(0x9e5)],_0x4191e3=_0x373a89?.[_0x4c7239(0x531)]??String(_0x373a89);if(_0x4ebbf2==='UserNotFoundException'||/UserNotFoundException|user does not exist|not[\s_-]?found/i[_0x4c7239(0x8aa)](_0x4191e3))return;throw new _0x4fda8d('api-error',_0x4c7239(0xa61)+_0x4191e3,_0x373a89);}}},_0x243a10={'clerk':_0xf8ecb6(0x79f),'auth0':_0xf8ecb6(0x42b),'supabase':_0xf8ecb6(0x29d),'firebase':_0xf8ecb6(0x725),'cognito':_0xf8ecb6(0x5a4)},_0x299577={'clerk':_0x2511a7,'auth0':_0xa15ea0,'supabase':_0x58742d,'firebase':_0x451e51,'cognito':_0x1274f7};async function _0x22a1b8(_0x6df9f3,_0x5ef60f){const _0x294751=_0xf8ecb6,_0x29b09f=_0x243a10[_0x5ef60f['provider']],_0x499dd2=await _0x4cefc3(_0x6df9f3,_0x29b09f);if(!_0x499dd2)throw new _0x4fda8d('sdk-missing',_0x294751(0x2a9)+_0x5ef60f['provider']+'\x27\x20requires\x20'+_0x29b09f+_0x294751(0x7e1)+_0x29b09f);const _0x176887=_0x299577[_0x5ef60f[_0x294751(0x525)]];return new _0x176887(_0x5ef60f);}async function _0x4cefc3(_0x5f1af5,_0x43a7bc){const _0x4d05f9=_0xf8ecb6;try{const _0x2e7143=await _0x28b91c[_0x4d05f9(0x4e4)](_0x3e8cb2(_0x5f1af5,_0x4d05f9(0x2a8)),'utf-8'),_0x31c2b8=JSON[_0x4d05f9(0x981)](_0x2e7143),_0x18451f=[_0x31c2b8[_0x4d05f9(0x8b4)],_0x31c2b8[_0x4d05f9(0xb2a)],_0x31c2b8[_0x4d05f9(0x6b9)],_0x31c2b8[_0x4d05f9(0x456)]];for(const _0x56ad21 of _0x18451f){if(_0x56ad21&&Object[_0x4d05f9(0x46d)][_0x4d05f9(0x36e)][_0x4d05f9(0x927)](_0x56ad21,_0x43a7bc))return!![];}return![];}catch{if('kvLWL'!=='kvLWL')delete _0x4cd745['FileChanged'];else return![];}}import{randomUUID}from'crypto';var _0x3eb064=0x18*0x3c*0x3c*0x3e8,_0x271e33=class{constructor(_0x2a397d){const _0x3509e4=_0xf8ecb6;this['opts']=_0x2a397d,this[_0x3509e4(0x534)]=_0x2a397d['onDemandTtlMs']??_0x3eb064,this['jitLabel']=_0x2a397d[_0x3509e4(0x502)]??_0x3509e4(0x356),this['readyPromise']=new Promise(_0x203798=>{const _0x1839c6=_0x3509e4;_0x2a397d[_0x1839c6(0x6cf)]!==void 0x0?_0x203798():this['readyResolve']=_0x203798;});}['jitUser']=null;[_0xf8ecb6(0x534)];['jitLabel'];[_0xf8ecb6(0x610)]=null;['readyPromise'];[_0xf8ecb6(0x780)](_0x30fb1a){const _0x2bacc4=_0xf8ecb6;this[_0x2bacc4(0x83e)][_0x2bacc4(0x6cf)]=_0x30fb1a,this[_0x2bacc4(0x610)]&&(this[_0x2bacc4(0x610)](),this[_0x2bacc4(0x610)]=null);}['whenReady'](){const _0x1853b5=_0xf8ecb6;return this[_0x1853b5(0x74b)];}[_0xf8ecb6(0x7cf)](){const _0x5d7f37=_0xf8ecb6;return this[_0x5d7f37(0x83e)][_0x5d7f37(0x6cf)]!=null;}async[_0xf8ecb6(0x8ec)](){const _0x17b5f3=_0xf8ecb6;return this['opts'][_0x17b5f3(0x8ec)]();}async[_0xf8ecb6(0x672)](){const _0x2b8eff=_0xf8ecb6;await this['whenReady']();if(this[_0x2b8eff(0x778)])return{'user':this['jitUser'],'fresh':![]};if(!this['opts'][_0x2b8eff(0x6cf)])throw new _0x4fda8d(_0x2b8eff(0x8de),_0x2b8eff(0x53a));const _0xcc21d5=_0x542720(this['jitLabel']),_0x2c2dd2=_0x44998b(),_0x66da79=await this[_0x2b8eff(0x83e)]['adapter'][_0x2b8eff(0x280)]({'email':_0xcc21d5,'password':_0x2c2dd2,'label':this['jitLabel']}),_0x26c125={'id':randomUUID(),'providerUserId':_0x66da79['providerUserId'],'email':_0x66da79[_0x2b8eff(0x41e)],'password':_0x66da79['password'],..._0x66da79['sessionToken']?{'sessionToken':_0x66da79['sessionToken']}:{},'tier':_0x2b8eff(0x356),'createdAt':new Date()[_0x2b8eff(0x471)]()};return await this['opts'][_0x2b8eff(0x6e5)][_0x2b8eff(0x715)](async()=>{const _0x207168=_0x2b8eff,_0x32d942=await this[_0x207168(0x83e)][_0x207168(0x6e5)][_0x207168(0x511)]();await this['opts'][_0x207168(0x6e5)][_0x207168(0x5c8)]([..._0x32d942,_0x26c125]);}),this[_0x2b8eff(0x778)]=_0x26c125,{'user':_0x26c125,'fresh':!![]};}[_0xf8ecb6(0x4b2)](){const _0x174c2d=_0xf8ecb6;return this[_0x174c2d(0x778)];}async['provisionOnDemand'](_0x879652={}){const _0x1511b0=_0xf8ecb6;await this['whenReady']();if(!this[_0x1511b0(0x83e)]['adapter'])throw new _0x4fda8d('not-configured','No\x20auth\x20provider\x20configured.\x20Add\x20`auth:\x20{\x20provider,\x20secretEnv\x20}`\x20to\x20ceraph.config.js\x20to\x20enable\x20on-demand\x20test-user\x20provisioning.');const _0x169590=_0x879652['tag']??'on-demand',_0x37faeb=_0x542720(_0x169590),_0x550a58=_0x44998b(),_0x29e56d=await this[_0x1511b0(0x83e)][_0x1511b0(0x6cf)]['provision']({'email':_0x37faeb,'password':_0x550a58,'label':_0x169590}),_0x584dbe=Date[_0x1511b0(0x2f8)](),_0x50f096={'id':randomUUID(),'providerUserId':_0x29e56d['providerUserId'],'email':_0x29e56d['email'],'password':_0x29e56d['password'],..._0x29e56d[_0x1511b0(0x9cb)]?{'sessionToken':_0x29e56d[_0x1511b0(0x9cb)]}:{},'tier':'on-demand','createdAt':new Date(_0x584dbe)['toISOString'](),..._0x879652['tag']?{'tag':_0x879652[_0x1511b0(0x630)]}:{},'ttlExpiresAt':new Date(_0x584dbe+this['onDemandTtlMs'])['toISOString']()};return await this['opts'][_0x1511b0(0x6e5)]['withLock'](async()=>{const _0x22b866=_0x1511b0,_0x52f945=await this['opts']['store'][_0x22b866(0x511)]();await this['opts'][_0x22b866(0x6e5)]['save']([..._0x52f945,_0x50f096]);}),{'user':_0x50f096,'fresh':!![]};}async[_0xf8ecb6(0x8d1)](){const _0x50e2a2=_0xf8ecb6;await this['whenReady']();const _0x4cb805=await this[_0x50e2a2(0x83e)]['store'][_0x50e2a2(0x511)]();return _0x4cb805['filter'](_0x6cbf08=>_0x6cbf08[_0x50e2a2(0x69a)]===_0x50e2a2(0xa45));}async[_0xf8ecb6(0x2f5)](_0x465093){const _0x54aa80=_0xf8ecb6;return await this[_0x54aa80(0x533)](),this['opts']['store'][_0x54aa80(0x715)](async()=>{const _0x52e88f=_0x54aa80,_0x30cf81=await this['opts']['store'][_0x52e88f(0x511)]();let _0x46a531;if(_0x465093['all'])_0x46a531=_0x30cf81['filter'](_0x42e2df=>_0x42e2df['tier']==='on-demand');else{if(_0x465093['id'])_0x46a531=_0x30cf81['filter'](_0x53e3a0=>_0x53e3a0['id']===_0x465093['id']&&_0x53e3a0[_0x52e88f(0x69a)]===_0x52e88f(0xa45));else return{'deleted':0x0};}for(const _0x98a1d9 of _0x46a531){await this['cleanupOne'](_0x98a1d9);}const _0x1b390a=_0x30cf81['filter'](_0x555ac9=>!_0x46a531[_0x52e88f(0x275)](_0xcb4662=>_0xcb4662['id']===_0x555ac9['id']));return await this[_0x52e88f(0x83e)][_0x52e88f(0x6e5)][_0x52e88f(0x5c8)](_0x1b390a),{'deleted':_0x46a531[_0x52e88f(0x3b7)]};});}async['sweepExpired'](){const _0x22a705=_0xf8ecb6;return await this[_0x22a705(0x533)](),this[_0x22a705(0x83e)]['store'][_0x22a705(0x715)](async()=>{const _0x13b950=_0x22a705,_0x561090=await this[_0x13b950(0x83e)][_0x13b950(0x6e5)][_0x13b950(0x511)](),_0x3ce5ce=new Date(),_0x37a098=_0x561090[_0x13b950(0x529)](_0x576306=>_0x576306[_0x13b950(0x69a)]===_0x13b950(0xa45)&&_0x576306['ttlExpiresAt']!==void 0x0&&new Date(_0x576306[_0x13b950(0x579)])<=_0x3ce5ce);if(_0x37a098[_0x13b950(0x3b7)]===0x0)return{'expired':0x0};for(const _0x44da57 of _0x37a098){await this['cleanupOne'](_0x44da57);}const _0x17980f=_0x561090[_0x13b950(0x529)](_0x5d7359=>!_0x37a098[_0x13b950(0x275)](_0x53a234=>_0x53a234['id']===_0x5d7359['id']));return await this['opts'][_0x13b950(0x6e5)]['save'](_0x17980f),{'expired':_0x37a098['length']};});}async[_0xf8ecb6(0x95e)](){const _0x16bc70=_0xf8ecb6;await this['whenReady']();const _0x1b2829=this[_0x16bc70(0x778)];if(!_0x1b2829)return;this['jitUser']=null;if(this[_0x16bc70(0x83e)][_0x16bc70(0x6cf)])try{if(_0x16bc70(0x3d1)===_0x16bc70(0x3d1))await this[_0x16bc70(0x83e)][_0x16bc70(0x6cf)][_0x16bc70(0x2f5)](_0x1b2829[_0x16bc70(0x4a1)]);else{const _0x1de8e1=_0x2789e7[_0x16bc70(0x879)]();if(_0x1de8e1[_0x16bc70(0x3a0)]()==='imageKey')return!![];}}catch(_0x35672b){console[_0x16bc70(0x3dd)]('[ceraph-test-data]\x20JIT\x20cleanup\x20failed\x20for\x20'+_0x1b2829['email']+':\x20'+(_0x35672b?.[_0x16bc70(0x531)]??String(_0x35672b)));}await this[_0x16bc70(0x83e)]['store'][_0x16bc70(0x715)](async()=>{const _0x1bcf91=_0x16bc70,_0x38976f=await this['opts'][_0x1bcf91(0x6e5)]['load']();await this[_0x1bcf91(0x83e)]['store']['save'](_0x38976f['filter'](_0x3652e2=>_0x3652e2['id']!==_0x1b2829['id']));});}async[_0xf8ecb6(0x4c9)](_0x2eb9fa,_0x55f00c){const _0x437495=_0xf8ecb6;await _0x55f00c[_0x437495(0x6c6)](_0x2eb9fa)['catch'](()=>void 0x0),await new Promise(_0xd049b1=>setTimeout(_0xd049b1,0x1f4)),await _0x55f00c['launchApp'](_0x2eb9fa)[_0x437495(0x48b)](()=>void 0x0);}async[_0xf8ecb6(0x918)](_0x5b136e){const _0x10fb9a=_0xf8ecb6;if(!this['opts'][_0x10fb9a(0x6cf)])return;try{await this['opts']['adapter']['cleanup'](_0x5b136e['providerUserId']);}catch(_0x5b7947){console['error'](_0x10fb9a(0x28a)+_0x5b136e['email']+':\x20'+(_0x5b7947?.['message']??String(_0x5b7947)));}}};import{promises as _0x2a59b1}from'fs';import{homedir as _0x51eb71}from'os';import{dirname as _0x3d4efa,join as _0x22de02}from'path';function _0x5198ae(_0x1a9d14){const _0x5cc4ab=_0xf8ecb6;return _0x1a9d14[_0x5cc4ab(0x42e)](/[^a-zA-Z0-9_-]/g,'_')['slice'](0x0,0x40);}function _0x340417(){const _0x5bcd1f=_0xf8ecb6;return _0x22de02(_0x51eb71(),_0x5bcd1f(0x4b1),_0x5bcd1f(0x948));}function _0x719e7(_0x227b7a,_0x1fbade={}){const _0x57baa2=_0xf8ecb6,_0x68fddd=_0x1fbade['baseDir']??_0x340417(),_0x5accf2=_0x22de02(_0x68fddd,_0x5198ae(_0x227b7a)+'.json'),_0x5d020b=async _0x83c7c8=>{const _0x534f4f=_0xc050;await _0x2a59b1[_0x534f4f(0x243)](_0x3d4efa(_0x5accf2),{'recursive':!![],'mode':0x1c0});const _0x46597d=_0x5accf2+_0x534f4f(0xa56)+process[_0x534f4f(0x8e3)]+'.'+Math[_0x534f4f(0xafe)]()['toString'](0x24)['slice'](0x2);try{await _0x2a59b1[_0x534f4f(0x865)](_0x46597d,_0x83c7c8,'utf-8'),await _0x2a59b1[_0x534f4f(0x661)](_0x46597d,_0x5accf2);}catch(_0x1edac9){try{if('nPrjP'==='nPrjP')await _0x2a59b1['unlink'](_0x46597d);else return _0x1cd903;}catch{}throw _0x1edac9;}};let _0x5dae2b=Promise[_0x57baa2(0x62d)]();return{async 'load'(){const _0x57e543=_0x57baa2;let _0x442c0f;try{_0x442c0f=await _0x2a59b1[_0x57e543(0x4e4)](_0x5accf2,_0x57e543(0x827));}catch{return[];}let _0x1b57d4;try{_0x1b57d4=JSON['parse'](_0x442c0f);}catch{return[];}if(!Array['isArray'](_0x1b57d4))return[];const _0x4425c4=[];for(const _0x212e66 of _0x1b57d4){if('JrLCU'!=='CdLPc'){if(_0x5d66fa(_0x212e66))_0x4425c4[_0x57e543(0x4d1)](_0x212e66);}else _0x260d58=_0x2db75a[_0x57e543(0x795)](-0x5dc0);}return _0x4425c4;},async 'save'(_0x1593e1){await _0x5d020b(JSON['stringify'](_0x1593e1,null,0x2));},'getPath'(){return _0x5accf2;},async 'withLock'(_0x54a416){const _0x264a4b=_0x57baa2,_0x28d52d=_0x5dae2b;let _0x1bfcd1=()=>{};_0x5dae2b=new Promise(_0x5bd48a=>{const _0x5b8a65=_0xc050;if('YajbS'==='vvaTv'){try{_0x5e790d['kill'](_0x5b8a65(0x58f));}catch{}_0x5d1884();}else _0x1bfcd1=_0x5bd48a;});try{return await _0x28d52d[_0x264a4b(0x48b)](()=>void 0x0),await _0x54a416();}finally{_0x1bfcd1();}}};}function _0x5d66fa(_0x2b3283){const _0x1abffa=_0xf8ecb6;if(!_0x2b3283||typeof _0x2b3283!==_0x1abffa(0x9e3))return![];const _0xd887c3=_0x2b3283;if(typeof _0xd887c3['id']!=='string'||_0xd887c3['id']['length']===0x0)return![];if(typeof _0xd887c3['providerUserId']!==_0x1abffa(0x30d))return![];if(typeof _0xd887c3[_0x1abffa(0x41e)]!=='string'||_0xd887c3[_0x1abffa(0x41e)]['length']===0x0)return![];if(typeof _0xd887c3[_0x1abffa(0x98a)]!=='string')return![];if(_0xd887c3['tier']!=='jit'&&_0xd887c3[_0x1abffa(0x69a)]!==_0x1abffa(0xa45))return![];if(typeof _0xd887c3[_0x1abffa(0x57a)]!==_0x1abffa(0x30d))return![];if(_0xd887c3['sessionToken']!==void 0x0&&typeof _0xd887c3[_0x1abffa(0x9cb)]!=='string')return![];if(_0xd887c3[_0x1abffa(0x630)]!==void 0x0&&typeof _0xd887c3[_0x1abffa(0x630)]!=='string')return![];if(_0xd887c3['ttlExpiresAt']!==void 0x0&&typeof _0xd887c3[_0x1abffa(0x579)]!=='string')return![];return!![];}import{z as _0x252a9b}from'zod';function _0xc0be95(_0x162e22){const _0x374cf7=_0xf8ecb6;return{'content':[{'type':'text','text':JSON[_0x374cf7(0x312)](_0x162e22,null,0x2)}]};}var _0xed9228='Auth-bypass\x20test-user\x20provisioning\x20is\x20a\x20Pro-tier\x20feature.\x20Upgrade\x20at\x20https://ceraph.dev/billing\x20or\x20run\x20without\x20the\x20auth-bypass\x20tool\x20—\x20JIT\x20provisioning\x20still\x20works\x20automatically\x20during\x20chain\x20runs.';function _0x566be6(_0xe0b195,_0x2030f8){const _0x34c9b5=_0xf8ecb6;_0xe0b195['tool'](_0x34c9b5(0x321),_0x34c9b5(0x320),{'tag':_0x252a9b['string']()['optional']()[_0x34c9b5(0x3f0)]('Optional\x20label\x20for\x20tracking\x20this\x20user\x20(e.g.\x20\x27checkout-test\x27).\x20Surfaced\x20on\x20the\x20email\x20prefix\x20and\x20in\x20`ceraph_test_data_list`\x20output.')},async({tag:_0x589f94})=>{const _0x42b8cb=_0x34c9b5;try{const _0x282084=await _0x2030f8[_0x42b8cb(0x8ec)]();if(!_0x282084)return'yCsmp'!=='yCsmp'?_0x3f3196(_0x15b66a(),_0x42b8cb(0x4b1),_0x42b8cb(0x948)):{..._0xc0be95({'ok':![],'error':_0xed9228}),'isError':!![]};const _0x183ce9=await _0x2030f8['provisionOnDemand']({'tag':_0x589f94});return _0xc0be95({'ok':!![],'user':{'id':_0x183ce9[_0x42b8cb(0x462)]['id'],'email':_0x183ce9[_0x42b8cb(0x462)][_0x42b8cb(0x41e)],'password':_0x183ce9[_0x42b8cb(0x462)][_0x42b8cb(0x98a)],..._0x183ce9[_0x42b8cb(0x462)][_0x42b8cb(0x9cb)]?{'sessionToken':_0x183ce9[_0x42b8cb(0x462)][_0x42b8cb(0x9cb)]}:{},'tier':_0x183ce9[_0x42b8cb(0x462)][_0x42b8cb(0x69a)],'createdAt':_0x183ce9['user']['createdAt'],..._0x183ce9['user'][_0x42b8cb(0x630)]?{'tag':_0x183ce9[_0x42b8cb(0x462)][_0x42b8cb(0x630)]}:{},..._0x183ce9[_0x42b8cb(0x462)][_0x42b8cb(0x579)]?{'ttlExpiresAt':_0x183ce9[_0x42b8cb(0x462)][_0x42b8cb(0x579)]}:{}}});}catch(_0x156ab8){if(_0x42b8cb(0x22e)===_0x42b8cb(0x22e)){if(_0x156ab8 instanceof _0x4fda8d)return{..._0xc0be95({'ok':![],'code':_0x156ab8['code'],'error':_0x156ab8['message']}),'isError':!![]};return{..._0xc0be95({'ok':![],'error':_0x42b8cb(0x3fc)+(_0x156ab8 instanceof Error?_0x156ab8['message']:String(_0x156ab8))}),'isError':!![]};}else return null;}}),_0xe0b195['tool']('ceraph_test_data_list',_0x34c9b5(0x5fc),{},async()=>{const _0x4949df=_0x34c9b5;try{const _0x1bcdd5=await _0x2030f8[_0x4949df(0x8ec)]();if(!_0x1bcdd5)return{..._0xc0be95({'ok':![],'error':_0xed9228}),'isError':!![]};const _0x239faa=await _0x2030f8['listOnDemand']();return _0xc0be95({'ok':!![],'users':_0x239faa[_0x4949df(0x86b)](_0x17b3f7=>({'id':_0x17b3f7['id'],'email':_0x17b3f7[_0x4949df(0x41e)],'tier':_0x17b3f7[_0x4949df(0x69a)],'createdAt':_0x17b3f7[_0x4949df(0x57a)],..._0x17b3f7[_0x4949df(0x630)]?{'tag':_0x17b3f7['tag']}:{},..._0x17b3f7['ttlExpiresAt']?{'ttlExpiresAt':_0x17b3f7[_0x4949df(0x579)]}:{}}))});}catch(_0x3f72a3){return{..._0xc0be95({'ok':![],'error':'ceraph_test_data_list\x20failed:\x20'+(_0x3f72a3 instanceof Error?_0x3f72a3[_0x4949df(0x531)]:String(_0x3f72a3))}),'isError':!![]};}}),_0xe0b195['tool'](_0x34c9b5(0x514),_0x34c9b5(0x67d),{'id':_0x252a9b['string']()[_0x34c9b5(0x768)]()['describe'](_0x34c9b5(0x43c)),'all':_0x252a9b['boolean']()['optional']()[_0x34c9b5(0x3f0)](_0x34c9b5(0x351))},async({id:_0x5b259d,all:_0x38fd08})=>{const _0x2e412b=_0x34c9b5;try{const _0x45cc17=await _0x2030f8[_0x2e412b(0x8ec)]();if(!_0x45cc17)return{..._0xc0be95({'ok':![],'error':_0xed9228}),'isError':!![]};if(!_0x5b259d&&!_0x38fd08)return{..._0xc0be95({'ok':![],'error':_0x2e412b(0x2cf)}),'isError':!![]};const _0x52d54d=await _0x2030f8['cleanup']({'id':_0x5b259d,'all':_0x38fd08});return _0xc0be95({'ok':!![],'deleted':_0x52d54d[_0x2e412b(0x387)]});}catch(_0x8670bd){return{..._0xc0be95({'ok':![],'error':_0x2e412b(0x642)+(_0x8670bd instanceof Error?_0x8670bd[_0x2e412b(0x531)]:String(_0x8670bd))}),'isError':!![]};}});}var _0x579376=process['cwd'](),_0x224f6b=_0x63a6cf(_0x579376),_0x504dae=_0x224f6b[_0xf8ecb6(0x8b5)],_0x3f7ec9=_0x579376;_0x224f6b[_0xf8ecb6(0x8b5)]!==_0x579376&&process['stderr']['write']('[ceraph]\x20'+_0x224f6b['reason']+'\x0a');var _0x5b7351=_0x232ea9(_0x504dae,'.ceraph'),_0x53aed0=new _0x989afa(_0x504dae),_0x229990=new _0x3cf6c9(),_0x2eb7fe=new _0x70c5ce({'targetResolver':_0x229990}),_0x39dae6=new _0x5eae4b(_0x504dae,_0x5b7351),_0x5cb8cf=new _0x43c6e0(_0x2eb7fe,_0x229990);_0x229990[_0xf8ecb6(0x747)](_0x5cb8cf);var _0x46143c=new _0x2cc05b(_0x2eb7fe),_0x24325a=new _0x36c71a(_0x229990,_0x5b7351,_0x504dae),_0x5246a9=new _0x5ee35c(),_0x1cffbc=new _0x482f2a(),_0x35c9ca=new _0x3e768a({'screen':_0x2eb7fe,'mode':_0x5daebe(process.env.CERAPH_AUTO_ACCEPT_PERMISSIONS)}),_0x2924fc=process.env.CERAPH_DISABLE_SPEED_OPTS==='1'||process.env.CERAPH_DISABLE_SPEED_OPTS===_0xf8ecb6(0x293),_0x891648=new _0x4af023(_0x2eb7fe,_0x5cb8cf,_0x46143c,{'projectDir':_0x504dae,'permissionInterceptor':_0x35c9ca,'disableAXCache':_0x2924fc,'disableBulkActions':_0x2924fc}),_0x402758=_0x417aee(_0x504dae),_0x26d334=process.env.CERAPH_SIGNAL_PORT?Number(process.env.CERAPH_SIGNAL_PORT):void 0x0,_0x35b0ad=new _0x2fdbde(_0x53aed0,{'port':Number[_0xf8ecb6(0xa89)](_0x26d334)?_0x26d334:void 0x0,'host':'0.0.0.0'}),_0x2c8dd8=null,_0x140ce4='bind-failed',_0x3ad502=0x2710,_0x5b307c,_0x862493=![],_0x860608=process.env.CERAPH_KEEP_AWAKE_HEARTBEAT===_0xf8ecb6(0x411)?null:new _0x3396cb(_0x2eb7fe,{'onRedbox':_0x121893=>_0x35b0ad[_0xf8ecb6(0x679)]({'kind':_0xf8ecb6(0x60c),'message':_0x121893,'stack':'','timestamp':new Date()[_0xf8ecb6(0x471)]()})}),_0x4436b4=new _0x153604({'projectDir':_0x504dae}),_0x564c17=_0x5198ae(_0x504dae),_0x250426=_0x719e7(_0x564c17),_0x6faf18=new _0x271e33({'projectDir':_0x504dae,'projectId':_0x564c17,'store':_0x250426,'adapter':void 0x0,'isProTier':()=>_0x2a0a26()}),_0x22cea7=new _0x28bbaf(_0x891648,_0x2eb7fe,_0x5cb8cf,_0x35b0ad,{'runsStore':_0x4436b4,'testDataManager':_0x6faf18,'videoRecorderFactory':({runId:_0x31a0a0})=>new _0x5cf829({'resolver':_0x229990,'outputPath':_0x232ea9(_0x4436b4[_0xf8ecb6(0xae2)],_0x31a0a0,_0xf8ecb6(0x74e))})});_0x229990[_0xf8ecb6(0x600)](async _0xf59ff9=>{const _0x246ad8=_0xf8ecb6;if(!_0xf59ff9['udid'])return;await _0x3281ae(_0xf59ff9['udid'])[_0x246ad8(0x48b)](()=>null);const _0x53134a=await _0x152bfa(_0xf59ff9[_0x246ad8(0x5a2)])['catch'](()=>null);_0x53134a&&_0x53134a[_0x246ad8(0x428)]===_0x246ad8(0x576)&&process[_0x246ad8(0x910)]['write'](_0x246ad8(0x599)+_0x53134a['message']+'\x0a');});function _0x2c6da6(){return _0x3fb793({'screen':_0x2eb7fe,'apps':_0x5cb8cf,'autonomy':_0x46143c,'iproxyManager':_0x5246a9,'projectDir':_0x504dae,'target':_0x229990});}var _0x18d779=((()=>{try{const _0x4d6d34=_0x57c4ae(import.meta.url),_0x4d6559=_0x4d6d34('../package.json');return _0x4d6559['version']??'0.0.0';}catch{return'0.0.0';}})()),_0x4fd7c4=new McpServer({'name':_0xf8ecb6(0x223),'version':_0x18d779},{'capabilities':{'tools':{},'logging':{}},'instructions':_0xf8ecb6(0x666)});_0x35b0ad[_0xf8ecb6(0x77e)](_0x589e61=>{const _0x225978=_0xf8ecb6,_0x18a590=_0x589e61[_0x225978(0xb14)]==='network-error'?_0x225978(0x696):'error';void _0x4fd7c4['server'][_0x225978(0xa2c)]({'level':_0x18a590,'logger':_0x225978(0x23d),'data':{'kind':_0x589e61[_0x225978(0xb14)],'message':_0x589e61[_0x225978(0x531)],..._0x589e61['stack']?{'stack':_0x589e61[_0x225978(0xade)]}:{},..._0x589e61['url']?{'url':_0x589e61[_0x225978(0x269)]}:{},..._0x589e61['status']!==void 0x0?{'status':_0x589e61[_0x225978(0x428)]}:{},'timestamp':_0x589e61['timestamp']}})['catch'](()=>void 0x0);});function _0x393307(_0x5a4350,_0x36ba86){const _0x4081cb=_0xf8ecb6;_0x36ba86 instanceof _0x3eb20a&&(_0x36ba86[_0x4081cb(0xb14)]==='account-invalid'||_0x36ba86[_0x4081cb(0xb14)]==='tier-gated')&&_0x409a76();const _0x201e47=_0x36ba86 instanceof _0x3eb20a?_0x36ba86[_0x4081cb(0x847)]:_0x5a4350+'\x20failed:\x20'+(_0x36ba86 instanceof Error?_0x36ba86[_0x4081cb(0x531)]:String(_0x36ba86));return{'content':[{'type':'text','text':_0x201e47}],'isError':!![]};}async function _0x1af761(_0x26a7ab){const _0x2953b8=_0xf8ecb6,_0x4e324f=new AbortController(),_0x184ec8=setTimeout(()=>_0x4e324f[_0x2953b8(0x95c)](),0x5dc);try{const _0x2adc0b=await fetch('http://localhost:'+_0x26a7ab+'/status',{'signal':_0x4e324f['signal']});return _0x2adc0b['ok'];}catch{return![];}finally{clearTimeout(_0x184ec8);}}_0x4fd7c4[_0xf8ecb6(0x34e)]('rn_build_ios','Build\x20and\x20run\x20the\x20React\x20Native\x20app\x20on\x20an\x20iOS\x20device\x20or\x20simulator.\x20Auto-detects\x20Expo\x20vs\x20bare\x20React\x20Native\x20and\x20uses\x20the\x20correct\x20command.\x20Captures\x20Xcode\x20build\x20output\x20and\x20returns\x20structured\x20error\x20information.\x20If\x20clean\x20is\x20true,\x20runs\x20`npx\x20expo\x20prebuild\x20--clean`\x20first\x20(Expo\x20only).\x20To\x20bring\x20everything\x20up\x20in\x20one\x20call\x20(Metro\x20+\x20build\x20+\x20verify),\x20use\x20ceraph_start.',{'clean':_0x344f4d[_0xf8ecb6(0xa6d)]()[_0xf8ecb6(0x768)]()['describe']('Run\x20prebuild\x20--clean\x20before\x20building\x20(Expo\x20only)'),'device':_0x344f4d['string']()[_0xf8ecb6(0x768)]()['describe']('Device\x20UDID\x20to\x20target\x20(e.g.,\x2000008140-001958943A78801C)')},async({clean:_0x2dc522,device:_0x44fac1})=>{const _0x389778=_0xf8ecb6;try{const _0x6c7f27=await _0x53aed0[_0x389778(0x537)]({'clean':_0x2dc522,'device':_0x44fac1});return _0x6c7f27['success']&&await _0x39dae6[_0x389778(0x7ba)]()['catch'](()=>{}),{'content':[{'type':'text','text':JSON[_0x389778(0x312)](_0x6c7f27,null,0x2)}],'isError':!_0x6c7f27['success']};}catch(_0x13ca4e){return _0x393307('rn_build_ios',_0x13ca4e);}}),_0x4fd7c4['tool'](_0xf8ecb6(0x3ce),'Start\x20the\x20Metro\x20dev\x20server.\x20Auto-detects\x20Expo\x20vs\x20bare\x20React\x20Native.\x20Monitors\x20console\x20output\x20for\x20runtime\x20errors\x20and\x20warnings.\x20To\x20bring\x20everything\x20up\x20in\x20one\x20call\x20(Metro\x20+\x20build\x20+\x20verify),\x20use\x20ceraph_start.',{'port':_0x344f4d[_0xf8ecb6(0x2af)]()['optional']()['describe']('Port\x20for\x20Metro\x20bundler\x20(default:\x208081)'),'clear':_0x344f4d['boolean']()[_0xf8ecb6(0x768)]()['describe']('Clear\x20Metro\x20bundler\x20cache\x20on\x20start')},async({port:_0x4cad1c,clear:_0x4c3399})=>{const _0x1489e3=_0xf8ecb6;try{const _0x3532eb=await _0x53aed0['startMetro']({'port':_0x4cad1c,'clear':_0x4c3399});return{'content':[{'type':_0x1489e3(0x3e0),'text':JSON['stringify'](_0x3532eb,null,0x2)}],'isError':!_0x3532eb[_0x1489e3(0x6d0)]};}catch(_0x27f45d){return _0x393307(_0x1489e3(0x3ce),_0x27f45d);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('ceraph_start',_0xf8ecb6(0x412),{'device':_0x344f4d['string']()['optional']()['describe']('Device\x20UDID\x20to\x20target\x20(e.g.,\x2000008140-001958943A78801C)'),'port':_0x344f4d[_0xf8ecb6(0x2af)]()['optional']()['describe']('Port\x20for\x20Metro\x20bundler\x20(default:\x208081)'),'bundleId':_0x344f4d['string']()['optional']()['describe']('Bundle\x20ID\x20of\x20the\x20app\x20under\x20test\x20(e.g.,\x20com.acme.myapp).\x20Used\x20for\x20the\x20app-installed\x20staleness\x20check\x20and\x20doctor.\x20Pass\x20it\x20so\x20the\x20build\x20step\x20can\x20skip\x20when\x20the\x20app\x20is\x20already\x20installed;\x20without\x20it,\x20build-skip\x20falls\x20back\x20to\x20the\x20prebuild\x20snapshot\x20only\x20(a\x20cold\x20first\x20run\x20with\x20no\x20snapshot\x20will\x20build).'),'clean':_0x344f4d['boolean']()['optional']()['describe'](_0xf8ecb6(0x6fc)),'requiredEnv':_0x344f4d['array'](_0x344f4d[_0xf8ecb6(0x30d)]())[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x94d)),'expectedNetwork':_0x344f4d['string']()[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x5e7))},async({device:_0x89a3b1,port:_0x1e2944,bundleId:_0x86d0fc,clean:_0xc540f7,requiredEnv:_0x3a30bb,expectedNetwork:_0x59a515})=>{const _0x222d90=_0xf8ecb6;try{if(_0x222d90(0x70e)===_0x222d90(0x70e)){const _0x2f041e=_0x86d0fc??await _0x1d9f13(_0x504dae)[_0x222d90(0x48b)](()=>null),_0x479b9e=await _0x382105({'checkTargetReady':async()=>{const _0x267783=_0x222d90,_0x5c3eee=await _0x229990['resolve']();if(_0x5c3eee['target']==='simulator'){const _0x8403bd=await _0x3eac78()['catch'](()=>[]);if(_0x8403bd['length']===0x0)return{'ok':![],'detail':'No\x20booted\x20simulator.','remediation':'Boot\x20a\x20simulator\x20(open\x20-a\x20Simulator),\x20or\x20connect\x20an\x20iPhone\x20via\x20USB-C,\x20then\x20retry.'};const _0x20d501=await _0x3da09e(_0x504dae,{'log':_0x501427=>{const _0x366af9=_0xc050;void _0x4fd7c4[_0x366af9(0x99d)]['sendLoggingMessage']({'level':'info','logger':_0x366af9(0x9a2),'data':_0x501427})['catch'](()=>void 0x0);}});if(_0x20d501['status']===_0x267783(0x2c4)){const _0x57e5b7=await _0x579c8c(_0x504dae)[_0x267783(0x48b)](()=>_0x267783(0x26d));return{'ok':![],'detail':_0x267783(0x832)+_0x20d501[_0x267783(0x3dd)],'remediation':'Couldn\x27t\x20auto-install\x20appium-webdriveragent\x20—\x20install\x20it\x20manually\x20with\x20`'+_0x57e5b7+'\x20'+(_0x57e5b7===_0x267783(0x26d)?'install':_0x267783(0x856))+_0x267783(0x6f1)};}return{'ok':!![],'detail':_0x20d501[_0x267783(0x428)]==='installed'?'Simulator\x20booted\x20('+_0x8403bd[0x0]['name']+');\x20installed\x20appium-webdriveragent.':_0x267783(0x72b)+_0x8403bd[0x0]['name']+');\x20appium-webdriveragent\x20ready.'};}const _0x33fb9a=await _0x5cb8cf['getUdid']()['catch'](()=>null);return _0x33fb9a?{'ok':!![],'detail':_0x267783(0x6b5)+_0x33fb9a+'\x20connected.'}:{'ok':![],'detail':'No\x20iOS\x20device\x20detected.','remediation':'Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20or\x20boot\x20a\x20simulator\x20(open\x20-a\x20Simulator),\x20then\x20retry.'};},'missingRequiredEnv':()=>(_0x3a30bb??[])['filter'](_0xf97358=>{const _0x1e1dda=process.env[_0xf97358];return _0x1e1dda===void 0x0||_0x1e1dda==='';}),'isMetroRunning':_0x1af761,'startMetro':({port:_0x4653d8})=>_0x53aed0[_0x222d90(0x1fd)]({'port':_0x4653d8}),'needsBuild':async()=>{const _0x29af9f=_0x222d90,_0x147a34=[];if(_0x2f041e){const _0x39cda5=await _0x5cb8cf[_0x29af9f(0x84b)]()[_0x29af9f(0x48b)](_0x439ba8=>({'success':![],'apps':[],'error':_0x439ba8 instanceof Error?_0x439ba8[_0x29af9f(0x531)]:String(_0x439ba8)})),_0x135b2a=_0x39cda5['success']&&_0x39cda5[_0x29af9f(0x508)][_0x29af9f(0x275)](_0x44a55c=>_0x44a55c[_0x29af9f(0x369)]===_0x2f041e);if(!_0x135b2a){if('ZeFLk'==='ZeFLk'){if(_0x39cda5['success'])_0x147a34['push'](_0x29af9f(0x9c0)+_0x2f041e+_0x29af9f(0x975));else{const _0x6dd0bc=_0x39cda5['error']?':\x20'+_0x39cda5[_0x29af9f(0x3dd)]:'';_0x147a34[_0x29af9f(0x4d1)]('could\x20not\x20confirm\x20the\x20app\x20is\x20installed'+_0x6dd0bc);}}else{if(!_0x409a2d[_0x29af9f(0xb00)])return _0x286931;const _0x4066f0=_0x171062(_0x4b4aaa['target']),_0x442c01={};if(_0x4066f0['text']!==void 0x0)_0x442c01['text']=_0x4066f0['text'];return _0x4066f0[_0x29af9f(0x444)]!==void 0x0&&(_0x442c01['accessibilityLabel']=_0x4066f0['accessibilityLabel']),{..._0x1121a1,'into':_0x442c01,'value':_0x55f1cb['value']??''};}}}const _0x2372da=await _0x39dae6[_0x29af9f(0xa52)]()[_0x29af9f(0x48b)](()=>({'needsClean':![],'reasons':[]}));return _0x2372da['needsClean']&&_0x147a34['push'](..._0x2372da[_0x29af9f(0x479)]),{'needsBuild':_0x147a34['length']>0x0,'reasons':_0x147a34};},'runBuild':({clean:_0x137706,device:_0x45d63d})=>_0x53aed0[_0x222d90(0x537)]({'clean':_0x137706,'device':_0x45d63d}),'saveBuildSnapshot':()=>_0x39dae6['saveSnapshot'](),'foregroundApp':_0x2f041e?async()=>{const _0x12f04a=_0x222d90,_0x2f846b=await _0x5cb8cf['listInstalledApps']()['catch'](()=>null);if(_0x2f846b?.[_0x12f04a(0x6d0)]&&!_0x2f846b['apps'][_0x12f04a(0x275)](_0x24def1=>_0x24def1[_0x12f04a(0x369)]===_0x2f041e))return{'ok':![],'detail':_0x2f041e+_0x12f04a(0x4c2)+(_0x86d0fc?'':_0x12f04a(0x3bc))};const _0x88b0e1=await _0x5cb8cf[_0x12f04a(0xadd)](_0x2f041e);return _0x88b0e1['success']?{'ok':!![],'detail':_0x12f04a(0x38b)+_0x2f041e+_0x12f04a(0x5f8)}:{'ok':![],'detail':'Could\x20not\x20foreground\x20'+_0x2f041e+':\x20'+(_0x88b0e1['error']??_0x12f04a(0x6b2))+'.'};}:void 0x0,'ensureWda':async()=>{const _0x12a21f=_0x222d90,_0x396e48=await _0x229990['resolve']();if(_0x396e48['target']==='simulator'){const _0x30b73d=await _0x24325a['start']({});if(_0x30b73d['ok'])return{'ok':!![],'reason':_0x30b73d[_0x12a21f(0xaf0)]?_0x12a21f(0xaf0):_0x12a21f(0x6db),'detail':'Simulator\x20WebDriverAgent\x20'+(_0x30b73d['reused']?'reused':_0x12a21f(0x6db))+'\x20on\x20:'+_0x30b73d['port']+'.'};let _0x2f6797;if(_0x30b73d[_0x12a21f(0x256)]==='no-booted-simulator')_0x2f6797=_0x12a21f(0x5ef);else{if(_0x30b73d[_0x12a21f(0x256)]==='simulator-not-found')_0x2f6797='The\x20selected\x20simulator\x20wasn\x27t\x20found\x20—\x20boot\x20one\x20and\x20retry.';else{if(_0x30b73d[_0x12a21f(0x256)]==='wda-package-missing')_0x2f6797=_0x12a21f(0x255);else _0x30b73d[_0x12a21f(0x256)]===_0x12a21f(0x4d9)?_0x2f6797=_0x12a21f(0x643):_0x2f6797='See\x20the\x20WebDriverAgent\x20error\x20above\x20for\x20the\x20specific\x20fix,\x20then\x20call\x20ceraph_start\x20again.';}}return{'ok':![],'error':_0x30b73d[_0x12a21f(0x3dd)],'detail':'Could\x20not\x20start\x20simulator\x20WebDriverAgent:\x20'+_0x30b73d['error'],'remediation':_0x2f6797};}const _0x553c78=await _0x2d2898(),_0x422546=await _0x1cffbc[_0x12a21f(0x5cf)]({'resolverUdid':_0x396e48[_0x12a21f(0x5a2)]});if(_0x422546['ok'])return{'ok':!![],'reason':_0x422546['reason'],'detail':_0x12a21f(0x888)+_0x422546['reason']+'\x20('+_0x553c78+').'};return{'ok':![],'error':_0x422546['error'],'detail':'Could\x20not\x20start\x20WebDriverAgent:\x20'+_0x422546[_0x12a21f(0x3dd)],'remediation':_0x422546[_0x12a21f(0x638)]??_0x12a21f(0x6af)};},'runDoctor':()=>_0x3fb793({'screen':_0x2eb7fe,'apps':_0x5cb8cf,'autonomy':_0x46143c,'iproxyManager':_0x5246a9,'bundleId':_0x2f041e??void 0x0,'requiredEnv':_0x3a30bb,'expectedNetwork':_0x59a515,'projectDir':_0x504dae,'target':_0x229990}),'cacheDoctor':_0x599504=>_0x17c6c2(_0x599504),'resolveTarget':()=>_0x229990[_0x222d90(0x222)]()},{'device':_0x89a3b1,'port':_0x1e2944,'clean':_0xc540f7});return{..._0x4c7e7d(_0x479b9e),'isError':!_0x479b9e['ready']};}else return this[_0x222d90(0x618)]!==null&&this[_0x222d90(0x618)]['exitCode']===null;}catch(_0x425ff5){return _0x222d90(0x807)!=='GwtMS'?_0x30aed4('rn_wait_for_device',_0x1d3f01):_0x393307(_0x222d90(0x693),_0x425ff5);}}),_0x4fd7c4['tool'](_0xf8ecb6(0x9fe),_0xf8ecb6(0x4a2),{},async()=>{const _0x3a9df6=_0xf8ecb6;try{const _0x39b8bb=_0x53aed0['getErrors']();return{'content':[{'type':'text','text':JSON[_0x3a9df6(0x312)](_0x39b8bb,null,0x2)}]};}catch(_0x527cfb){return _0x393307('rn_get_errors',_0x527cfb);}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0x558),_0xf8ecb6(0x682),{'lines':_0x344f4d['number']()['optional']()['describe'](_0xf8ecb6(0xa2e)),'level':_0x344f4d[_0xf8ecb6(0x407)](['all','error',_0xf8ecb6(0xb20),'log'])['optional']()['describe'](_0xf8ecb6(0x52f))},async({lines:_0x55a113,level:_0x2c6e28})=>{const _0x1fd6c3=_0xf8ecb6;try{const _0x1ec469=_0x53aed0[_0x1fd6c3(0x7c5)]({'lines':_0x55a113,'level':_0x2c6e28});if(_0x1ec469[_0x1fd6c3(0x3b7)]===0x0)return{'content':[{'type':'text','text':'No\x20console\x20output\x20captured.\x20Is\x20Metro\x20running?\x20Use\x20rn_start\x20to\x20launch\x20it.'}]};return{'content':[{'type':_0x1fd6c3(0x3e0),'text':_0x1ec469[_0x1fd6c3(0x4ec)]('\x0a')}]};}catch(_0x1dba3a){return _0x393307(_0x1fd6c3(0x558),_0x1dba3a);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('rn_check_prebuild','Check\x20if\x20a\x20clean\x20Expo\x20prebuild\x20is\x20needed\x20(Expo\x20projects\x20only).\x20Compares\x20current\x20package.json\x20dependencies,\x20app.json\x20config,\x20and\x20ios/Podfile.lock\x20against\x20a\x20cached\x20snapshot\x20from\x20the\x20last\x20successful\x20build.',{},async()=>{const _0xba32e6=_0xf8ecb6;try{const _0x422dc1=await _0x53aed0['detectProjectType']();if(!_0x422dc1)return _0xba32e6(0x5c5)==='aHAJg'?{'content':[{'type':'text','text':JSON[_0xba32e6(0x312)]({'needsClean':![],'reasons':[_0xba32e6(0x64d)]})}]}:'unknown';const _0x1ec446=await _0x39dae6['check']();return{'content':[{'type':_0xba32e6(0x3e0),'text':JSON[_0xba32e6(0x312)](_0x1ec446,null,0x2)}]};}catch(_0x4b9df1){return _0x393307(_0xba32e6(0x8ac),_0x4b9df1);}}),_0x4fd7c4['tool'](_0xf8ecb6(0x5e1),'Tap\x20at\x20specific\x20coordinates\x20on\x20the\x20iOS\x20device\x20screen\x20via\x20WebDriverAgent.\x20Automatically\x20corrects\x20for\x20pixel\x20ratio\x20mismatch\x20when\x20coordinates\x20come\x20from\x20a\x20screenshot\x20(divides\x20by\x20device\x20pixel\x20ratio).\x20Requires\x20WebDriverAgent\x20reachable\x20(localhost:8100\x20on\x20a\x20real\x20device;\x20call\x20rn_wda_start\x20first\x20for\x20a\x20simulator).',{'x':_0x344f4d['number']()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x227)),'y':_0x344f4d['number']()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x8df)),'coordinateSource':_0x344f4d['enum'](['screenshot','device'])[_0xf8ecb6(0x768)]()['describe'](_0xf8ecb6(0x50f))},async({x:_0x371dcd,y:_0x2d7f34,coordinateSource:_0x30a5d5})=>{const _0x41ce00=_0xf8ecb6;try{const _0x4259d7=await _0x2eb7fe['isAvailable']();if(!_0x4259d7)return{'content':[{'type':_0x41ce00(0x3e0),'text':JSON['stringify']({'success':![],'error':'WebDriverAgent\x20is\x20not\x20reachable.\x20On\x20a\x20real\x20device\x20it\x27s\x20served\x20at\x20localhost:8100\x20(run\x20it\x20via\x20Xcode\x27s\x20WebDriverAgentRunner);\x20for\x20a\x20simulator,\x20call\x20`rn_wda_start`\x20first\x20to\x20launch\x20WDA\x20and\x20route\x20to\x20it.','tappedAt':{'x':_0x371dcd,'y':_0x2d7f34},'pixelRatio':0x0,'correction':_0x41ce00(0x41f)})}],'isError':!![]};const _0x4b920d=(_0x30a5d5??_0x41ce00(0x439))===_0x41ce00(0x439),_0xa05e4a=await _0x2eb7fe['tap'](_0x371dcd,_0x2d7f34,_0x4b920d);return{'content':[{'type':'text','text':JSON[_0x41ce00(0x312)](_0xa05e4a,null,0x2)}],'isError':!_0xa05e4a[_0x41ce00(0x6d0)]};}catch(_0x34508f){return _0x393307('screen_tap',_0x34508f);}});async function _0x682835(){const _0x5a98bc=_0xf8ecb6,_0x59b58b=await _0x2eb7fe['isAvailable']();if(_0x59b58b)return{'ok':!![]};return{'ok':![],'payload':{'success':![],'error':_0x5a98bc(0x486)}};}function _0x4c7e7d(_0x2a6af8){const _0xb838c=_0xf8ecb6;return{'content':[{'type':_0xb838c(0x3e0),'text':JSON['stringify'](_0x2a6af8,null,0x2)}]};}var _0x39ac00=0xa;function _0x5908bf(_0xc59a42){const _0x561ef6=_0xf8ecb6;if(Array[_0x561ef6(0x200)](_0xc59a42)){if('RYaIx'!==_0x561ef6(0x786))throw new _0x528cba('api-error','Supabase\x20adapter\x20requires\x20`projectUrl`\x20for\x20cleanup.');else return _0xc59a42[_0x561ef6(0x86b)](_0x13629c=>_0x5908bf(_0x13629c));}if(_0xc59a42&&typeof _0xc59a42===_0x561ef6(0x9e3)){const _0x5b6e2b={};for(const [_0x58de4c,_0x6c636f]of Object['entries'](_0xc59a42)){if(_0x58de4c==='screenshotBase64')continue;_0x5b6e2b[_0x58de4c]=_0x5908bf(_0x6c636f);}return _0x5b6e2b;}return _0xc59a42;}function _0x102b65(_0x1d37b5,_0x45e4e3,_0x234ac7){const _0x144455=_0xf8ecb6,_0x16e338=[{'type':_0x144455(0x3e0),'text':JSON['stringify'](_0x5908bf(_0x1d37b5),null,0x2)}];_0x234ac7&&_0x16e338['push']({'type':_0x144455(0x3e0),'text':_0x234ac7});const _0x4b852c=[];for(const _0x492b27 of _0x45e4e3){if(!('steps'in _0x492b27)||!Array['isArray'](_0x492b27['steps']))continue;for(const _0xbb1601 of _0x492b27[_0x144455(0xa02)]){_0xbb1601[_0x144455(0x801)]&&_0x4b852c[_0x144455(0x4d1)]({'flow':_0x492b27[_0x144455(0x8f8)],'stepIndex':_0xbb1601['stepIndex'],'base64':_0xbb1601[_0x144455(0x801)]});}}const _0x56eeec=Math[_0x144455(0x488)](_0x4b852c[_0x144455(0x3b7)],_0x39ac00);for(let _0x5c36dc=0x0;_0x5c36dc<_0x56eeec;_0x5c36dc++){const _0x5ae3a7=_0x4b852c[_0x5c36dc];_0x16e338[_0x144455(0x4d1)]({'type':'text','text':'Screenshot\x20—\x20flow=\x22'+_0x5ae3a7[_0x144455(0x8f8)]+_0x144455(0x333)+_0x5ae3a7['stepIndex']}),_0x16e338[_0x144455(0x4d1)]({'type':'image','data':_0x5ae3a7[_0x144455(0x343)],'mimeType':'image/png'});}if(_0x4b852c[_0x144455(0x3b7)]>_0x39ac00){const _0x9a38fa=_0x4b852c[_0x144455(0x3b7)]-_0x39ac00;_0x16e338['push']({'type':_0x144455(0x3e0),'text':'+'+_0x9a38fa+_0x144455(0x7f7)+(_0x9a38fa===0x1?'':'s')+_0x144455(0x532)+_0x39ac00+').\x20Find\x20them\x20on\x20disk\x20under\x20.ceraph/runs/<runId>/\x20and\x20correlate\x20with\x20the\x20run\x27s\x20recorded\x20video.'});}return{'content':_0x16e338};}function _0x100267(_0x535a49){const {entry:_0x23ab92,advisedStatus:_0x2081c3}=_0x12b624(_0x35b0ad['hasReceivedDeviceContact'](),_0x2c8dd8,_0x140ce4);_0x2c8dd8=_0x2081c3;if(_0x23ab92)_0x535a49['push'](_0x23ab92);}async function _0x5b4fb6(){const _0x511851=_0xf8ecb6;if(_0x35b0ad[_0x511851(0x74c)]()||_0x862493)return;_0x862493=!![];try{const _0x6025d1=await _0x35b0ad['ensureListening']();_0x140ce4=_0x3f573f(_0x6025d1)['status'],_0x35b0ad[_0x511851(0x74c)]()&&(console[_0x511851(0x3dd)](_0x511851(0x821)),_0x5b307c&&(clearInterval(_0x5b307c),_0x5b307c=void 0x0));}finally{_0x862493=![];}}function _0xd36556(){if(_0x5b307c||_0x35b0ad['isListening']())return;_0x5b307c=setInterval(()=>{void _0x5b4fb6();},_0x3ad502),_0x5b307c['unref']?.();}_0x4fd7c4['tool']('screen_swipe',_0xf8ecb6(0x680),{'direction':_0x344f4d[_0xf8ecb6(0x407)](['up','down',_0xf8ecb6(0x4a4),_0xf8ecb6(0x8cd)]),'from':_0x344f4d['object']({'x':_0x344f4d[_0xf8ecb6(0x2af)](),'y':_0x344f4d[_0xf8ecb6(0x2af)]()})[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)]('Optional\x20swipe\x20start\x20point.\x20Defaults\x20to\x20screen\x20center.'),'distancePx':_0x344f4d['number']()['optional']()[_0xf8ecb6(0x3f0)]('Swipe\x20distance\x20in\x20points.'),'durationMs':_0x344f4d['number']()[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)]('Swipe\x20duration\x20in\x20ms.'),'coordinateSource':_0x344f4d[_0xf8ecb6(0x407)](['screenshot',_0xf8ecb6(0xad2)])['optional']()},async _0x4b81dc=>{const _0x45b0b3=_0xf8ecb6;try{if(_0x45b0b3(0x68a)===_0x45b0b3(0x68a)){const _0x39f227=await _0x682835();if(!_0x39f227['ok'])return{..._0x4c7e7d(_0x39f227['payload']),'isError':!![]};const _0xe362fb=await _0x2eb7fe[_0x45b0b3(0x8b2)]({'direction':_0x4b81dc['direction'],'from':_0x4b81dc['from'],'distancePx':_0x4b81dc[_0x45b0b3(0xa28)],'durationMs':_0x4b81dc[_0x45b0b3(0x270)],'coordinateSource':_0x4b81dc[_0x45b0b3(0x8f1)]});return{..._0x4c7e7d(_0xe362fb),'isError':!_0xe362fb[_0x45b0b3(0x6d0)]};}else return{'success':!![],'details':{'element':_0x1e6c1d[_0x45b0b3(0x820)],'retryAfterSwipes':_0x20c504+0x1}};}catch(_0x18d3bb){return _0x393307('screen_swipe',_0x18d3bb);}}),_0x4fd7c4['tool']('screen_scroll_to',_0xf8ecb6(0xadc),{'text':_0x344f4d[_0xf8ecb6(0x30d)]()['optional'](),'accessibilityLabel':_0x344f4d['string']()['optional'](),'maxSwipes':_0x344f4d['number']()[_0xf8ecb6(0x768)](),'direction':_0x344f4d['enum'](['up','down'])[_0xf8ecb6(0x768)]()},async _0x790bd8=>{const _0x27dc9f=_0xf8ecb6;try{const _0x13b026=await _0x682835();if(!_0x13b026['ok'])return{..._0x4c7e7d(_0x13b026['payload']),'isError':!![]};if(!_0x790bd8[_0x27dc9f(0x3e0)]&&!_0x790bd8[_0x27dc9f(0x444)])return{..._0x4c7e7d({'success':![],'error':_0x27dc9f(0x990)}),'isError':!![]};const _0x56d8ba=await _0x2eb7fe['scrollToElement']({'text':_0x790bd8['text'],'accessibilityLabel':_0x790bd8[_0x27dc9f(0x444)]},{'maxSwipes':_0x790bd8[_0x27dc9f(0x589)],'direction':_0x790bd8['direction']});return{..._0x4c7e7d(_0x56d8ba),'isError':!_0x56d8ba['success']};}catch(_0x40a72a){return'RuGah'!=='RuGah'?_0x422504['filter'](_0x2ded79=>_0x2ded79[_0x27dc9f(0x762)]==='error'&&!_0x2ded79['ok']):_0x393307('screen_scroll_to',_0x40a72a);}}),_0x4fd7c4['tool']('screen_long_press',_0xf8ecb6(0xa3d),{'text':_0x344f4d['string']()[_0xf8ecb6(0x768)](),'accessibilityLabel':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x768)](),'durationMs':_0x344f4d['number']()[_0xf8ecb6(0x768)]()},async _0x4ffd59=>{const _0xbe1bd1=_0xf8ecb6;try{const _0x2d7273=await _0x682835();if(!_0x2d7273['ok'])return{..._0x4c7e7d(_0x2d7273[_0xbe1bd1(0x35c)]),'isError':!![]};if(!_0x4ffd59['text']&&!_0x4ffd59['accessibilityLabel'])return{..._0x4c7e7d({'success':![],'error':_0xbe1bd1(0x990)}),'isError':!![]};const _0x300357=await _0x2eb7fe['longPressElement']({'text':_0x4ffd59[_0xbe1bd1(0x3e0)],'accessibilityLabel':_0x4ffd59['accessibilityLabel']},_0x4ffd59['durationMs']??0x3e8);return{..._0x4c7e7d(_0x300357),'isError':!_0x300357['success']};}catch(_0x10ebdf){return _0x393307('screen_long_press',_0x10ebdf);}}),_0x4fd7c4['tool'](_0xf8ecb6(0x811),'Press\x20a\x20hardware/system\x20button:\x20home,\x20volumeUp,\x20volumeDown,\x20or\x20lock.',{'key':_0x344f4d['enum']([_0xf8ecb6(0xa4a),'volumeUp','volumeDown','lock'])},async({key:_0x312796})=>{const _0x1742df=_0xf8ecb6;try{const _0x55159b=await _0x682835();if(!_0x55159b['ok'])return{..._0x4c7e7d(_0x55159b['payload']),'isError':!![]};const _0x29a9ce=await _0x2eb7fe[_0x1742df(0x783)](_0x312796);return{..._0x4c7e7d(_0x29a9ce),'isError':!_0x29a9ce['success']};}catch(_0x1fd4d6){return _0x393307('screen_press_key',_0x1fd4d6);}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0x294),'Open\x20a\x20URL\x20/\x20deep\x20link\x20on\x20the\x20device\x20to\x20jump\x20straight\x20to\x20a\x20screen\x20—\x20useful\x20for\x20testing\x20your\x20app\x27s\x20deep-link\x20routes\x20(e.g.\x20myapp://product/42).\x20If\x20the\x20scheme\x20isn\x27t\x20registered\x20in\x20the\x20app\x20under\x20test,\x20the\x20result\x20carries\x20an\x20actionable\x20message\x20explaining\x20the\x20app\x20needs\x20a\x20rebuild\x20to\x20pick\x20up\x20the\x20scheme.',{'url':_0x344f4d['string']()['describe'](_0xf8ecb6(0x225))},async({url:_0x32051e})=>{const _0x25d042=_0xf8ecb6;try{const _0x36bff4=await _0x682835();if(!_0x36bff4['ok'])return{..._0x4c7e7d(_0x36bff4['payload']),'isError':!![]};const _0x10b169=await _0x2eb7fe[_0x25d042(0x423)](_0x32051e);return{..._0x4c7e7d(_0x10b169),'isError':!_0x10b169['success']};}catch(_0x213813){return _0x393307(_0x25d042(0x294),_0x213813);}}),_0x4fd7c4['tool']('screen_screenshot',_0xf8ecb6(0x59d),{},async()=>{const _0x517eb7=_0xf8ecb6;try{const _0x206c20=await _0x682835();if(!_0x206c20['ok'])return{..._0x4c7e7d(_0x206c20['payload']),'isError':!![]};const _0x58130f=await _0x2eb7fe[_0x517eb7(0x439)]();return{..._0x1f14f2(_0x58130f)};}catch(_0x34d51b){return _0x393307(_0x517eb7(0x341),_0x34d51b);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('screen_wait_for',_0xf8ecb6(0x787),{'text':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x768)](),'accessibilityLabel':_0x344f4d[_0xf8ecb6(0x30d)]()['optional'](),'type':_0x344f4d['string']()[_0xf8ecb6(0x768)](),'timeoutMs':_0x344f4d['number']()['optional'](),'pollIntervalMs':_0x344f4d[_0xf8ecb6(0x2af)]()['optional'](),'disappear':_0x344f4d[_0xf8ecb6(0xa6d)]()[_0xf8ecb6(0x768)]()},async _0x1276a9=>{const _0x24f7cb=_0xf8ecb6;try{const _0x53d94e=await _0x682835();if(!_0x53d94e['ok'])return{..._0x4c7e7d(_0x53d94e[_0x24f7cb(0x35c)]),'isError':!![]};if(!_0x1276a9[_0x24f7cb(0x3e0)]&&!_0x1276a9['accessibilityLabel']&&!_0x1276a9[_0x24f7cb(0x45e)])return{..._0x4c7e7d({'success':![],'error':'text,\x20accessibilityLabel,\x20or\x20type\x20is\x20required.'}),'isError':!![]};const _0x31bd2a=await _0x2eb7fe[_0x24f7cb(0x588)]({'text':_0x1276a9[_0x24f7cb(0x3e0)],'accessibilityLabel':_0x1276a9['accessibilityLabel'],'type':_0x1276a9['type']},{'timeoutMs':_0x1276a9['timeoutMs'],'pollIntervalMs':_0x1276a9['pollIntervalMs'],'disappear':_0x1276a9['disappear']});return{..._0x4c7e7d(_0x31bd2a),'isError':!_0x31bd2a['success']};}catch(_0x53b458){return _0x393307(_0x24f7cb(0x257),_0x53b458);}});!_0x2924fc&&_0x948d06(_0x4fd7c4,{'screenManager':_0x2eb7fe,'toolErrorContent':_0x393307,'jsonText':_0x4c7e7d,'requireWDA':_0x682835});_0x4fd7c4['tool'](_0xf8ecb6(0x21e),_0xf8ecb6(0x7e6),{'bundleId':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x3f0)]('e.g.,\x20com.acme.myapp')},async({bundleId:_0xbce553})=>{const _0x20dd2e=_0xf8ecb6;try{const _0xe57848=await _0x5cb8cf[_0x20dd2e(0xadd)](_0xbce553);return{..._0x4c7e7d(_0xe57848),'isError':!_0xe57848[_0x20dd2e(0x6d0)]};}catch(_0xeb371b){return _0x393307('app_launch',_0xeb371b);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('app_terminate',_0xf8ecb6(0x5f0),{'bundleId':_0x344f4d[_0xf8ecb6(0x30d)]()},async({bundleId:_0x21ab98})=>{const _0x1de797=_0xf8ecb6;try{const _0x50ab04=await _0x5cb8cf[_0x1de797(0x6c6)](_0x21ab98);return{..._0x4c7e7d(_0x50ab04),'isError':!_0x50ab04[_0x1de797(0x6d0)]};}catch(_0x30bc2d){if('HzlZV'===_0x1de797(0x9a0))_0x4d79d9[_0x1de797(0x96d)]=_0x215c00[_0x1de797(0x3dd)],_0x44fa51[_0x1de797(0x910)][_0x1de797(0xaac)](_0x1de797(0x5d2)+_0x588827+':\x20'+_0x2cd917[_0x1de797(0x3dd)]+'\x0a');else return _0x393307('app_terminate',_0x30bc2d);}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0xa8d),_0xf8ecb6(0x32b),{'bundleId':_0x344f4d['string']()},async({bundleId:_0x297c62})=>{const _0x5c002f=_0xf8ecb6;try{const _0x5818a4=await _0x5cb8cf['activateApp'](_0x297c62);return{..._0x4c7e7d(_0x5818a4),'isError':!_0x5818a4['success']};}catch(_0x34ed59){if('bNZPk'===_0x5c002f(0x93f))return _0x393307('app_activate',_0x34ed59);else _0x5f1e7d=_0x58638f[_0x5c002f(0x981)](_0x189eb8);}}),_0x4fd7c4['tool']('app_list_installed',_0xf8ecb6(0x557),{},async()=>{const _0x1ed92a=_0xf8ecb6;try{const _0x340141=await _0x5cb8cf[_0x1ed92a(0x84b)]();return{..._0x4c7e7d(_0x340141),'isError':!_0x340141[_0x1ed92a(0x6d0)]};}catch(_0x312d40){return _0x393307('app_list_installed',_0x312d40);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('app_active',_0xf8ecb6(0xaeb),{},async()=>{const _0x57d5be=_0xf8ecb6;try{const _0xbb4f55=await _0x5cb8cf['getActiveApp']();return{..._0x4c7e7d(_0xbb4f55),'isError':!_0xbb4f55[_0x57d5be(0x6d0)]};}catch(_0x143cf8){return _0x393307(_0x57d5be(0x9ca),_0x143cf8);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('device_ensure_awake',_0xf8ecb6(0xb16),{},async()=>{const _0x2218e1=_0xf8ecb6;try{const _0x1bf9ca=await _0x46143c['ensureAwake']();return{..._0x4c7e7d(_0x1bf9ca),'isError':!_0x1bf9ca[_0x2218e1(0x671)]};}catch(_0x14a677){return _0x393307(_0x2218e1(0x2eb),_0x14a677);}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0x213),_0xf8ecb6(0xaa4),{'orientation':_0x344f4d[_0xf8ecb6(0x407)]([_0xf8ecb6(0x6d7),'landscape'])},async({orientation:_0x38e8bc})=>{const _0x1ed4f3=_0xf8ecb6;try{const _0x9f890e=await _0x46143c[_0x1ed4f3(0x614)](_0x38e8bc);return{..._0x4c7e7d(_0x9f890e),'isError':!_0x9f890e[_0x1ed4f3(0x6d0)]};}catch(_0x18ef61){return _0x393307('device_set_orientation',_0x18ef61);}});function _0x1b5c79(){const _0x16a827=_0xf8ecb6;return{'loadAuth':_0x1be651,'resolveRepo':_0x2e0c69,'getCurrentBranch':_0x4aa79c,'getGitSha':_0x1f644c,'getWorkingTreeDiff':_0x4f2a26,'listChangedFiles':_0x4748b8,'readChangedFileContents':_0x26a76c,'getDefaultBranch':_0x9c174,'fetcher':(_0x492fc0,_0x5abbf0,_0x3e295a)=>_0x4e6fa7(_0x492fc0,_0x5abbf0,_0x3e295a),'ensureGraph':()=>_0x25cdf3({'workingDir':_0x504dae}),'flowRunner':_0x891648,'progressWriter':_0x402758,'testDataManager':_0x6faf18,'runsStore':_0x4436b4,'getTestIdReady':()=>_0x316cc9({'projectDir':_0x504dae,'sentinel':_0x35b0ad['getLatestTestIdSentinel']()})['then'](_0x2078d2=>_0x2078d2[_0x16a827(0x335)]),'cwd':_0x504dae};}_0x4fd7c4['tool']('rn_test_flows','Execute\x20one\x20or\x20more\x20flows\x20by\x20flowId\x20against\x20the\x20connected\x20iOS\x20app.\x20flowIds\x20come\x20from\x20rn_find_flows\x20or\x20rn_list_flows\x20responses\x20—\x20NEVER\x20invent\x20or\x20guess\x20them.\x20For\x20comprehensive\x20verification,\x20pass\x20every\x20flowId\x20from\x20the\x20preview.\x20At\x20most\x2010\x20flowIds\x20per\x20call\x20—\x20for\x20previews\x20larger\x20than\x20that,\x20batch\x20the\x20ids\x20across\x20multiple\x20rn_test_flows\x20calls.\x20The\x20server\x20orders\x20execution\x20(planner\x20priority\x20plus\x20chain\x20grouping\x20—\x20chainable\x20selections\x20run\x20back-to-back\x20in\x20one\x20device\x20session,\x20the\x20rest\x20individually),\x20so\x20the\x20order\x20of\x20the\x20ids\x20you\x20pass\x20carries\x20no\x20meaning.\x20Returns\x20per-step\x20screenshots\x20plus\x20any\x20runtime\x20errors.\x20If\x20any\x20id\x20is\x20unknown,\x20the\x20error\x20payload\x20includes\x20an\x20`available`\x20list\x20of\x20{flowId,\x20name}\x20to\x20re-pick\x20from.\x20Requires\x20auth\x20—\x20run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20first.',{'flowIds':_0x344f4d['array'](_0x344f4d['string']())['min'](0x1)[_0xf8ecb6(0x3f0)]('Flow\x20ids\x20to\x20execute,\x20as\x20returned\x20by\x20rn_find_flows\x20/\x20rn_list_flows.\x20Treated\x20as\x20a\x20set\x20—\x20execution\x20order\x20is\x20decided\x20server-side.')},async({flowIds:_0x1a5771})=>{const _0x353ab8=_0xf8ecb6;try{await _0x5b4fb6();const _0x1aabbb=await _0x21e28d(_0x2c6da6);if(_0x1aabbb[_0x353ab8(0xb14)]===_0x353ab8(0x678))return _0x1aabbb['response'];const _0x51e321=await _0x17592c({'flowIds':_0x1a5771},_0x1b5c79()),_0x342771=typeof _0x51e321[_0x353ab8(0x6a1)]===_0x353ab8(0x2af)||(_0x51e321['requiresEnv']?.[_0x353ab8(0x3b7)]??0x0)>0x0,_0x2cfd8b=_0xd52672(_0x1aabbb[_0x353ab8(0x8f7)]),_0x456d28=_0x2cfd8b?{..._0x51e321,'doctorAdvisories':_0x2cfd8b}:_0x51e321,_0x332082=_0x102b65(_0x456d28,_0x51e321[_0x353ab8(0x665)],_0x51e321['warning']);return _0x100267(_0x332082['content']),{..._0x332082,'isError':_0x342771};}catch(_0x34d229){if(_0x34d229 instanceof _0x3eb20a&&_0x34d229['details']!==void 0x0)return{..._0x4c7e7d(_0x34d229[_0x353ab8(0x65d)]),'isError':!![]};return _0x393307(_0x353ab8(0x645),_0x34d229);}}),_0x4fd7c4['tool']('rn_list_flows','Preview\x20which\x20flows\x20your\x20changes\x20(or\x20specific\x20files)\x20affect\x20—\x20THE\x20first\x20step\x20for\x20any\x20\x27test\x20my\x20changes\x27\x20or\x20\x27what\x20does\x20this\x20touch\x27\x20ask.\x20Each\x20row\x20carries\x20a\x20`flowId`\x20plus\x20the\x20flow\x27s\x20name,\x20outcome,\x20mutation\x20status,\x20and\x20preconditions.\x20The\x20rows\x20are\x20a\x20menu:\x20their\x20order\x20is\x20presentational\x20only\x20(the\x20server\x20determines\x20execution\x20order),\x20so\x20just\x20decide\x20what\x20to\x20run\x20—\x20the\x20chosen\x20flowIds\x20for\x20a\x20focused\x20subset,\x20or\x20ALL\x20of\x20them\x20for\x20comprehensive\x20verification\x20—\x20and\x20pass\x20them\x20to\x20`rn_test_flows`\x20to\x20execute\x20(batching\x20above\x20its\x2010-id\x20cap).\x20The\x20preview\x20is\x20comprehensive:\x20`totalCount`\x20is\x20the\x20true\x20matched\x20count,\x20and\x20rows\x20are\x20only\x20ever\x20clipped\x20past\x20a\x20high\x20bound,\x20flagged\x20with\x20`truncated:\x20true`\x20plus\x20a\x20hint.\x20For\x20app-wide\x20queries\x20not\x20scoped\x20to\x20a\x20diff\x20(\x27test\x20the\x20login\x20flows\x27),\x20use\x20`rn_find_flows`\x20instead.\x0a\x0aScope\x20inputs:\x20pass\x20`filePaths`\x20when\x20the\x20user\x20scoped\x20to\x20specific\x20files;\x20otherwise\x20omit\x20both\x20arguments\x20and\x20the\x20preview\x20defaults\x20to\x20the\x20working-tree\x20diff\x20vs\x20the\x20repo\x27s\x20default\x20branch.\x20Requires\x20auth.',{'base':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x768)]()['describe'](_0xf8ecb6(0x605)),'filePaths':_0x344f4d[_0xf8ecb6(0x8ed)]([_0x344f4d[_0xf8ecb6(0x30d)](),_0x344f4d['array'](_0x344f4d['string']())])[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x9cf))},async({base:_0x3d3412,filePaths:_0xa6f8d6})=>{const _0x1ebaea=_0xf8ecb6;try{if(_0x1ebaea(0x54e)!==_0x1ebaea(0x54e))return _0x3c02b4(_0x5841bb);else{const _0x3a03b8=await _0x2cdf6d({'base':_0x3d3412,'filePaths':_0xa6f8d6},_0x1b5c79());return _0x4c7e7d(_0x3a03b8);}}catch(_0x41734e){return _0x393307('rn_list_flows',_0x41734e);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('rn_find_flows','Find\x20flows\x20app-wide\x20by\x20describing\x20them\x20in\x20natural\x20language\x20(e.g.\x20\x27user\x20logs\x20in\x27,\x20\x27checkout\x20flows\x27).\x20NOT\x20diff-scoped\x20—\x20searches\x20every\x20flow\x20in\x20the\x20app;\x20for\x20\x27what\x20would\x20my\x20changes\x20affect\x27\x20use\x20`rn_list_flows`\x20instead.\x20The\x20returned\x20candidate\x20set\x20is\x20COMPLETE\x20for\x20the\x20query\x20(the\x20matcher\x20over-includes\x20rather\x20than\x20filters),\x20so\x20make\x20the\x20final\x20selection\x20yourself:\x20pick\x20ONE\x20flow\x20for\x20a\x20happy-path\x20ask,\x20several\x20or\x20all\x20of\x20them\x20for\x20broad\x20behavior\x20coverage.\x20Match\x20order\x20is\x20presentational,\x20not\x20a\x20relevance\x20ranking\x20(each\x20match\x27s\x20`reason`\x20carries\x20the\x20why;\x20the\x20server\x20determines\x20execution\x20order).\x20Then\x20pass\x20the\x20chosen\x20flowIds\x20to\x20`rn_test_flows`\x20to\x20execute.\x20Requires\x20auth.',{'query':_0x344f4d['string']()[_0xf8ecb6(0x488)](0x1)[_0xf8ecb6(0x3f0)]('Natural-language\x20description\x20of\x20the\x20flow(s)\x20to\x20find\x20(e.g.\x20\x27user\x20logs\x20in\x27,\x20\x27add\x20item\x20to\x20cart\x27).')},async({query:_0x386b9a})=>{const _0x53fffc=_0xf8ecb6;try{const _0x284210=await _0x553c87({'query':_0x386b9a},_0x1b5c79()),_0x4f81e9=_0x4c7e7d(_0x284210);return _0x284210['warning']?{'content':[..._0x4f81e9['content'],{'type':_0x53fffc(0x3e0),'text':_0x284210['warning']}]}:_0x4f81e9;}catch(_0x272ec5){return _0x393307(_0x53fffc(0x58d),_0x272ec5);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('rn_test_chain_start',_0xf8ecb6(0xacb),{'chainId':_0x344f4d['string']()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x836)),'flows':_0x344f4d[_0xf8ecb6(0x20f)](_0x344f4d[_0xf8ecb6(0x6b2)]())[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x5ca)),'bridges':_0x344f4d[_0xf8ecb6(0x20f)](_0x344f4d['array'](_0x344f4d[_0xf8ecb6(0x6b2)]()))['describe'](_0xf8ecb6(0x634)),'snapPointFlowIndices':_0x344f4d[_0xf8ecb6(0x20f)](_0x344f4d[_0xf8ecb6(0x2af)]()[_0xf8ecb6(0x732)]()[_0xf8ecb6(0x8b3)]())[_0xf8ecb6(0x3f0)]('Indices\x20after\x20which\x20the\x20runner\x20pauses\x20for\x20an\x20AI-agent\x20decision.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.'),'perFlowStatedDependencies':_0x344f4d['array'](_0x344f4d[_0xf8ecb6(0x8ed)]([_0x344f4d[_0xf8ecb6(0x20f)](_0x344f4d['string']()),_0x344f4d['undefined']()]))['optional']()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0xa8f)),'perFlowMutexWith':_0x344f4d[_0xf8ecb6(0x20f)](_0x344f4d[_0xf8ecb6(0x8ed)]([_0x344f4d['array'](_0x344f4d[_0xf8ecb6(0x30d)]()),_0x344f4d['undefined']()]))[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x789)),'bootRequestPatterns':_0x344f4d['array'](_0x344f4d[_0xf8ecb6(0x30d)]())[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x505)),'affectedFlowNames':_0x344f4d[_0xf8ecb6(0x20f)](_0x344f4d[_0xf8ecb6(0x30d)]())['optional']()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x4fc)),'signature':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0xaf4))},async _0x31c063=>{const _0x31fcd6=_0xf8ecb6;try{await _0x5b4fb6();const _0x56e1ef=await _0x21e28d(_0x2c6da6);if(_0x56e1ef['kind']==='block')return _0x56e1ef[_0x31fcd6(0x90e)];const _0x14f3dd=_0x31c063,_0x248f38=await _0x22cea7['start'](_0x14f3dd),_0x22e6f1=_0xd52672(_0x56e1ef[_0x31fcd6(0x8f7)]),_0x280ea8=[..._0x4c7e7d(_0x22e6f1?{..._0x248f38,'doctorAdvisories':_0x22e6f1}:_0x248f38)['content']];return _0x100267(_0x280ea8),{'content':_0x280ea8,'isError':_0x248f38[_0x31fcd6(0x428)]==='error'};}catch(_0x316192){return _0x393307(_0x31fcd6(0x8e8),_0x316192);}}),_0x4fd7c4['tool'](_0xf8ecb6(0x353),'Resume\x20a\x20chain\x20run\x20that\x20previously\x20returned\x20`snap_point_pending`\x20OR\x20`awaiting_error_decision`.\x20Pass\x20the\x20`runId`\x20and\x20the\x20AI\x20agent\x27s\x20decision:\x0a\x20\x20•\x20`snap_point_pending`\x20→\x20`continue`\x20(keep\x20current\x20user)\x20|\x20`recreate`\x20(wipe\x20app\x20state,\x20then\x20run\x20next\x20flow).\x0a\x20\x20•\x20`awaiting_error_decision`\x20→\x20`retry`\x20(re-run\x20the\x20failed\x20flow\x20once;\x20second\x20failure\x20terminalizes)\x20|\x20`halt`\x20(terminalize\x20the\x20run\x20immediately\x20with\x20the\x20recorded\x20failure).\x0aA\x20decision\x20that\x20doesn\x27t\x20match\x20the\x20active\x20pause\x20state\x20is\x20rejected\x20with\x20an\x20error\x20response\x20naming\x20the\x20actual\x20pause\x20—\x20re-issue\x20with\x20the\x20correct\x20verb.\x20Returns\x20the\x20next\x20response\x20—\x20another\x20pause,\x20chain\x20completion,\x20or\x20an\x20error.',{'runId':_0x344f4d[_0xf8ecb6(0x30d)]()['describe'](_0xf8ecb6(0x2ee)),'decision':_0x344f4d['enum'](['continue','recreate','retry',_0xf8ecb6(0x3c0)])[_0xf8ecb6(0x3f0)]('`continue`\x20/\x20`recreate`\x20are\x20valid\x20only\x20at\x20`snap_point_pending`.\x20`retry`\x20/\x20`halt`\x20are\x20valid\x20only\x20at\x20`awaiting_error_decision`.\x20Mismatched\x20pairings\x20are\x20rejected\x20before\x20the\x20runner\x20advances.')},async({runId:_0x58ad02,decision:_0x3737b0})=>{const _0x4f5635=_0xf8ecb6;try{await _0x5b4fb6();const _0xb3caba=await _0x21e28d(_0x2c6da6,{'force':!![]});if(_0xb3caba[_0x4f5635(0xb14)]==='block')return _0xb3caba['response'];const _0x5c2671=await _0x22cea7['continueRun'](_0x58ad02,_0x3737b0),_0x289126=_0xd52672(_0xb3caba[_0x4f5635(0x8f7)]),_0x189ceb=[..._0x4c7e7d(_0x289126?{..._0x5c2671,'doctorAdvisories':_0x289126}:_0x5c2671)[_0x4f5635(0x33d)]];return _0x100267(_0x189ceb),{'content':_0x189ceb,'isError':_0x5c2671['status']==='error'};}catch(_0x496e5a){if('PlVwm'!=='EEfVo')return _0x393307(_0x4f5635(0x353),_0x496e5a);else _0x50f20e(_0x4315b8)?_0x275a0a=!![]:_0x1742b9=!![];}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0x720),_0xf8ecb6(0x36c),{'olderThan':_0x344f4d['enum']([_0xf8ecb6(0x843),'30d',_0xf8ecb6(0x2d4)])['optional']()[_0xf8ecb6(0x3f0)]('Age\x20threshold:\x20`14d`\x20matches\x20the\x20server\x27s\x20default\x20startup\x20sweep,\x20`30d`\x20is\x20more\x20conservative,\x20`all`\x20purges\x20every\x20run.')},async({olderThan:_0x261af2})=>{const _0x50a4a0=_0xf8ecb6;try{const _0x1378bd=await _0x504d31(_0x4436b4,{'olderThan':_0x261af2});if(_0x1378bd['failedToPurge']>0x0)return{..._0x4c7e7d({..._0x1378bd,'error':_0x1378bd[_0x50a4a0(0x8ab)]+_0x50a4a0(0x348)}),'isError':!![]};return _0x4c7e7d(_0x1378bd);}catch(_0x21c3be){return _0x393307(_0x50a4a0(0x720),_0x21c3be);}}),_0x4fd7c4['tool']('ceraph_doctor','Run\x20every\x20setup\x20check\x20we\x20can\x20before\x20flows\x20execute:\x20WDA\x20reachable,\x20device\x20connected,\x20device\x20awake,\x20app\x20installed,\x20required\x20env\x20vars\x20present,\x20laptop\x20WiFi.\x20Returns\x20a\x20structured\x20DoctorResult\x20—\x20when\x20ok:\x20false,\x20surface\x20the\x20failing\x20checks\x27\x20remediation\x20verbatim\x20and\x20DO\x20NOT\x20attempt\x20to\x20fix\x20environment\x20issues\x20by\x20editing\x20source\x20code.\x20Call\x20this\x20once\x20before\x20a\x20batch\x20of\x20rn_test_*\x20runs.\x20To\x20bring\x20everything\x20up\x20in\x20one\x20call\x20(Metro\x20+\x20build\x20+\x20verify),\x20use\x20ceraph_start.',{'bundleId':_0x344f4d['string']()['optional']()[_0xf8ecb6(0x3f0)]('Bundle\x20ID\x20of\x20the\x20app\x20under\x20test\x20(e.g.,\x20com.acme.myapp).\x20Required\x20for\x20the\x20app-installed\x20check.'),'requiredEnv':_0x344f4d[_0xf8ecb6(0x20f)](_0x344f4d[_0xf8ecb6(0x30d)]())['optional']()['describe'](_0xf8ecb6(0x69f)),'expectedNetwork':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x768)]()['describe'](_0xf8ecb6(0x40a))},async({bundleId:_0x58e6d7,requiredEnv:_0x255a21,expectedNetwork:_0x15cd89})=>{const _0x3c2607=_0xf8ecb6;try{if(_0x3c2607(0x1ec)==='Oauop'){const _0x314bc8=_0x52c65e['timeoutMs']-(_0x4a3f9d()-_0x3c3951),_0x2f0e9f=_0x54f2e4[_0x3c2607(0x553)](_0x314bc8,0x0);_0x2fee67=_0x8dcb87(()=>{_0x3aa86e(new _0x3e748f(_0xdfd5fa(_0xd97da4['timeoutMs'])));},_0x2f0e9f);}else{const _0x255a61=await _0x3fb793({'screen':_0x2eb7fe,'apps':_0x5cb8cf,'autonomy':_0x46143c,'iproxyManager':_0x5246a9,'bundleId':_0x58e6d7,'requiredEnv':_0x255a21,'expectedNetwork':_0x15cd89,'projectDir':_0x504dae,'target':_0x229990});return _0x17c6c2(_0x255a61),{..._0x4c7e7d(_0x255a61),'isError':!_0x255a61['ok']};}}catch(_0x5b8fab){return _0x393307('ceraph_doctor',_0x5b8fab);}}),_0x4fd7c4['tool']('rn_sync_camera_registry',_0xf8ecb6(0x8fe),{},async()=>{const _0x4aa8d7=_0xf8ecb6;try{const _0x54a4a6=await _0x112a0a(_0x504dae);if(_0x54a4a6[_0x4aa8d7(0x36a)]==='missing-dir')return{..._0x4c7e7d({'registered':[],'registryPath':_0x1718c0(_0x504dae,_0x54a4a6[_0x4aa8d7(0x5ff)]),'state':_0x54a4a6['writtenOrUnchanged'],'message':_0x4aa8d7(0xa9c)}),'isError':!![]};return _0x4c7e7d({'registered':_0x54a4a6[_0x4aa8d7(0x4de)]['map'](_0x1a4aa5=>_0x1a4aa5['key']),'registryPath':_0x1718c0(_0x504dae,_0x54a4a6[_0x4aa8d7(0x5ff)]),'state':_0x54a4a6['writtenOrUnchanged']});}catch(_0x9db6ad){return _0x393307('rn_sync_camera_registry',_0x9db6ad);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('ceraph_add_camera_image',_0xf8ecb6(0x5ed),{'imageKey':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x3f0)]('Lowercase\x20+\x20hyphen-separated\x20stem\x20(e.g.\x20`profile`,\x20`id-card`,\x20`handwriting-sample-1`).\x20Becomes\x20both\x20the\x20filename\x20stem\x20AND\x20the\x20value\x20devs\x20pass\x20to\x20`<CeraphCamera\x20imageKey>`.'),'imageBase64':_0x344f4d['string']()['describe']('Base64-encoded\x20image\x20payload.\x20A\x20`data:image/...;base64,...`\x20URI\x20prefix\x20is\x20accepted\x20and\x20stripped\x20automatically.'),'contentType':_0x344f4d[_0xf8ecb6(0x30d)]()['optional']()['describe'](_0xf8ecb6(0x56d)),'overwrite':_0x344f4d[_0xf8ecb6(0xa6d)]()['optional']()[_0xf8ecb6(0x3f0)]('Allow\x20replacing\x20an\x20existing\x20imageKey\x20(across\x20different\x20extensions).\x20Defaults\x20to\x20false.'),'subDir':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)]('Optional\x20single-segment\x20subdirectory\x20under\x20`.ceraph/camera-images/`.\x20Most\x20callers\x20omit\x20this.\x20Must\x20be\x20lowercase\x20+\x20hyphen-separated;\x20no\x20slashes,\x20no\x20`..`.')},async({imageKey:_0x526dce,imageBase64:_0x3d9534,contentType:_0x2d3ad6,overwrite:_0x4fb0c2,subDir:_0x41ef60})=>{const _0x2baecb=_0xf8ecb6;try{const _0x1bf2ae=await _0x164c0b(_0x504dae,{'imageKey':_0x526dce,'imageBase64':_0x3d9534,'contentType':_0x2d3ad6,'overwrite':_0x4fb0c2,'subDir':_0x41ef60});return _0x4c7e7d({'written':_0x1bf2ae['written'],'registry':_0x1bf2ae['registry'],'registered':_0x1bf2ae['registered'],'detectedContentType':_0x1bf2ae['detectedContentType'],'detectedExt':_0x1bf2ae[_0x2baecb(0x4f1)],'replaced':_0x1bf2ae['replaced'],'removedSiblingPath':_0x1bf2ae['removedSiblingPath'],'bytes':_0x1bf2ae['bytes'],'registryState':_0x1bf2ae['registryState'],'warnings':_0x1bf2ae[_0x2baecb(0x7a8)]});}catch(_0xef2c1d){if(_0xef2c1d instanceof _0x12b47f)return{..._0x4c7e7d({'error':_0xef2c1d['code'],'message':_0xef2c1d['message'],'remediation':_0xef2c1d['remediation']}),'isError':!![]};return _0x393307('ceraph_add_camera_image',_0xef2c1d);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('rn_reload','Request\x20a\x20JS\x20bundle\x20reload\x20on\x20the\x20running\x20RN\x20app\x20by\x20dispatching\x20the\x20`ceraph://reload`\x20deep\x20link\x20through\x20WDA.\x20Requires\x20the\x20app\x20to\x20have\x20called\x20`installSignalCapture()`\x20(or\x20otherwise\x20registered\x20the\x20reload\x20deep-link\x20listener)\x20at\x20boot.\x20Waits\x20up\x20to\x20`timeoutMs`\x20for\x20WDA\x20to\x20become\x20responsive\x20again,\x20then\x20captures\x20a\x20screenshot.\x20Dev-only;\x20does\x20nothing\x20in\x20a\x20production\x20build.',{'timeoutMs':_0x344f4d['number']()['optional']()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x422))},async({timeoutMs:_0x3b2b92})=>{const _0x5c2082=_0xf8ecb6;try{const _0x25ccbd=await _0x682835();if(!_0x25ccbd['ok'])return{..._0x4c7e7d(_0x25ccbd[_0x5c2082(0x35c)]),'isError':!![]};let _0x1e5516=_0x5c2082(0xa99);await _0x5b4fb6();const _0x48a2c8=_0x35b0ad['isListening'](),_0xb97f5e=_0x48a2c8?await _0x35b0ad[_0x5c2082(0x47e)]('reload'):{'acked':![]};if(!_0xb97f5e['acked']){const _0x13ded7=await _0x2eb7fe['openUrl']('ceraph://reload');if(!_0x13ded7['success'])return{..._0x4c7e7d({'success':![],'error':_0x48a2c8?'No\x20shim\x20acknowledged\x20the\x20reload\x20over\x20the\x20command\x20channel,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20'+(_0x13ded7[_0x5c2082(0x3dd)]??_0x5c2082(0x3d8)):_0x140ce4===_0x5c2082(0x264)?_0x5c2082(0x3b5)+(_0x13ded7['error']??'openUrl\x20failed')+_0x5c2082(0x91c):'Another\x20process\x20holds\x20the\x20device-signal\x20port\x20(:8101),\x20so\x20Ceraph\x27s\x20command\x20channel\x20is\x20unavailable\x20in\x20this\x20session,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20'+(_0x13ded7[_0x5c2082(0x3dd)]??'openUrl\x20failed')+_0x5c2082(0x542)}),'isError':!![]};_0x1e5516=_0x48a2c8?'deep-link-fallback':'deep-link\x20(command\x20channel\x20unavailable\x20—\x20:8101\x20not\x20bound\x20by\x20this\x20session)';}const _0x2aa891=_0x3b2b92??0x2710,_0x21500c=Date[_0x5c2082(0x2f8)]();let _0x4cdef3=![];while(Date[_0x5c2082(0x2f8)]()-_0x21500c<_0x2aa891){const _0x9797ea=await _0x2eb7fe['pingStatus']()['catch'](()=>![]);if(_0x9797ea){_0x4cdef3=!![];break;}await new Promise(_0x9806dd=>setTimeout(_0x9806dd,0xc8));}const _0x5931e6=await _0x2eb7fe[_0x5c2082(0x439)]()[_0x5c2082(0x48b)](()=>void 0x0);return{..._0x4c7e7d({'success':_0x4cdef3,'via':_0x1e5516,'elapsedMs':Date[_0x5c2082(0x2f8)]()-_0x21500c,'screenshotBase64':_0x5931e6?.['base64'],'error':_0x4cdef3?void 0x0:'WDA\x20did\x20not\x20return\x20within\x20'+_0x2aa891+'ms'}),'isError':!_0x4cdef3};}catch(_0x5aaf90){return _0x393307(_0x5c2082(0x390),_0x5aaf90);}}),_0x4fd7c4['tool'](_0xf8ecb6(0x9fc),'Reset\x20the\x20running\x20RN\x20app\x27s\x20persisted\x20state\x20(AsyncStorage.clear\x20+\x20any\x20cleanup\x20hooks\x20registered\x20via\x20`registerResetHook`)\x20by\x20dispatching\x20the\x20`ceraph://reset`\x20deep\x20link\x20through\x20WDA.\x20Requires\x20the\x20app\x20to\x20have\x20called\x20`installSignalCapture()`\x20(default-on\x20behavior)\x20or\x20`installResetListener()`\x20explicitly.\x20Dev-only\x20—\x20production\x20builds\x20no-op\x20the\x20in-app\x20clear.',{},async()=>{const _0x429882=_0xf8ecb6;try{await _0x5b4fb6();const _0x1db86f=_0x35b0ad['isListening'](),_0x10a972=_0x1db86f?await _0x35b0ad['enqueueCommand'](_0x429882(0x49e)):{'acked':![]};if(_0x10a972[_0x429882(0x36b)])return _0x4c7e7d({'success':_0x10a972['ok']!==![],'cleared':_0x10a972['ok']!==![],'via':'command-channel',..._0x10a972['detail']?{'detail':_0x10a972[_0x429882(0x363)]}:{},'hint':_0x10a972['ok']!==![]?'AsyncStorage\x20cleared\x20in-app\x20(shim\x20acknowledged).':_0x429882(0x2b7)});const _0x3e5ee1=await _0x682835();if(!_0x3e5ee1['ok'])return{..._0x4c7e7d(_0x3e5ee1['payload']),'isError':!![]};const _0x1038d9=await _0x2eb7fe['openUrl'](_0x429882(0x933));if(!_0x1038d9[_0x429882(0x6d0)])return{..._0x4c7e7d({'success':![],'error':_0x1db86f?'No\x20shim\x20acknowledged\x20the\x20reset\x20over\x20the\x20command\x20channel\x20(is\x20the\x20app\x20running\x20with\x20installCeraph()\x20and\x20reachable\x20on\x20CERAPH_SIGNAL_HOST:8101?),\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20'+(_0x1038d9[_0x429882(0x3dd)]??_0x429882(0x3d8)):_0x140ce4==='bind-failed'?'Ceraph\x27s\x20device-signal\x20listener\x20couldn\x27t\x20start\x20(e.g.\x20a\x20permission\x20error\x20or\x20an\x20invalid\x20CERAPH_SIGNAL_HOST),\x20so\x20the\x20command\x20channel\x20is\x20unavailable\x20in\x20this\x20session,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20'+(_0x1038d9[_0x429882(0x3dd)]??_0x429882(0x3d8))+_0x429882(0x91c):_0x429882(0x7ac)+(_0x1038d9[_0x429882(0x3dd)]??_0x429882(0x3d8))+_0x429882(0x542)}),'isError':!![]};return _0x4c7e7d({'success':!![],'dispatched':!![],'via':_0x1db86f?_0x429882(0x25d):_0x429882(0x4a5),'hint':'ceraph://reset\x20dispatched\x20via\x20the\x20legacy\x20deep\x20link;\x20the\x20clear\x20runs\x20in-app.\x20Update\x20the\x20shim\x20to\x20get\x20command-channel\x20acks.'});}catch(_0x50c613){return _0x393307(_0x429882(0x9fc),_0x50c613);}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0xa38),_0xf8ecb6(0x8e4),{},async()=>{const _0x547fef=_0xf8ecb6;try{if(_0x547fef(0x5ee)!==_0x547fef(0x5ee)){const _0x49bf84=_0x240da7['fromCharCode'](_0x36478e[0x8]??0x0,_0x1afbc2[0x9]??0x0,_0x4bcc50[0xa]??0x0,_0x4eef14[0xb]??0x0),_0x52f310=new _0x6f7c2d([_0x547fef(0x53b),_0x547fef(0x81f),'hevc','hevx','heim','heis',_0x547fef(0x334),_0x547fef(0x3b0)]);if(_0x52f310[_0x547fef(0x979)](_0x49bf84))return{'ext':_0x547fef(0x53b),'mime':_0x547fef(0x6a4)};}else{const _0x2031ae=await _0x53aed0['stopAll']();if(_0x2031ae[_0x547fef(0x3b7)]===0x0)return{'content':[{'type':_0x547fef(0x3e0),'text':JSON['stringify']({'stopped':[],'message':_0x547fef(0x734)})}]};return{'content':[{'type':_0x547fef(0x3e0),'text':JSON[_0x547fef(0x312)]({'stopped':_0x2031ae},null,0x2)}]};}}catch(_0x369d27){return _0x393307('rn_stop',_0x369d27);}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0x8d9),_0xf8ecb6(0x615),{},async()=>{const _0x302c1e=_0xf8ecb6;try{_0x229990[_0x302c1e(0x3e7)]();const _0x371e0a=await _0x229990[_0x302c1e(0x62d)](),_0x27cb6c=_0x24325a['getSession']();return _0x4c7e7d({'target':_0x371e0a['target'],'udid':_0x371e0a['udid'],'baseUrl':_0x371e0a[_0x302c1e(0xa51)],'reason':_0x371e0a['reason'],'preferenceEnv':process.env.CERAPH_TARGET??null,'simulatorWdaSession':_0x27cb6c?{'port':_0x27cb6c[_0x302c1e(0x21a)],'udid':_0x27cb6c['udid'],'projectPath':_0x27cb6c[_0x302c1e(0x743)]}:null});}catch(_0x485995){return _0x393307(_0x302c1e(0x8d9),_0x485995);}}),_0x4fd7c4['tool']('rn_wda_start','Boot\x20and\x20launch\x20WebDriverAgent\x20against\x20a\x20booted\x20iOS\x20Simulator,\x20then\x20capture\x20its\x20WDA\x20port\x20so\x20subsequent\x20screen_*/app_*\x20calls\x20can\x20route\x20to\x20the\x20simulator.\x20NOTE:\x20if\x20a\x20real\x20iOS\x20device\x20is\x20ALSO\x20connected,\x20auto-detection\x20(CERAPH_TARGET=auto,\x20the\x20default)\x20still\x20prefers\x20the\x20device,\x20so\x20calls\x20keep\x20driving\x20the\x20phone\x20—\x20set\x20CERAPH_TARGET=simulator\x20in\x20the\x20MCP\x20process\x20environment\x20to\x20force\x20simulator\x20routing.\x20With\x20no\x20device\x20connected,\x20routing\x20falls\x20to\x20the\x20simulator\x20automatically.\x20Idempotent\x20—\x20calling\x20it\x20again\x20while\x20a\x20session\x20is\x20running\x20returns\x20the\x20existing\x20one.\x20Requires\x20the\x20optional\x20`appium-webdriveragent`\x20dependency\x20in\x20the\x20project,\x20at\x20least\x20one\x20booted\x20simulator,\x20and\x20a\x20one-time\x20Xcode\x20signing\x20setup\x20for\x20the\x20WDA\x20target\x20(the\x20first\x20launch\x20runs\x20an\x20`xcodebuild\x20test`\x20to\x20code-sign;\x20later\x20launches\x20reuse\x20the\x20cached\x20build).',{'udid':_0x344f4d[_0xf8ecb6(0x30d)]()['optional']()['describe'](_0xf8ecb6(0x3ff)),'derivedDataPath':_0x344f4d['string']()['optional']()['describe'](_0xf8ecb6(0x546))},async({udid:_0x234d3d,derivedDataPath:_0x3905bd})=>{const _0x48c0f5=_0xf8ecb6;try{const _0x44aae3=await _0x24325a[_0x48c0f5(0x5cf)]({'udid':_0x234d3d,'derivedDataPath':_0x3905bd});return{..._0x4c7e7d(_0x44aae3),'isError':!_0x44aae3['ok']};}catch(_0x29eba2){return _0x393307('rn_wda_start',_0x29eba2);}}),_0x4fd7c4['tool'](_0xf8ecb6(0x5a7),_0xf8ecb6(0x898),{},async()=>{const _0x221a9a=_0xf8ecb6;try{const _0x3b1a4c=await _0x24325a[_0x221a9a(0x8bc)]();return _0x4c7e7d(_0x3b1a4c);}catch(_0x587e4a){return _0x393307('rn_wda_stop',_0x587e4a);}});async function _0x2d2898(){const _0x410a49=_0xf8ecb6;if(await _0x2eb7fe[_0x410a49(0x3a4)]())return _0x410a49(0x556);const _0x36a853=await _0x1b6966(await _0x5cb8cf['getUdid']()['catch'](()=>null));if(!_0x36a853)return'No\x20device\x20hardware\x20UDID\x20resolved\x20—\x20could\x20not\x20start\x20the\x20iproxy\x20bridge.';const _0x438e94=await _0x5246a9[_0x410a49(0x5cf)](_0x36a853)[_0x410a49(0x48b)](()=>null);if(!_0x438e94)return'iproxy\x20bridge\x20start\x20threw\x20(ignored).';if(_0x438e94['ok'])return'iproxy\x20bridge\x20started\x20(pid\x20'+_0x438e94['pid']+').';if(_0x438e94['reason']==='already-running')return _0x410a49(0x3c7);if(_0x438e94['reason']===_0x410a49(0xacc))return _0x410a49(0x59f);return'iproxy\x20bridge\x20failed\x20to\x20start:\x20'+(_0x438e94[_0x410a49(0x910)]?.[0x0]??_0x410a49(0x8b7))+'.';}_0x4fd7c4['tool']('rn_wait_for_device',_0xf8ecb6(0x6ac),{'timeoutMs':_0x344f4d[_0xf8ecb6(0x2af)]()['int']()[_0xf8ecb6(0x6d5)]()[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x523))},async({timeoutMs:_0x5971b4},_0x303f7c)=>{const _0xb1be45=_0xf8ecb6;try{if('svaCN'==='svaCN'){const _0x59a85e=await _0x510e3c({'timeoutMs':_0x5971b4,'signal':_0x303f7c['signal']});return _0x229990['invalidate'](),_0x4c7e7d(_0x59a85e);}else return![];}catch(_0x2d43aa){if(_0xb1be45(0x352)!=='RkIWQ'){const _0x5cee83=_0x4d5b28['find'](_0xb3c0b5=>_0xb3c0b5['udid']===_0x581d62['udid']);if(!_0x5cee83)return{'ok':![],'reason':'simulator-not-found','error':_0xb1be45(0x206)+_0x1e0a8b['udid']+_0xb1be45(0x9df)+_0x9c114a['map'](_0x4d4571=>_0x4d4571[_0xb1be45(0x9e5)]+'\x20('+_0x4d4571[_0xb1be45(0x5a2)]+')')['join'](',\x20')+'.'};_0x493db8=_0x5cee83;}else return _0x393307('rn_wait_for_device',_0x2d43aa);}});function _0x172685(_0xdfc6ea){const _0x1a267d=_0xf8ecb6;return{'content':[{'type':'text','text':JSON[_0x1a267d(0x312)](_0xdfc6ea,null,0x2)}]};}function _0x329611(_0x201567,_0x47b6c3){return _0x393307(_0x201567,_0x47b6c3);}_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0x577),_0xf8ecb6(0x5b0),{'token':_0x344f4d['string']()[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x6fd))},async({token:_0x4c81ad},_0x36c296)=>{try{const _0x4bf265=await _0xd85afe({'token':_0x4c81ad,'signal':_0x36c296['signal']});return _0x172685(_0x4bf265);}catch(_0x12e154){return _0x329611('ceraph_init',_0x12e154);}}),_0x4fd7c4['tool'](_0xf8ecb6(0x8e0),'Snapshot\x20the\x20current\x20init\x20state\x20of\x20the\x20project:\x20which\x20steps\x20are\x20complete\x20(package\x20installed,\x20GitHub\x20auth\x20cached,\x20ceraph://\x20scheme\x20registered,\x20installCeraph()\x20injected,\x20CameraView\x20usages\x20found)\x20and\x20which\x20MCP-client\x20config\x20files\x20exist.\x20Read-only.\x20To\x20actually\x20run\x20a\x20COMPLETE\x20setup,\x20call\x20`ceraph_init`\x20(CLI\x20parity\x20—\x20runs\x20every\x20phase\x20including\x20Claude\x20hooks\x20+\x20.gitignore);\x20use\x20the\x20granular\x20ceraph_init_*\x20tools\x20only\x20for\x20surgical\x20re-runs\x20of\x20a\x20single\x20step.',{'projectDir':_0x344f4d['string']()[_0xf8ecb6(0x768)]()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x5aa))},async({projectDir:_0x243eae})=>{try{const _0x18a55c=_0x243eae??_0x504dae,_0x44e272=await _0x464e89(_0x18a55c,_0x53d71b(_0x18a55c,_0x3f7ec9));return _0x172685(_0x44e272);}catch(_0x4329d5){return _0x329611('ceraph_init_status',_0x4329d5);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('ceraph_init_auth_browser',_0xf8ecb6(0x5b4),{'token':_0x344f4d['string']()[_0xf8ecb6(0x768)]()['describe']('Bearer\x20token\x20the\x20user\x20pasted\x20(issued\x20by\x20ceraph.dev/cli-auth).\x20When\x20set,\x20skips\x20the\x20browser\x20flow\x20and\x20persists\x20it\x20directly.')},async({token:_0x595d5d},_0x4b75c2)=>{const _0x46a7e8=_0xf8ecb6;try{if(_0x46a7e8(0xae9)==='QuPaQ')return _0x17f8b5['map'](_0x128a73=>_0x73d053(_0x128a73));else{const _0x29ec83=await _0x170983({'signal':_0x4b75c2[_0x46a7e8(0x773)],'token':_0x595d5d});return _0x172685(_0x29ec83);}}catch(_0x20fede){return _0x329611('ceraph_init_auth_browser',_0x20fede);}});async function _0x4a36a4(_0xd3c224){const _0x42d7fc=_0xf8ecb6,_0x387297='Starter\x20·\x20Free\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in.',_0x42356f=_0x42d7fc(0x5f3),_0x4383f0=_0x42d7fc(0x953);let _0x3b820a=_0xd3c224['tier'];if(_0x3b820a)await _0x29339f(_0x3b820a)[_0x42d7fc(0x48b)](()=>void 0x0);else{const _0x2d6485=await _0x31acfa()['catch'](()=>null);_0x3b820a=_0x2d6485?.['tier'];}if(!_0x3b820a)return{'status':'needs-tier','question':_0x42d7fc(0x53c),'options':[{'tier':_0x42d7fc(0x7a4),'label':_0x387297},{'tier':'pro','label':_0x42356f}],'detailsUrl':_0x4383f0,'hint':_0x42d7fc(0x3a5)};if(_0x3b820a==='starter')return{'status':'starter-ready','tier':_0x42d7fc(0x7a4),'message':'Starter\x20selected\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools\x20are\x20ready.\x20No\x20sign-in\x20needed.\x20To\x20add\x20AI\x20flow\x20testing\x20on\x20a\x20real\x20device\x20later,\x20re-call\x20this\x20tool\x20with\x20{\x20tier:\x20\x27pro\x27\x20}.'};const _0x479cf2=await _0x1be651()['catch'](()=>null);if(!_0x479cf2?.['accessToken'])return{'status':'needs-auth','tier':_0x42d7fc(0x2a1),'authUrl':_0x5a3230({'intent':'pro'}),'message':_0x42d7fc(0x271)};const _0x12cf41=await _0x4faaf3()['catch'](()=>![]);if(!_0x12cf41)return{'status':'needs-checkout','tier':_0x42d7fc(0x2a1),'checkoutUrl':_0x4383f0,'message':_0x42d7fc(0x5fa)+_0x4383f0+_0x42d7fc(0x80f)};return{'status':_0x42d7fc(0x23b),'tier':'pro','message':'Pro\x20is\x20active\x20on\x20this\x20account.\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device\x20is\x20unlocked.'};}_0x4fd7c4[_0xf8ecb6(0x34e)]('ceraph_init_select_tier','Select\x20the\x20Ceraph\x20plan\x20and\x20drive\x20Pro\x20onboarding.\x20Call\x20with\x20no\x20args\x20to\x20get\x20the\x20two\x20plan\x20options\x20({\x20status:\x20\x27needs-tier\x27\x20});\x20call\x20with\x20{\x20tier:\x20\x27starter\x27\x20}\x20for\x20the\x20free\x20local\x20toolset\x20({\x20status:\x20\x27starter-ready\x27\x20});\x20call\x20with\x20{\x20tier:\x20\x27pro\x27\x20}\x20to\x20start\x20Pro\x20setup.\x20The\x20Pro\x20path\x20is\x20a\x20state\x20machine\x20resolved\x20fresh\x20each\x20call:\x20not\x20signed\x20in\x20→\x20{\x20status:\x20\x27needs-auth\x27,\x20authUrl\x20}\x20(sign\x20in\x20via\x20ceraph_init_auth_browser,\x20then\x20re-call);\x20signed\x20in\x20but\x20not\x20yet\x20paid\x20→\x20{\x20status:\x20\x27needs-checkout\x27,\x20checkoutUrl\x20}\x20(selecting\x20Pro\x20is\x20NOT\x20being\x20Pro\x20—\x20complete\x20checkout,\x20then\x20re-call);\x20paid\x20→\x20{\x20status:\x20\x27pro-ready\x27\x20}.\x20Re-calling\x20re-checks\x20server-side,\x20so\x20an\x20abandoned\x20then-completed\x20checkout\x20self-heals.\x20For\x20a\x20complete\x20install\x20(this\x20tier\x20step\x20plus\x20every\x20other\x20phase),\x20call\x20`ceraph_init`\x20instead.',{'tier':_0x344f4d[_0xf8ecb6(0x407)]([_0xf8ecb6(0x7a4),'pro'])['optional']()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x6ab))},async({tier:_0x2abafd})=>{const _0x643092=_0xf8ecb6;try{const _0x3f13d4=await _0x4a36a4({'tier':_0x2abafd});return _0x172685(_0x3f13d4);}catch(_0x4ace90){return _0x329611(_0x643092(0x5f9),_0x4ace90);}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0x81d),_0xf8ecb6(0x9c6),{'projectDir':_0x344f4d['string']()[_0xf8ecb6(0x768)]()},async({projectDir:_0x51f597})=>{const _0x3b4cc0=_0xf8ecb6;try{const _0x55b808=await _0x9cda3f(_0x51f597??_0x504dae);return _0x172685(_0x55b808);}catch(_0x16d249){return _0x329611(_0x3b4cc0(0x81d),_0x16d249);}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0x617),_0xf8ecb6(0x261),{'filePath':_0x344f4d['string']()[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x3e4)),'line':_0x344f4d['number']()[_0xf8ecb6(0x732)]()[_0xf8ecb6(0x6d5)]()['describe']('1-based\x20line\x20of\x20the\x20opening\x20<CameraView>\x20tag.'),'imageKey':_0x344f4d[_0xf8ecb6(0x30d)]()['min'](0x1)[_0xf8ecb6(0x3f0)](_0xf8ecb6(0x68b)),'projectDir':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x768)]()},async({filePath:_0x1a5c9f,line:_0x421329,imageKey:_0x32e115,projectDir:_0x184bf1})=>{try{const _0x138a20=await _0x3252d9(_0x184bf1??_0x504dae,{'filePath':_0x1a5c9f,'line':_0x421329,'imageKey':_0x32e115});return _0x172685(_0x138a20);}catch(_0x137fd4){return _0x329611('ceraph_init_replace_camera',_0x137fd4);}}),_0x4fd7c4[_0xf8ecb6(0x34e)](_0xf8ecb6(0x242),'AST-inject\x20the\x20`installCeraph({\x20readTestidConfig\x20})`\x20seam\x20(plus\x20the\x20shim\x20+\x20react\x20imports)\x20into\x20the\x20root\x20layout\x20(app/_layout.tsx\x20for\x20Expo\x20Router,\x20App.tsx\x20for\x20bare\x20RN)\x20AND\x20wire\x20`@ceraph/react-native-mcp/babel-plugin`\x20into\x20babel.config\x20+\x20write\x20the\x20`.ceraph/testid-config.json`\x20sentinel\x20—\x20so\x20testID\x20injection\x20actually\x20activates.\x20Idempotent\x20—\x20returns\x20`{\x20already:\x20true\x20}`\x20when\x20the\x20seam\x20is\x20already\x20present;\x20the\x20`babelConfig`\x20field\x20reports\x20the\x20babel\x20wiring\x20outcome\x20(added\x20/\x20already-present\x20/\x20created\x20/\x20needs-manual).',{'projectDir':_0x344f4d['string']()['optional']()},async({projectDir:_0xb51904})=>{const _0x54e48a=_0xf8ecb6;try{if(_0x54e48a(0x4e2)!=='TwbNE'){const _0x3e1ff6=await _0x1ebf34(_0xb51904??_0x504dae);return _0x172685(_0x3e1ff6);}else{const _0x419106=_0x1c0eca['toString']();for(const _0x3df04c of _0x419106['split']('\x0a')){_0x3df04c[_0x54e48a(0x668)]()&&this['pushLine'](this['buildOutput'],_0x3df04c,this[_0x54e48a(0x8e5)]);}}}catch(_0x267180){return _0x329611('ceraph_init_inject_boot',_0x267180);}}),_0x4fd7c4['tool']('ceraph_init_register_scheme','Register\x20`ceraph`\x20as\x20a\x20custom\x20URL\x20scheme\x20so\x20deep\x20links\x20(ceraph://reload,\x20ceraph://reset,\x20ceraph://storage)\x20reach\x20the\x20running\x20app.\x20Auto-edits\x20static\x20expo.scheme\x20in\x20app.json;\x20for\x20dynamic\x20app.config.{js,ts}\x20or\x20bare\x20RN,\x20returns\x20the\x20exact\x20instructions\x20to\x20surface\x20to\x20the\x20user.',{'projectDir':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x768)]()},async({projectDir:_0x210c49})=>{const _0x3db153=_0xf8ecb6;try{if('ADhyc'===_0x3db153(0x308)){const _0x141be0=await _0x59c56b(_0x210c49??_0x504dae);return _0x172685(_0x141be0);}else{if(this['child']===_0x28dae8)this[_0x3db153(0x618)]=null;_0x1bb839=!![];}}catch(_0x1e6f1a){return _0x329611(_0x3db153(0x62e),_0x1e6f1a);}}),_0x4fd7c4[_0xf8ecb6(0x34e)]('ceraph_init_setup_mcp_clients',_0xf8ecb6(0x607),{'projectDir':_0x344f4d[_0xf8ecb6(0x30d)]()[_0xf8ecb6(0x768)]()['describe'](_0xf8ecb6(0x2c0))},async({projectDir:_0x4d30a4})=>{const _0x125ae9=_0xf8ecb6;try{if('iSzsc'!=='zCFEQ'){const _0x39ca78=await _0x5d6407(_0x53d71b(_0x4d30a4??_0x504dae,_0x3f7ec9));return _0x172685(_0x39ca78);}else{const _0x48f42b=[..._0x10e4bf,_0x57a76c];return _0x48d657[_0x125ae9(0xb27)]=_0x48f42b,{'action':_0x125ae9(0x7ed),'scheme':_0x48f42b,'previousScheme':_0x41081a,'nextScheme':_0x48f42b};}}catch(_0x824623){return _0x329611(_0x125ae9(0x4a7),_0x824623);}}),_0x4fd7c4['tool']('ceraph_init_monorepo_status',_0xf8ecb6(0x29a),{'projectDir':_0x344f4d['string']()[_0xf8ecb6(0x768)]()},async({projectDir:_0x1de3b1})=>{const _0x4b3bc9=_0xf8ecb6;try{const _0xb99134=await _0x4367cd(_0x1de3b1??_0x504dae);return _0x172685(_0xb99134);}catch(_0x443d80){return _0x329611(_0x4b3bc9(0x26b),_0x443d80);}}),_0x18e489(_0x4fd7c4),_0x566be6(_0x4fd7c4,_0x6faf18);async function _0x23ce3c(){const _0x3402d2=_0xf8ecb6;try{const _0x1b2929=0xe*0x18*0x3c*0x3c*0x3e8,_0x382c28=0x400*0x400*0x400,{swept:_0x3edf6a,freedBytes:_0x4c068c}=await _0x4436b4['sweepOlderThan'](_0x1b2929),{evicted:_0x425622,freedBytes:_0x2fe659}=await _0x4436b4['enforceCapacityCap'](_0x382c28),_0x5de04f=(_0x4c068c/(0x400*0x400))[_0x3402d2(0x5c0)](0x1),_0x47dc3c=(_0x2fe659/(0x400*0x400))['toFixed'](0x1);console['error']('[runs-store]\x20swept\x20'+_0x3edf6a[_0x3402d2(0x3b7)]+'\x20runs\x20('+_0x5de04f+'\x20MB)\x20older\x20than\x2014d;\x20evicted\x20'+_0x425622['length']+_0x3402d2(0x3c1)+_0x47dc3c+'\x20MB)\x20over\x201GB\x20cap');}catch(_0x4ef3e9){console[_0x3402d2(0x3dd)]('[runs-store]\x20retention\x20sweep\x20failed\x20(non-fatal):\x20'+(_0x4ef3e9 instanceof Error?_0x4ef3e9['message']:String(_0x4ef3e9)));}}function _0x5e9525(){const _0x4338fa=_0xf8ecb6;if(!process.env.CERAPH_SIGNAL_HOST)try{const _0x2c94b8=_0x3146f0();if(_0x2c94b8)process.env.CERAPH_SIGNAL_HOST=_0x2c94b8['address'],console['error']('[react-native-mcp]\x20CERAPH_SIGNAL_HOST\x20auto-detected:\x20'+_0x2c94b8['address']+'\x20('+_0x2c94b8['interfaceName']+',\x20'+_0x2c94b8['kind']+').\x20To\x20persist\x20across\x20shells,\x20run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20—\x20it\x20adds\x20the\x20export\x20to\x20~/.zshrc.');else{if('qUhfH'===_0x4338fa(0x72a))console['error'](_0x4338fa(0x598));else return null;}}catch(_0x123f8e){console[_0x4338fa(0x3dd)]('[react-native-mcp]\x20CERAPH_SIGNAL_HOST\x20auto-detection\x20failed:\x20'+(_0x123f8e instanceof Error?_0x123f8e['message']:String(_0x123f8e)));}else console[_0x4338fa(0x3dd)]('[react-native-mcp]\x20CERAPH_SIGNAL_HOST='+process.env.CERAPH_SIGNAL_HOST);}async function _0x23930a(){const _0x5660f6=_0xf8ecb6;_0x5e9525();const _0x1a0901=await _0x35b0ad[_0x5660f6(0x5cf)](),_0x4a207b=_0x3f573f(_0x1a0901);_0x140ce4=_0x4a207b['status'],console['error'](_0x5660f6(0x358)+_0x4a207b['message']);!_0x35b0ad['isListening']()&&_0xd36556();_0x4a207b['fatal']&&process[_0x5660f6(0x68c)](0x1);const _0x115180=new StdioServerTransport();await _0x4fd7c4['connect'](_0x115180),console['error']('[react-native-mcp]\x20Server\x20started\x20on\x20stdio\x20transport'),void _0x1be651()[_0x5660f6(0x48b)](()=>null)['then'](_0x3138b0=>{const _0x574e3c=_0x5660f6;!_0x3138b0?.['accessToken']&&console[_0x574e3c(0x3dd)](_0x574e3c(0x259));}),void _0x23ce3c(),void((async()=>{const _0x3d5ea3=await _0x3d8a92()['catch'](()=>null);_0x258be2(_0x3d5ea3);})()),void _0x25cdf3({'workingDir':_0x504dae}),void((async()=>{const _0x4d3b27=_0x5660f6;try{const _0x5bd682=await _0x28256c(_0x504dae);if(!_0x5bd682){_0x6faf18['setAdapter'](null);return;}const _0x141c9f=await _0x22a1b8(_0x504dae,_0x5bd682);_0x6faf18['setAdapter'](_0x141c9f),console[_0x4d3b27(0x3dd)](_0x4d3b27(0x46c)+_0x5bd682[_0x4d3b27(0x525)]+'\x20(secret\x20env:\x20'+_0x5bd682['secretEnv']+')');}catch(_0x523893){_0x6faf18[_0x4d3b27(0x780)](null);const _0x2159c1=_0x523893 instanceof Error?_0x523893['message']:String(_0x523893);console['error']('[react-native-mcp]\x20Auth-bypass\x20provider\x20detection\x20failed\x20(non-fatal):\x20'+_0x2159c1);}})()),void _0x6faf18[_0x5660f6(0x9ef)]()['catch'](_0x358890=>{const _0xd649c6=_0x5660f6;console[_0xd649c6(0x3dd)]('[react-native-mcp]\x20Managed\x20test-user\x20sweep\x20failed\x20(non-fatal):\x20'+(_0x358890 instanceof Error?_0x358890[_0xd649c6(0x531)]:String(_0x358890)));}),_0x860608?.['start']();const _0x36071d=async()=>{const _0x34c2b3=_0x5660f6;_0x860608?.[_0x34c2b3(0x8bc)](),_0x5b307c&&(clearInterval(_0x5b307c),_0x5b307c=void 0x0),await Promise[_0x34c2b3(0x2d4)]([_0x22cea7['shutdown']()['catch'](()=>void 0x0),_0x35b0ad[_0x34c2b3(0x8bc)]()[_0x34c2b3(0x48b)](()=>void 0x0),_0x24325a[_0x34c2b3(0x8bc)]()[_0x34c2b3(0x48b)](()=>void 0x0),_0x1cffbc['stop']()[_0x34c2b3(0x48b)](()=>void 0x0),_0x5246a9[_0x34c2b3(0x8bc)]()['catch'](()=>void 0x0)]);};process['on'](_0x5660f6(0x8b8),()=>{const _0x4dd18d=_0x5660f6;void _0x36071d()[_0x4dd18d(0x9c5)](()=>process['exit'](0x0));}),process['on']('SIGTERM',()=>{const _0x15e2a0=_0x5660f6;void _0x36071d()['then'](()=>process[_0x15e2a0(0x68c)](0x0));});}process.env.CERAPH_NO_AUTOSTART!=='1'&&_0x23930a()['catch'](_0x5f07b0=>{const _0x36944d=_0xf8ecb6;console[_0x36944d(0x3dd)]('[react-native-mcp]\x20Fatal\x20error:',_0x5f07b0),process[_0x36944d(0x68c)](0x1);});export{_0x102b65 as buildRunResultContent,_0x5908bf as stripScreenshotBlobs};
3
+ const _0x3ee7d6=_0x4a5a;(function(_0x35e50d,_0x1210e9){const _0x1b8021=_0x4a5a,_0x2781b2=_0x35e50d();while(!![]){try{const _0x347be8=-parseInt(_0x1b8021(0x30b))/0x1+-parseInt(_0x1b8021(0x3e3))/0x2+-parseInt(_0x1b8021(0x1eb))/0x3*(-parseInt(_0x1b8021(0x5bf))/0x4)+parseInt(_0x1b8021(0x77c))/0x5+-parseInt(_0x1b8021(0x74b))/0x6*(-parseInt(_0x1b8021(0x523))/0x7)+parseInt(_0x1b8021(0x9cd))/0x8+parseInt(_0x1b8021(0x9a4))/0x9*(-parseInt(_0x1b8021(0x984))/0xa);if(_0x347be8===_0x1210e9)break;else _0x2781b2['push'](_0x2781b2['shift']());}catch(_0x25f5db){_0x2781b2['push'](_0x2781b2['shift']());}}}(_0x1ecd,0x6986e));import{join as _0x328b9d}from'path';import{McpServer}from'@modelcontextprotocol/sdk/server/mcp.js';import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{z as _0x161c47}from'zod';import{spawn}from'child_process';import{writeFile,access}from'fs/promises';import{join}from'path';var _0x229c7d=/^(.+?):(\d+):(\d+):\s*(error|warning|note):\s*(.+)$/,_0x1eccc0=[_0x3ee7d6(0x999),_0x3ee7d6(0x501),'xcodebuild:\x20error:','❌'],_0xf487ae=/^(ld|clang):\s*(error|warning):\s*(.+)$/,_0x460f0e=/^Undefined symbols? for architecture .+:\s*"(.+)"/,_0x449a79=/^\[!\]\s*(.+)$/,_0x5f2467=/^(Error|TypeError|ReferenceError|SyntaxError|RangeError):\s*(.+)$/,_0x38d211=/Unable to resolve module ['"](.+?)['"]/,_0x5c61be=/Metro has encountered an error/,_0x2d58e8=/^(ERROR|console\.error)\s*(.+)$/i,_0x386ae4=/Invariant Violation:\s*(.+)/,_0xce3677=/Unhandled JS Exception:\s*(.+)/,_0x1c2fec=/ExceptionsManager\.js/;function _0x3a809b(_0x2ef2a2){const _0x5460f5=_0x3ee7d6,_0x93f393=_0x2ef2a2[_0x5460f5(0x678)](_0x229c7d);if(_0x93f393)return{'file':_0x93f393[0x1],'line':parseInt(_0x93f393[0x2],0xa),'column':parseInt(_0x93f393[0x3],0xa),'message':_0x93f393[0x5],'severity':_0x93f393[0x4],'type':'build'};return null;}function _0x2d7400(_0x44d468){const _0x402db7=_0x3ee7d6,_0x1de98f=_0x44d468[_0x402db7(0x678)](_0xf487ae);if(_0x1de98f)return{'file':'','line':0x0,'column':0x0,'message':_0x1de98f[0x3],'severity':_0x1de98f[0x2],'type':_0x402db7(0x7d9)};const _0xe2e268=_0x44d468[_0x402db7(0x678)](_0x460f0e);if(_0xe2e268)return'XBCve'===_0x402db7(0x2f5)?{'file':'','line':0x0,'column':0x0,'message':'Undefined\x20symbol:\x20'+_0xe2e268[0x1],'severity':'error','type':_0x402db7(0x7d9)}:_0x266668['map'](_0x15561f=>_0x10f0e7(_0x15561f));return null;}var _0x2474f0=/\b(cdn|trunk|repo update|overrides the|setting defined in|deprecated|recommends|should)\b/i;function _0x105f05(_0x470ef5){const _0x530480=_0x3ee7d6,_0x5754ce=_0x470ef5[_0x530480(0x678)](_0x449a79);if(!_0x5754ce)return null;const _0x9af47d=_0x5754ce[0x1],_0x282fb5=_0x2474f0[_0x530480(0x364)](_0x9af47d);return{'file':_0x530480(0xdb),'line':0x0,'column':0x0,'message':_0x9af47d,'severity':_0x282fb5?_0x530480(0x77d):'error','type':_0x530480(0x36a)};}function _0xd52e8b(_0x287db9){const _0x2171c9=_0x3ee7d6,_0x1262cd=[],_0x3e509f=[];let _0x4087ff=![],_0x3dbe9c=null,_0x4cf4cb=0x0;const _0x110653=0x3;for(const _0x24cb62 of _0x287db9){const _0x59c1da=_0x24cb62[_0x2171c9(0x5da)]();if(!_0x59c1da){_0x3dbe9c=null,_0x4cf4cb=0x0;continue;}if(_0x1eccc0[_0x2171c9(0x2a5)](_0x5da62f=>_0x59c1da[_0x2171c9(0x83f)](_0x5da62f))){if('ssMzr'!==_0x2171c9(0x483))_0x4087ff=!![];else return{'applied':![],'previousValue':_0x1e456f,'reason':_0x2171c9(0x525)};}const _0x49e897=_0x3a809b(_0x59c1da);if(_0x49e897){_0x49e897[_0x2171c9(0x460)]===_0x2171c9(0x125)?(_0x1262cd['push'](_0x49e897),_0x3dbe9c=_0x49e897,_0x4cf4cb=0x0):'MaXUO'===_0x2171c9(0x9f0)?(_0x330d1d['push'](_0x44726e),_0x414b3a=_0x594663,_0x3bee1e=0x0):_0x3e509f['push']({'message':_0x49e897['message'],'source':_0x49e897[_0x2171c9(0x8f5)]+':'+_0x49e897['line']+':'+_0x49e897[_0x2171c9(0x298)]});continue;}const _0x2d6bb3=_0x2d7400(_0x59c1da);if(_0x2d6bb3){_0x2d6bb3[_0x2171c9(0x460)]==='warning'?_0x3e509f[_0x2171c9(0x496)]({'message':_0x2d6bb3[_0x2171c9(0x92e)],'source':_0x2171c9(0x357)}):_0x1262cd[_0x2171c9(0x496)](_0x2d6bb3);_0x3dbe9c=_0x2d6bb3,_0x4cf4cb=0x0;continue;}const _0x117d98=_0x105f05(_0x59c1da);if(_0x117d98){_0x117d98['severity']==='warning'?_0x3e509f[_0x2171c9(0x496)]({'message':_0x117d98['message'],'source':_0x2171c9(0x847)}):(_0x1262cd[_0x2171c9(0x496)](_0x117d98),_0x3dbe9c=_0x117d98,_0x4cf4cb=0x0);continue;}_0x3dbe9c&&_0x4cf4cb<_0x110653&&(_0x3dbe9c[_0x2171c9(0x92e)]+='\x0a'+_0x59c1da,_0x4cf4cb++);}return{'errors':_0x1262cd,'warnings':_0x3e509f,'buildFailed':_0x4087ff};}var _0x4862c9=class{[_0x3ee7d6(0x3bf)]=[];[_0x3ee7d6(0x5d5)]='';['inStackTrace']=![];['currentKind']='metro-error';['parse'](_0x4c51bb){const _0x20b85d=_0x3ee7d6,_0x48e59a=[],_0x1074d9=[],_0x4db020=_0x3572cf=>{const _0x4438ba=_0x4a5a;'TxMAc'==='TxMAc'?this['currentErrorMessage']&&(_0x3572cf['push']({'message':this[_0x4438ba(0x5d5)],'stack':this['currentStack']['join']('\x0a'),'timestamp':new Date()['toISOString'](),'kind':this['currentKind']}),this['currentErrorMessage']='',this[_0x4438ba(0x3bf)]=[],this['inStackTrace']=![],this['currentKind']=_0x4438ba(0x6b4)):(_0x1221a5='open',_0x256f9b=[_0x5c0dc6]);};for(const _0x560a0b of _0x4c51bb){const _0x4b8b08=_0x560a0b['trim'](),_0x1f6e39=_0x4b8b08['match'](_0x38d211);if(_0x1f6e39){_0x4db020(_0x48e59a),_0x48e59a['push']({'message':'Unable\x20to\x20resolve\x20module\x20\x27'+_0x1f6e39[0x1]+'\x27','stack':_0x4b8b08,'timestamp':new Date()['toISOString'](),'kind':_0x20b85d(0x6b4)});continue;}if(_0x5c61be['test'](_0x4b8b08)){_0x4db020(_0x48e59a),this['currentErrorMessage']=_0x20b85d(0x8af),this['inStackTrace']=!![];continue;}const _0x23b07f=_0x4b8b08[_0x20b85d(0x678)](_0x386ae4);if(_0x23b07f){_0x4db020(_0x48e59a),this[_0x20b85d(0x5d5)]='Invariant\x20Violation:\x20'+_0x23b07f[0x1],this['inStackTrace']=!![];continue;}const _0x57b24f=_0x4b8b08[_0x20b85d(0x678)](_0xce3677);if(_0x57b24f){_0x4db020(_0x48e59a),this[_0x20b85d(0x5d5)]=_0x20b85d(0x40a)+_0x57b24f[0x1],this[_0x20b85d(0x1bd)]=!![];continue;}const _0x5c3386=_0x4b8b08['match'](_0x5f2467);if(_0x5c3386){_0x4db020(_0x48e59a),this[_0x20b85d(0x5d5)]=_0x5c3386[0x1]+':\x20'+_0x5c3386[0x2],this[_0x20b85d(0x1bd)]=!![];continue;}const _0x569063=_0x4b8b08['match'](_0x2d58e8);if(_0x569063){if(_0x20b85d(0x5cb)!==_0x20b85d(0x418)){_0x4db020(_0x48e59a),this['currentErrorMessage']=_0x569063[0x2],this['currentKind']='console-error',this['inStackTrace']=!![];continue;}else{const _0x5246a5=_0x29d3c2(_0x187bed);return _0x31ea6d(this[_0x20b85d(0x649)](_0x568ca2),_0x5246a5,_0x20b85d(0x1f8)+_0x53fcd0+_0x20b85d(0x287));}}_0x1c2fec['test'](_0x4b8b08)&&(!this['currentErrorMessage']&&(this[_0x20b85d(0x5d5)]=_0x20b85d(0x9c6)),this['inStackTrace']=!![]);if(this[_0x20b85d(0x1bd)]){if(_0x4b8b08[_0x20b85d(0x887)](_0x20b85d(0x724))||_0x4b8b08[_0x20b85d(0x887)](_0x20b85d(0x3b8))||/^\s+at\s/[_0x20b85d(0x364)](_0x560a0b)||/^\d+\s*\|/[_0x20b85d(0x364)](_0x4b8b08)){this[_0x20b85d(0x3bf)]['push'](_0x4b8b08);continue;}else{if(_0x4b8b08===''){_0x4db020(_0x48e59a);continue;}else{this['currentStack']['push'](_0x4b8b08);continue;}}}(/^warn\s/i['test'](_0x4b8b08)||/\(WARN\)/['test'](_0x4b8b08))&&_0x1074d9['push']({'message':_0x4b8b08[_0x20b85d(0x27d)](/^warn\s*/i,'')['replace'](/\(WARN\)\s*/,''),'source':_0x20b85d(0x606)});}return{'runtimeErrors':_0x48e59a,'warnings':_0x1074d9};}[_0x3ee7d6(0x259)](){const _0x29cb88=_0x3ee7d6,_0x3b755a=[];return this['currentErrorMessage']&&(_0x3b755a['push']({'message':this[_0x29cb88(0x5d5)],'stack':this['currentStack']['join']('\x0a'),'timestamp':new Date()['toISOString'](),'kind':this['currentKind']}),this['currentErrorMessage']='',this['currentStack']=[],this['inStackTrace']=![],this[_0x29cb88(0x7b8)]=_0x29cb88(0x6b4)),{'runtimeErrors':_0x3b755a,'warnings':[]};}};function _0xfef5a1(_0x2f42b8){const _0x51dde3=_0x3ee7d6,_0x542507=new _0x4862c9(),_0x4cfe55=_0x542507['parse'](_0x2f42b8),_0x66924d=_0x542507[_0x51dde3(0x259)]();return{'runtimeErrors':[..._0x4cfe55[_0x51dde3(0x168)],..._0x66924d['runtimeErrors']],'warnings':[..._0x4cfe55['warnings'],..._0x66924d['warnings']]};}function _0x7476c(_0xd73354){const _0x5c00b2=_0x3ee7d6,_0x5273b8=_0xd73354[_0x5c00b2(0x5da)]()[_0x5c00b2(0x17e)]();if(_0x5273b8['startsWith'](_0x5c00b2(0x125))||_0x5273b8['includes']('console.error')||_0x5273b8[_0x5c00b2(0x887)]('❌')||/^\s*error\s*:/i['test'](_0xd73354))return _0x5c00b2(0x849)!=='RMLBq'?_0x5c00b2(0x125):{'ok':![],'reason':'not-installed'};if(_0x5273b8[_0x5c00b2(0x887)]('warn')||_0x5273b8['includes']('console.warn')||_0x5273b8[_0x5c00b2(0x83f)](_0x5c00b2(0x7a7))||/^\s*warning\s*:/i['test'](_0xd73354)){if('zfarl'==='zfarl')return _0x5c00b2(0x18a);else{const _0x2bdc60=_0xaa6ed9(_0x37771b[_0x5c00b2(0x836)]);if(_0x2bdc60){_0x572177({'deviceFound':!![],'udid':_0x2bdc60[_0x5c00b2(0x737)],'name':_0x2bdc60[_0x5c00b2(0x4d1)],'waitedMs':_0x4bebbe()-_0x447eee,'source':_0x5c00b2(0x57a)});return;}}}return'log';}var _0x38e6bb=class{[_0x3ee7d6(0x63e)]=null;[_0x3ee7d6(0x106)]=null;[_0x3ee7d6(0x58c)]=![];[_0x3ee7d6(0x752)]=![];['buildOutput']=[];[_0x3ee7d6(0x2cc)]=[];['buildErrors']=[];[_0x3ee7d6(0x168)]=[];[_0x3ee7d6(0x105)]=[];['metroWarnings']=[];[_0x3ee7d6(0x669)]=new _0x4862c9();[_0x3ee7d6(0x67b)]=0x3e8;['MAX_METRO_LINES']=0x1f4;['MAX_ERRORS']=0x64;['cwd'];[_0x3ee7d6(0x73f)];constructor(_0x29109c){const _0x40ed7c=_0x3ee7d6;this['cwd']=_0x29109c,this[_0x40ed7c(0x73f)]=join(_0x29109c,_0x40ed7c(0x8b8));}async[_0x3ee7d6(0x26a)](){const _0x4a3efa=_0x3ee7d6;try{const _0x22e7d5=join(this['cwd'],'app.json');await access(_0x22e7d5);const _0x4093c8=JSON[_0x4a3efa(0x229)](await(await import('fs/promises'))['readFile'](_0x22e7d5,'utf-8'));if(_0x4093c8[_0x4a3efa(0x64d)])return!![];}catch{}try{const _0x28c495=join(this[_0x4a3efa(0x346)],_0x4a3efa(0x833)),_0x28f2da=JSON[_0x4a3efa(0x229)](await(await import('fs/promises'))[_0x4a3efa(0x18d)](_0x28c495,_0x4a3efa(0x29d)));if(_0x28f2da['dependencies']?.[_0x4a3efa(0x64d)])return!![];}catch{}return![];}async['writeErrorFile'](_0x9d670b){const _0x4616b2=_0x3ee7d6;try{await writeFile(this['errorFilePath'],JSON['stringify']({'timestamp':new Date()[_0x4616b2(0x4a0)](),'errors':_0x9d670b[_0x4616b2(0x986)](_0x52cdd3=>({'message':_0x52cdd3[_0x4616b2(0x92e)],'stack':_0x52cdd3[_0x4616b2(0x209)],'timestamp':_0x52cdd3[_0x4616b2(0x3fe)],'kind':_0x52cdd3['kind']??_0x4616b2(0x6b4),..._0x52cdd3['url']!==void 0x0?{'url':_0x52cdd3['url']}:{},..._0x52cdd3[_0x4616b2(0x9d0)]!==void 0x0?{'status':_0x52cdd3[_0x4616b2(0x9d0)]}:{},..._0x52cdd3[_0x4616b2(0x476)]!==void 0x0?{'method':_0x52cdd3['method']}:{},..._0x52cdd3[_0x4616b2(0x8ad)]!==void 0x0?{'durationMs':_0x52cdd3['durationMs']}:{},..._0x52cdd3['elementKey']!==void 0x0?{'elementKey':_0x52cdd3['elementKey']}:{},..._0x52cdd3[_0x4616b2(0x4a2)]!==void 0x0?{'prevText':_0x52cdd3['prevText']}:{},..._0x52cdd3[_0x4616b2(0x63f)]!==void 0x0?{'nextText':_0x52cdd3[_0x4616b2(0x63f)]}:{}}))},null,0x2),_0x4616b2(0x29d));}catch{}}async['appendShimSignal'](_0x3c6815){const _0x4b87d7=_0x3ee7d6;this[_0x4b87d7(0x168)]['push'](_0x3c6815),this[_0x4b87d7(0x130)](this['runtimeErrors']),await this['writeErrorFile'](this['runtimeErrors']);}async[_0x3ee7d6(0x7b3)](){const _0x2cd9d2=_0x3ee7d6;try{await writeFile(this[_0x2cd9d2(0x73f)],JSON['stringify']({'timestamp':new Date()['toISOString'](),'errors':[]}),_0x2cd9d2(0x29d));}catch{}}['pushLine'](_0x3b4914,_0x1dc44c,_0x34b54d){const _0x4389d1=_0x3ee7d6;_0x3b4914['push'](_0x1dc44c),_0x3b4914['length']>_0x34b54d&&_0x3b4914[_0x4389d1(0x6e7)](0x0,_0x3b4914[_0x4389d1(0x945)]-_0x34b54d);}['capErrors'](_0x4c2687){const _0x38525b=_0x3ee7d6;_0x4c2687[_0x38525b(0x945)]>this[_0x38525b(0x9e3)]&&_0x4c2687[_0x38525b(0x6e7)](0x0,_0x4c2687[_0x38525b(0x945)]-this['MAX_ERRORS']);}async['killProcess'](_0x373093){return new Promise(_0x295419=>{const _0x4b70e4=_0x4a5a;if(!_0x373093['pid']||_0x373093[_0x4b70e4(0x186)]!==null){_0x295419();return;}let _0x4c332e=null;const _0xd91ad0=setTimeout(()=>{try{_0x373093['kill']('SIGKILL');}catch{}_0x4c332e=setTimeout(()=>{const _0xe74f2=_0x4a5a;'LUIbB'!=='LUIbB'?!_0x3cba2a[_0xe74f2(0x21c)](_0x4e31ac)&&(_0x36c0ea[_0xe74f2(0x5c1)](_0x37a968),_0x36aabe['push']({'label':_0x4fefca,'text':_0x1ef053(_0x27b8f2,0xc8),'matchedSignal':'role-alert'})):(_0x373093[_0xe74f2(0x74c)](_0xe74f2(0x41e),_0x41a717),_0x295419());},0x7d0);},0x1388),_0x41a717=()=>{clearTimeout(_0xd91ad0);if(_0x4c332e)clearTimeout(_0x4c332e);_0x295419();};_0x373093[_0x4b70e4(0x9b5)](_0x4b70e4(0x41e),_0x41a717);try{_0x373093[_0x4b70e4(0x142)]('SIGTERM');}catch{_0x373093[_0x4b70e4(0x74c)](_0x4b70e4(0x41e),_0x41a717),clearTimeout(_0xd91ad0),_0x295419();return;}_0x373093[_0x4b70e4(0x186)]!==null&&(_0x373093['off'](_0x4b70e4(0x41e),_0x41a717),clearTimeout(_0xd91ad0),_0x295419());});}['runPrebuildClean'](){return new Promise(_0x3c17ab=>{const _0x16e751=_0x4a5a,_0x26ae5e=[],_0xae9f4c=spawn(_0x16e751(0x78e),['expo',_0x16e751(0x709),_0x16e751(0x594)],{'cwd':this[_0x16e751(0x346)],'stdio':[_0x16e751(0x317),_0x16e751(0x406),'pipe']}),_0x17b368=_0x4493a6=>{const _0x5dad38=_0x16e751,_0x2b0bb9=_0x4493a6[_0x5dad38(0x510)]();for(const _0x22aa46 of _0x2b0bb9[_0x5dad38(0x814)]('\x0a')){if(_0x22aa46['trim']())_0x26ae5e['push'](_0x22aa46);}};_0xae9f4c[_0x16e751(0x91a)]?.['on']('data',_0x17b368),_0xae9f4c[_0x16e751(0x870)]?.['on']('data',_0x17b368);let _0x2ae9fc=![];_0xae9f4c['on'](_0x16e751(0x125),_0x23f83b=>{const _0x52b741=_0x16e751;if(_0x2ae9fc)return;_0x2ae9fc=!![],_0x3c17ab({'success':![],'output':'Failed\x20to\x20spawn\x20prebuild:\x20'+_0x23f83b[_0x52b741(0x92e)]});}),_0xae9f4c['on'](_0x16e751(0x41e),_0x2718fe=>{if(_0x2ae9fc)return;_0x2ae9fc=!![],_0x3c17ab({'success':_0x2718fe===0x0,'output':_0x26ae5e['join']('\x0a')});});});}async[_0x3ee7d6(0x570)](_0x4683af={}){const _0x483a8e=_0x3ee7d6,_0x36db25=await this['detectProjectType']();this['buildProcess']&&(this[_0x483a8e(0x58c)]=!![],await this['killProcess'](this[_0x483a8e(0x63e)]),this['buildProcess']=null);this['buildKilled']=![],this[_0x483a8e(0x3db)]=[],this[_0x483a8e(0x7a3)]=[],this[_0x483a8e(0x105)]=[];if(_0x4683af[_0x483a8e(0x276)]){if(!_0x36db25)return{'success':![],'errors':[{'file':'','line':0x0,'message':_0x483a8e(0x9f5),'type':_0x483a8e(0x17d)}],'warnings':[],'output':''};const _0xa9c306=await this[_0x483a8e(0x8fe)]();if(!_0xa9c306['success'])return{'success':![],'errors':[{'file':'','line':0x0,'message':'prebuild\x20--clean\x20failed:\x0a'+_0xa9c306[_0x483a8e(0x177)],'type':'build'}],'warnings':[],'output':_0xa9c306[_0x483a8e(0x177)]};for(const _0x34834a of _0xa9c306['output'][_0x483a8e(0x814)]('\x0a')){this['pushLine'](this[_0x483a8e(0x3db)],_0x34834a,this['MAX_BUILD_LINES']);}}const _0x516def=_0x36db25?['expo','run:ios']:['react-native','run-ios'];return _0x4683af['device']&&_0x516def[_0x483a8e(0x496)](_0x36db25?_0x483a8e(0x96a):_0x483a8e(0x5dd),_0x4683af['device']),new Promise(_0x3794aa=>{const _0x35cbe7=_0x483a8e,_0x28c79e=spawn('npx',_0x516def,{'cwd':this[_0x35cbe7(0x346)],'stdio':['ignore',_0x35cbe7(0x406),_0x35cbe7(0x406)]});this[_0x35cbe7(0x63e)]=_0x28c79e;const _0x45f63d=_0x1d26d6=>{const _0x457cf9=_0x35cbe7,_0x19ec8e=_0x1d26d6['toString']();for(const _0x5961da of _0x19ec8e['split']('\x0a')){if(_0x5961da[_0x457cf9(0x5da)]()){if(_0x457cf9(0xda)!==_0x457cf9(0xda)){const _0x40494f=_0x558d01;if(_0x40494f?.[_0x457cf9(0x4d1)]==='AbortError')throw new _0x3e58fa(_0x457cf9(0x80a),0x0,_0x457cf9(0x8a8)+_0x523a1a+_0x457cf9(0x7b7),_0x30f740);throw new _0x3e5aa8('network-error',0x0,'Could\x20not\x20reach\x20the\x20Ceraph\x20server.\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.',_0x435f86);}else this[_0x457cf9(0x377)](this[_0x457cf9(0x3db)],_0x5961da,this['MAX_BUILD_LINES']);}}};_0x28c79e['stdout']?.['on']('data',_0x45f63d),_0x28c79e[_0x35cbe7(0x870)]?.['on']('data',_0x45f63d);let _0x2a2d91=![];_0x28c79e['on'](_0x35cbe7(0x125),_0x265ddd=>{const _0x6f246e=_0x35cbe7;if(_0x2a2d91)return;_0x2a2d91=!![],this[_0x6f246e(0x63e)]=null,_0x3794aa({'success':![],'errors':[{'file':'','line':0x0,'message':'Failed\x20to\x20spawn\x20'+(_0x36db25?'expo\x20run:ios':_0x6f246e(0x1e4))+':\x20'+_0x265ddd[_0x6f246e(0x92e)],'type':'build'}],'warnings':[],'output':this[_0x6f246e(0x3db)][_0x6f246e(0x221)]('\x0a')});}),_0x28c79e['on']('exit',_0x187c1f=>{const _0x56997=_0x35cbe7;if(_0x2a2d91)return;_0x2a2d91=!![],this[_0x56997(0x63e)]=null;if(this[_0x56997(0x58c)]){_0x3794aa({'success':![],'errors':[],'warnings':[],'output':'Build\x20was\x20cancelled.'});return;}const _0x2bf5a1=_0xd52e8b(this[_0x56997(0x3db)]);this[_0x56997(0x7a3)]=_0x2bf5a1['errors'],this[_0x56997(0x105)]=_0x2bf5a1['warnings'],this['capErrors'](this[_0x56997(0x7a3)]);const _0x44f10e=_0x187c1f===0x0&&!_0x2bf5a1[_0x56997(0x2ba)];_0x3794aa({'success':_0x44f10e,'errors':_0x2bf5a1['errors']['map'](_0x4ccabc=>({'file':_0x4ccabc[_0x56997(0x8f5)],'line':_0x4ccabc[_0x56997(0xf5)],'message':_0x4ccabc[_0x56997(0x92e)],'type':_0x4ccabc[_0x56997(0x85c)]})),'warnings':_0x2bf5a1['warnings'],'output':this['buildOutput']['slice'](-0x64)['join']('\x0a')});});});}async['startMetro'](_0x135603={}){const _0x2b601b=_0x3ee7d6,_0x703186=await this[_0x2b601b(0x26a)]();this['metroProcess']&&(this['metroKilled']=!![],await this['killProcess'](this[_0x2b601b(0x106)]),this[_0x2b601b(0x106)]=null);this['metroKilled']=![],this['metroOutput']=[],this['runtimeErrors']=[],this['metroWarnings']=[],this[_0x2b601b(0x669)]=new _0x4862c9();const _0x10e5ea=_0x703186?['expo',_0x2b601b(0x41b),'--dev-client']:['react-native',_0x2b601b(0x41b)];return _0x135603[_0x2b601b(0x688)]&&_0x10e5ea[_0x2b601b(0x496)](_0x2b601b(0x32d),String(_0x135603['port'])),_0x135603['clear']&&_0x10e5ea[_0x2b601b(0x496)](_0x703186?'--clear':_0x2b601b(0x632)),await this['clearErrorFile'](),new Promise(_0x5bd856=>{const _0x3323e0=_0x2b601b,_0x466ff2=spawn(_0x3323e0(0x78e),_0x10e5ea,{'cwd':this['cwd'],'stdio':['ignore','pipe',_0x3323e0(0x406)]});this['metroProcess']=_0x466ff2;let _0x186136=![];const _0x46ec4f=_0x5c9871=>{const _0x4c30d3=_0x3323e0;if(_0x4c30d3(0x329)!==_0x4c30d3(0x329))_0x1d5920[_0x4c30d3(0x496)](_0x4c30d3(0x5c5)+_0x536810[_0x4c30d3(0x62c)][_0x4c30d3(0x221)](',\x20')+'.\x20Stale\x20native\x20modules\x20may\x20cause\x20build\x20errors.');else{const _0x27888b=_0x5c9871['toString'](),_0x5effe7=[];for(const _0x2a22c2 of _0x27888b[_0x4c30d3(0x814)]('\x0a')){_0x2a22c2['trim']()&&(this['pushLine'](this['metroOutput'],_0x2a22c2,this[_0x4c30d3(0x7cc)]),_0x5effe7[_0x4c30d3(0x496)](_0x2a22c2));}if(_0x5effe7[_0x4c30d3(0x945)]>0x0){const _0x525184=this[_0x4c30d3(0x669)]['parse'](_0x5effe7);_0x525184[_0x4c30d3(0x168)][_0x4c30d3(0x945)]>0x0&&(this[_0x4c30d3(0x168)]['push'](..._0x525184['runtimeErrors']),this['capErrors'](this['runtimeErrors']),this['writeErrorFile'](this[_0x4c30d3(0x168)])),_0x525184['warnings'][_0x4c30d3(0x945)]>0x0&&this['metroWarnings'][_0x4c30d3(0x496)](..._0x525184['warnings']);}!_0x186136&&_0x27888b['includes']('Metro\x20waiting\x20on')&&(_0x186136=!![],_0x5bd856({'success':!![],'message':_0x4c30d3(0x8d1)}));}};_0x466ff2[_0x3323e0(0x91a)]?.['on'](_0x3323e0(0x978),_0x46ec4f),_0x466ff2['stderr']?.['on']('data',_0x46ec4f),_0x466ff2['on'](_0x3323e0(0x125),_0x5eb0e2=>{const _0x152d20=_0x3323e0;if(_0x152d20(0x994)===_0x152d20(0x755)){const _0x4ef2b1=_0x30a085(_0x4e1298)[_0x152d20(0x27d)](/\.(tsx|jsx)$/i,''),_0x326f8f=_0xa9be21(_0x1e72a2(_0x9506)),_0x293b57=new _0x52e684(['page','index',_0x152d20(0x5e9),'route','layout']),_0x151900=_0x293b57['has'](_0x4ef2b1['toLowerCase']())?_0x326f8f:_0x4ef2b1,_0xa5e26c=_0x151900['replace'](/([a-z0-9])([A-Z])/g,_0x152d20(0x12d))[_0x152d20(0x17e)]()['replace'](/[^a-z0-9]+/g,'-')[_0x152d20(0x27d)](/^-+|-+$/g,'');return _0xa5e26c[_0x152d20(0x945)]>0x0?_0xa5e26c:'camera';}else this[_0x152d20(0x106)]=null,!_0x186136&&(_0x186136=!![],_0x5bd856({'success':![],'message':'Failed\x20to\x20start\x20Metro:\x20'+_0x5eb0e2[_0x152d20(0x92e)]}));}),_0x466ff2['on']('exit',_0x14fdcd=>{const _0x2966de=_0x3323e0;this[_0x2966de(0x106)]=null;const _0x398248=this['metroParser'][_0x2966de(0x259)]();_0x398248[_0x2966de(0x168)]['length']>0x0&&(this['runtimeErrors'][_0x2966de(0x496)](..._0x398248['runtimeErrors']),this['capErrors'](this[_0x2966de(0x168)]),this[_0x2966de(0x705)](this['runtimeErrors']));if(this[_0x2966de(0x752)]){!_0x186136&&(_0x186136=!![],_0x5bd856({'success':![],'message':'Metro\x20was\x20cancelled.'}));return;}!_0x186136&&(_0x186136=!![],_0x5bd856({'success':![],'message':_0x2966de(0x7e2)+_0x14fdcd+'.'}));}),setTimeout(()=>{const _0x299638=_0x3323e0;!_0x186136&&(_0x186136=!![],_0x5bd856({'success':!![],'message':_0x299638(0x61d)}));},0x7530);});}['getErrors'](){const _0x2657d6=_0x3ee7d6,_0x2b64a5=this[_0x2657d6(0x106)]===null?_0xfef5a1(this['metroOutput']):{'runtimeErrors':[],'warnings':[]};return{'buildErrors':this[_0x2657d6(0x7a3)]['map'](_0x2438c9=>({'file':_0x2438c9[_0x2657d6(0x8f5)],'line':_0x2438c9['line'],'column':_0x2438c9[_0x2657d6(0x298)],'message':_0x2438c9['message'],'severity':_0x2438c9['severity'],'type':_0x2438c9['type']})),'runtimeErrors':this[_0x2657d6(0x168)]['length']>0x0?this['runtimeErrors']:_0x2b64a5[_0x2657d6(0x168)],'warnings':[...this['buildWarnings'],...this['metroWarnings']]};}['getConsole'](_0x49ba1d={}){const _0x35da46=_0x3ee7d6,{lines:lines=0x32,level:level=_0x35da46(0x9a6)}=_0x49ba1d;let _0x372448=this['metroOutput'];return level!==_0x35da46(0x9a6)&&('aLNdD'!==_0x35da46(0x5e0)?(_0x4ba07d={'line':_0x1d7279['getStartLineNumber']()},_0x33d9a4=_0x4e943f['map'](_0x3d35fe=>_0x3d35fe['getText']())):_0x372448=_0x372448['filter'](_0x224b12=>{const _0x54b86b=_0x7476c(_0x224b12);return _0x54b86b===level;})),_0x372448['slice'](-lines);}async[_0x3ee7d6(0x2c3)](){const _0x17a339=_0x3ee7d6,_0x273e59=[];if(this[_0x17a339(0x63e)]){if('dPPDv'==='mpORI')return{'ok':![],'error':_0x17a339(0x7d7)};else this['buildKilled']=!![],await this['killProcess'](this['buildProcess']),this[_0x17a339(0x63e)]=null,_0x273e59[_0x17a339(0x496)]('build');}return this['metroProcess']&&(this[_0x17a339(0x752)]=!![],await this['killProcess'](this[_0x17a339(0x106)]),this['metroProcess']=null,_0x273e59[_0x17a339(0x496)]('metro')),_0x273e59;}[_0x3ee7d6(0x3c6)](){const _0x170b39=_0x3ee7d6;return[...this[_0x170b39(0x3db)]];}['getMetroOutput'](){const _0xe11146=_0x3ee7d6;return[...this[_0xe11146(0x2cc)]];}};import{spawn as _0x4d3fc2}from'child_process';import{access as _0x2a1aa9,readdir,readFile}from'fs/promises';import{join as _0x18d532}from'path';async function _0x5690f0(_0x10a234){try{return await readFile(_0x10a234,'utf-8');}catch{return null;}}async function _0x277fa1(_0x844e3b){const _0x432990=_0x3ee7d6,_0x1590d8=_0x18d532(_0x844e3b,'node_modules',_0x432990(0x647),'expo');try{await _0x2a1aa9(_0x1590d8);}catch{return null;}return new Promise(_0x4d6448=>{const _0x3a9135=_0x432990;if(_0x3a9135(0x9ea)===_0x3a9135(0x9ea)){let _0x2761ba='',_0x4b82ad;try{_0x4b82ad=_0x4d3fc2(_0x1590d8,[_0x3a9135(0x94b),_0x3a9135(0x1d6)],{'cwd':_0x844e3b,'stdio':[_0x3a9135(0x317),'pipe',_0x3a9135(0x406)]});}catch{_0x4d6448(null);return;}let _0x3e990e=![];const _0x59d4ad=_0x13f1b2=>{const _0x3d2b7e=_0x3a9135;if('josBe'!==_0x3d2b7e(0x104)){if(_0x3e990e)return;_0x3e990e=!![],clearTimeout(_0x1a91cf),_0x4d6448(_0x13f1b2);}else return{'success':!![],'already':!![],'newContent':_0x1ea06e};},_0x1a91cf=setTimeout(()=>{const _0x1d7767=_0x3a9135;try{_0x4b82ad['kill'](_0x1d7767(0x57c));}catch{}_0x59d4ad(null);},0x3a98);_0x4b82ad[_0x3a9135(0x91a)]?.['on'](_0x3a9135(0x978),_0x4f1167=>{const _0x5ec6d5=_0x3a9135;_0x2761ba+=_0x4f1167[_0x5ec6d5(0x510)]();}),_0x4b82ad['on'](_0x3a9135(0x125),()=>_0x59d4ad(null)),_0x4b82ad['on']('exit',_0x4bd45a=>_0x59d4ad(_0x4bd45a===0x0?_0x2761ba:null));}else return{'ok':![],'reason':'xcodebuild-spawn-failed','error':'Failed\x20to\x20spawn\x20xcodebuild:\x20'+(_0x36bded instanceof _0x1597e0?_0x3b222c['message']:_0x36ace6(_0x1bfb3a))};});}async function _0x1beccf(_0x345ead){const _0x395ac8=_0x3ee7d6;let _0x2cdf55=null;try{const _0x29278a=_0x18d532(_0x345ead,'ios'),_0x357b99=await readdir(_0x29278a),_0x330817=_0x357b99['find'](_0x2f6b92=>_0x2f6b92[_0x395ac8(0x3f0)]('.xcodeproj'));if(_0x330817)_0x2cdf55=_0x18d532(_0x29278a,_0x330817);}catch{return null;}if(!_0x2cdf55)return null;return new Promise(_0x73273a=>{const _0x2dd39e=_0x395ac8;let _0x2623d9='',_0x254d29;try{_0x254d29=_0x4d3fc2(_0x2dd39e(0x5d4),['-showBuildSettings',_0x2dd39e(0x924),_0x2dd39e(0x677),_0x2cdf55],{'cwd':_0x345ead,'stdio':[_0x2dd39e(0x317),'pipe',_0x2dd39e(0x317)]});}catch{if(_0x2dd39e(0x4d9)==='whncG')_0x113daa[_0x2dd39e(0x4ae)]();else{_0x73273a(null);return;}}let _0x2e50c8=![];const _0x43f787=_0x5dd3fd=>{if(_0x2e50c8)return;_0x2e50c8=!![],clearTimeout(_0x146f3d),_0x73273a(_0x5dd3fd);},_0x146f3d=setTimeout(()=>{const _0x49a484=_0x2dd39e;try{_0x254d29['kill'](_0x49a484(0x57c));}catch{}_0x43f787(null);},0x7530);_0x254d29[_0x2dd39e(0x91a)]?.['on'](_0x2dd39e(0x978),_0x46516e=>{const _0xb33a09=_0x2dd39e;_0x2623d9+=_0x46516e[_0xb33a09(0x510)]();}),_0x254d29['on']('error',()=>_0x43f787(null)),_0x254d29['on']('exit',()=>{const _0x5ab6e5=_0x2dd39e;_0x43f787(_0x2623d9[_0x5ab6e5(0x5da)]()[_0x5ab6e5(0x945)]>0x0?_0x2623d9:null);});});}var _0x310bb6={'readFileUtf8':_0x5690f0,'runExpoConfig':_0x277fa1,'runXcodeBuildSettings':_0x1beccf};function _0x554852(_0x1aa001){const _0x404e8a=_0x3ee7d6;if(typeof _0x1aa001!==_0x404e8a(0x7fd))return null;const _0x2b0aaa=_0x1aa001['trim']();return _0x2b0aaa['length']>0x0?_0x2b0aaa:null;}function _0x499152(_0x11817b){const _0x1541de=_0x3ee7d6;if(_0x11817b===null||typeof _0x11817b!=='object')return null;const _0x760823=_0x11817b,_0x1440ca=_0x760823[_0x1541de(0x64d)]&&typeof _0x760823[_0x1541de(0x64d)]==='object'?_0x760823[_0x1541de(0x64d)]:void 0x0,_0x80d2af=_0x1440ca&&_0x1440ca[_0x1541de(0x5c2)]&&typeof _0x1440ca[_0x1541de(0x5c2)]==='object'?_0x1440ca['ios']:void 0x0,_0x239efd=_0x554852(_0x80d2af?.['bundleIdentifier']);if(_0x239efd)return _0x239efd;const _0x2917dc=_0x760823[_0x1541de(0x5c2)]&&typeof _0x760823[_0x1541de(0x5c2)]===_0x1541de(0x5ab)?_0x760823[_0x1541de(0x5c2)]:void 0x0;return _0x554852(_0x2917dc?.['bundleIdentifier']);}function _0x1a2edb(_0x20ed3c){const _0x509a2e=_0x3ee7d6;if(!Array[_0x509a2e(0x246)](_0x20ed3c))return null;const _0x26187e=_0x20ed3c[_0x509a2e(0x986)](_0x5b92c7=>_0x5b92c7&&typeof _0x5b92c7===_0x509a2e(0x5ab)?_0x5b92c7['buildSettings']:null)['filter'](_0x4a1530=>!!_0x4a1530&&typeof _0x4a1530===_0x509a2e(0x5ab)&&!Array['isArray'](_0x4a1530)),_0x580974=_0x26187e['find'](_0x13bbc0=>_0x13bbc0[_0x509a2e(0x57e)]===_0x509a2e(0x44c)||_0x13bbc0['PRODUCT_TYPE']==='com.apple.product-type.application');if(_0x580974){const _0x2f1c84=_0x554852(_0x580974[_0x509a2e(0x437)]);if(_0x2f1c84)return _0x2f1c84;}for(const _0x118753 of _0x26187e){if('tckNI'!==_0x509a2e(0x787))throw _0x51437d;else{if(_0x118753['WRAPPER_EXTENSION']===_0x509a2e(0x11c)||String(_0x118753[_0x509a2e(0x385)]??'')['includes'](_0x509a2e(0x743)))continue;const _0x45d390=_0x554852(_0x118753['PRODUCT_BUNDLE_IDENTIFIER']);if(_0x45d390&&!/\.(tests?|uitests?)$/i['test'](_0x45d390))return _0x45d390;}}return null;}function _0x46ad3b(_0x3aae3f){const _0x168e8a=_0x3ee7d6;if(_0x3aae3f===null)return null;try{return JSON[_0x168e8a(0x229)](_0x3aae3f);}catch{return null;}}async function _0x2258f0(_0x556714,_0x52077d){const _0x4bb7bd=_0x3ee7d6,_0x320d63=_0x52077d?.['readFileUtf8']??_0x310bb6[_0x4bb7bd(0x89b)],_0x4527ef=_0x52077d?.[_0x4bb7bd(0x383)]??_0x310bb6['runExpoConfig'],_0x5c83be=_0x52077d?.[_0x4bb7bd(0x6f1)]??_0x310bb6[_0x4bb7bd(0x6f1)];for(const _0x4d2cd6 of['app.json','app.config.json']){try{const _0x262b9e=await _0x320d63(_0x18d532(_0x556714,_0x4d2cd6)),_0x579545=_0x499152(_0x46ad3b(_0x262b9e));if(_0x579545)return _0x579545;}catch{}}try{const _0x4d785e=await _0x4527ef(_0x556714),_0x5b076e=_0x499152(_0x46ad3b(_0x4d785e));if(_0x5b076e)return _0x5b076e;}catch{}try{if(_0x4bb7bd(0x9d6)===_0x4bb7bd(0x191))_0x1f2e7c[_0x4bb7bd(0x183)]('\x20\x20'+_0x27b309);else{const _0x458885=await _0x5c83be(_0x556714),_0x4692d6=_0x1a2edb(_0x46ad3b(_0x458885));if(_0x4692d6)return _0x4692d6;}}catch{}return null;}import{spawn as _0x2f4f9d}from'child_process';function _0x4afaa0(_0x2dcb13,_0x36f69b,_0x7c7904={}){return new Promise(_0x330bc9=>{const _0x2fea9b=_0x4a5a;let _0x58d1f2='',_0x322b25='',_0x4ac797;try{if('QNkGx'==='QNkGx')_0x4ac797=_0x2f4f9d(_0x2dcb13,_0x36f69b,{'stdio':['ignore',_0x2fea9b(0x406),'pipe']});else return this['cached'];}catch(_0x2cc9ae){_0x330bc9({'code':0x7f,'stdout':'','stderr':_0x2cc9ae instanceof Error?_0x2cc9ae[_0x2fea9b(0x92e)]:String(_0x2cc9ae)});return;}const _0x9503b1=setTimeout(()=>{const _0x1eaeee=_0x2fea9b;try{_0x4ac797[_0x1eaeee(0x142)](_0x1eaeee(0x57c));}catch{}},_0x7c7904['timeoutMs']??0x1f40);_0x4ac797['stdout']?.['on'](_0x2fea9b(0x978),_0x3e7faf=>{const _0x246f62=_0x2fea9b;_0x58d1f2+=_0x3e7faf[_0x246f62(0x510)]();}),_0x4ac797['stderr']?.['on'](_0x2fea9b(0x978),_0x35b8be=>{const _0xc4e9b7=_0x2fea9b;_0xc4e9b7(0x4c4)!=='aqKWa'?_0x322b25+=_0x35b8be['toString']():_0x57fdb6['type']=_0x253814[_0xc4e9b7(0x1a1)];});let _0x51efeb=![];_0x4ac797['on'](_0x2fea9b(0x125),_0x158c9c=>{const _0x9881cd=_0x2fea9b;if(_0x51efeb)return;_0x51efeb=!![],clearTimeout(_0x9503b1),_0x330bc9({'code':0x7f,'stdout':_0x58d1f2,'stderr':_0x322b25+(_0x158c9c[_0x9881cd(0x92e)]??String(_0x158c9c))});}),_0x4ac797['on'](_0x2fea9b(0x41e),_0x1366a3=>{const _0x13a37a=_0x2fea9b;if(_0x13a37a(0x597)==='HHVEk'){if(_0x51efeb)return;_0x51efeb=!![],clearTimeout(_0x9503b1),_0x330bc9({'code':_0x1366a3??0x1,'stdout':_0x58d1f2,'stderr':_0x322b25});}else return'No\x20device\x20hardware\x20UDID\x20resolved\x20—\x20could\x20not\x20start\x20the\x20iproxy\x20bridge.';});});}function _0x351838(_0x3f9f6d){const _0x191051=_0x3ee7d6,_0x4f381d=(_0x3f9f6d??'')['trim']()['toLowerCase']();if(_0x4f381d==='device')return _0x191051(0x931);if(_0x4f381d===_0x191051(0x21f)||_0x4f381d==='sim')return _0x191051(0x21f);return _0x191051(0x4fa);}async function _0x5d4596(){const _0x872154=_0x3ee7d6,_0x4da80f=await _0x4afaa0('xcrun',['simctl','list',_0x872154(0x598),_0x872154(0x93b),'-j']);if(_0x4da80f[_0x872154(0x845)]!==0x0)return[];try{const _0x58c340=JSON['parse'](_0x4da80f[_0x872154(0x91a)]),_0x56080a=[],_0x13b580=_0x58c340['devices']??{};for(const [_0xa78e1f,_0xdb0830]of Object[_0x872154(0x6b0)](_0x13b580)){const _0x3c5945=_0xa78e1f['toLowerCase']()[_0x872154(0x83f)](_0x872154(0x5c2))||_0xa78e1f[_0x872154(0x17e)]()[_0x872154(0x83f)](_0x872154(0x623));if(!_0x3c5945)continue;if(!Array['isArray'](_0xdb0830))continue;for(const _0x48c6c1 of _0xdb0830){if(!_0x48c6c1[_0x872154(0x737)])continue;if((_0x48c6c1['state']??'')['toLowerCase']()!==_0x872154(0x93b))continue;_0x56080a[_0x872154(0x496)]({'udid':_0x48c6c1[_0x872154(0x737)],'name':_0x48c6c1[_0x872154(0x4d1)]??_0x48c6c1['udid'],'runtime':_0x48c6c1[_0x872154(0x6dc)]??_0xa78e1f});}}return _0x56080a;}catch{return[];}}function _0x31da21(_0x5b3513){const _0x488b44=_0x3ee7d6,_0x4639f6=/ServerURLHere->https?:\/\/[^:/\s]+:(\d{2,5})<-ServerURLHere/,_0xbc3e9d=_0x4639f6['exec'](_0x5b3513);if(!_0xbc3e9d)return null;const _0x38ad88=Number(_0xbc3e9d[0x1]);if(!Number[_0x488b44(0x996)](_0x38ad88)||_0x38ad88<0x1||_0x38ad88>0xffff)return null;return _0x38ad88;}var _0x5208c3=_0x3ee7d6(0x876);function _0x122f26(_0x4b211d){const _0x35fe11=_0x3ee7d6;return _0x35fe11(0x26b)+_0x4b211d;}var _0x5e82ea=class{['apps'];['readPreference'];['cached']=null;['cachedAt']=0x0;[_0x3ee7d6(0x170)];[_0x3ee7d6(0x14e)]=null;[_0x3ee7d6(0x8fb)]=0x0;['simulatorWdaPort']=null;[_0x3ee7d6(0x7e6)]=null;[_0x3ee7d6(0x6ba)]=null;['realDeviceHookFiredFor']=new Set();[_0x3ee7d6(0x1bc)]=new Map();['listBooted'];constructor(_0x3b1a65={}){const _0x4c22f2=_0x3ee7d6;this['apps']=_0x3b1a65[_0x4c22f2(0x7dd)]??null,this['readPreference']=_0x3b1a65['readPreference']??(()=>_0x351838(process.env.CERAPH_TARGET)),this[_0x4c22f2(0x170)]=_0x3b1a65[_0x4c22f2(0x170)]??0x1388,this[_0x4c22f2(0x9a7)]=_0x3b1a65[_0x4c22f2(0x9a7)]??_0x5d4596;}['setAppLifecycle'](_0x239ee7){const _0xed0318=_0x3ee7d6;this['apps']=_0x239ee7,this[_0xed0318(0x6f6)]=null,this['stateVersion']++;}['setSimulatorWdaPort'](_0x123d33,_0x32626c){const _0x1b4d6a=_0x3ee7d6;this[_0x1b4d6a(0x353)]=_0x123d33,this[_0x1b4d6a(0x7e6)]=_0x32626c,this[_0x1b4d6a(0x6f6)]=null,this[_0x1b4d6a(0x8fb)]++;}['clearSimulatorWdaPort'](){const _0x23b902=_0x3ee7d6;this['simulatorWdaPort']=null,this[_0x23b902(0x7e6)]=null,this[_0x23b902(0x6f6)]=null,this['stateVersion']++;}['getSimulatorWdaPort'](){const _0x37b6de=_0x3ee7d6;return this[_0x37b6de(0x353)];}['getSimulatorWdaUdid'](){return this['simulatorWdaUdid'];}['invalidate'](){const _0x5d8334=_0x3ee7d6;this[_0x5d8334(0x6f6)]=null,this[_0x5d8334(0x8fb)]++;}['setRealDeviceHook'](_0x2360ae){this['realDeviceHook']=_0x2360ae;}async['getBaseUrl'](){const _0xcb41fa=_0x3ee7d6,_0x1e40da=await this[_0xcb41fa(0x75f)]();return _0x1e40da[_0xcb41fa(0x3a9)];}async['getTarget'](){const _0xf5e8ca=await this['resolve']();return _0xf5e8ca['target'];}async['resolve'](){const _0x17c0f9=_0x3ee7d6;if(this['cached']&&this[_0x17c0f9(0x170)]>0x0&&Date['now']()-this[_0x17c0f9(0x604)]<this[_0x17c0f9(0x170)])return this[_0x17c0f9(0x6f6)];if(this['inflight'])return this[_0x17c0f9(0x14e)];const _0x88ca76=this[_0x17c0f9(0x8fb)],_0x3b20af=((async()=>{const _0xc09040=_0x17c0f9,_0x4a075a=this['readPreference']();if(_0x4a075a===_0xc09040(0x931)){const _0x256f74=await this['apps']?.['getUdid']()??null;return{'target':_0xc09040(0x931),'udid':_0x256f74,'baseUrl':_0x5208c3,'wdaReady':!![],'reason':'env-override-device'};}if(_0x4a075a===_0xc09040(0x21f)){const _0x144a11=await this[_0xc09040(0x9a7)](),_0x31a579=this['simulatorWdaUdid']?_0x144a11[_0xc09040(0x7bd)](_0x12c4af=>_0x12c4af['udid']===this[_0xc09040(0x7e6)])??_0x144a11[0x0]:_0x144a11[0x0],_0x19b0fe=_0x31a579?.[_0xc09040(0x737)]??this[_0xc09040(0x7e6)]??null,_0x5e5223=this['simulatorWdaUdid']!==null&&_0x144a11['some'](_0x35e4cf=>_0x35e4cf[_0xc09040(0x737)]===this['simulatorWdaUdid']),_0x41dc39=this['simulatorWdaPort']!==null&&this[_0xc09040(0x7e6)]!==null&&_0x5e5223&&_0x19b0fe===this[_0xc09040(0x7e6)];return{'target':'simulator','udid':_0x19b0fe,'baseUrl':_0x41dc39?_0x122f26(this['simulatorWdaPort']):_0x5208c3,'wdaReady':_0x41dc39,'reason':_0xc09040(0x4df)};}const [_0x233baf,_0x3fbbfc]=await Promise[_0xc09040(0x9a6)]([this['apps']?.['getUdid']()??Promise['resolve'](null),this['listBooted']()]);if(_0x233baf)return{'target':_0xc09040(0x931),'udid':_0x233baf,'baseUrl':_0x5208c3,'wdaReady':!![],'reason':'auto-prefer-device'};if(_0x3fbbfc['length']>0x0){const _0x1e0a8b=this[_0xc09040(0x7e6)]?_0x3fbbfc['find'](_0x55b563=>_0x55b563['udid']===this[_0xc09040(0x7e6)])??_0x3fbbfc[0x0]:_0x3fbbfc[0x0],_0x16d930=this['simulatorWdaUdid']!==null&&_0x3fbbfc['some'](_0x49243a=>_0x49243a[_0xc09040(0x737)]===this[_0xc09040(0x7e6)]),_0x1e5f8a=this['simulatorWdaPort']!==null&&this[_0xc09040(0x7e6)]!==null&&_0x16d930&&_0x1e0a8b['udid']===this['simulatorWdaUdid'];return{'target':'simulator','udid':_0x1e0a8b['udid'],'baseUrl':_0x1e5f8a?_0x122f26(this[_0xc09040(0x353)]):_0x5208c3,'wdaReady':_0x1e5f8a,'reason':_0xc09040(0x3b5)};}return{'target':'device','udid':null,'baseUrl':_0x5208c3,'wdaReady':!![],'reason':_0xc09040(0xd0)};})());this[_0x17c0f9(0x14e)]=_0x3b20af;try{const _0x26ac70=await _0x3b20af;this[_0x17c0f9(0x8fb)]===_0x88ca76&&(this['cached']=_0x26ac70,this['cachedAt']=Date['now']());if(this['realDeviceHook']&&_0x26ac70[_0x17c0f9(0x555)]==='device'&&_0x26ac70['udid']&&!this[_0x17c0f9(0x3be)][_0x17c0f9(0x21c)](_0x26ac70['udid'])&&!this['realDeviceHookInflight']['has'](_0x26ac70['udid'])){const _0xbcfafb=_0x26ac70[_0x17c0f9(0x737)];this['realDeviceHookFiredFor']['add'](_0xbcfafb);const _0x3c7855=Promise['resolve']()[_0x17c0f9(0x4cf)](()=>this[_0x17c0f9(0x6ba)]?.(_0x26ac70))['catch'](()=>{})['finally'](()=>{const _0x7ea2af=_0x17c0f9;this[_0x7ea2af(0x1bc)]['delete'](_0xbcfafb);});this[_0x17c0f9(0x1bc)][_0x17c0f9(0x3b6)](_0xbcfafb,_0x3c7855);}return _0x26ac70;}finally{this[_0x17c0f9(0x14e)]=null;}}async['__awaitRealDeviceHookForTests'](_0x3ad783){const _0x161ff0=_0x3ee7d6,_0x368836=this[_0x161ff0(0x1bc)]['get'](_0x3ad783);if(_0x368836)await _0x368836;}['reset'](){const _0x1cf5df=_0x3ee7d6;this[_0x1cf5df(0x6f6)]=null,this['inflight']=null,this[_0x1cf5df(0x353)]=null,this['simulatorWdaUdid']=null,this['realDeviceHookFiredFor']['clear'](),this['realDeviceHookInflight'][_0x1cf5df(0x165)](),this['stateVersion']++;}},_0x496720=0x1388,_0xfe777=class{['sessionId']=null;[_0x3ee7d6(0x5ad)]=null;['targetResolver'];['sessionBaseUrl']=null;[_0x3ee7d6(0x5a9)]=null;constructor(_0x63305c={}){const _0x2bf994=_0x3ee7d6;this[_0x2bf994(0x7cb)]=_0x63305c[_0x2bf994(0x7cb)]??new _0x5e82ea();}async[_0x3ee7d6(0x13a)](_0x5a28a1,_0xf87d0c,_0x4d213f){const _0x330d3b=_0x3ee7d6;if(this[_0x330d3b(0x5a9)]!==_0x330d3b(0x327)){const _0x4087ed=await this[_0x330d3b(0xf9)](_0x5a28a1,[{'type':'pointer','id':'finger1','parameters':{'pointerType':'touch'},'actions':this['buildTapPointerActions'](_0xf87d0c,_0x4d213f)}]);if(_0x4087ed)return this['tapTransport']='actions',{'ok':!![]};if(this[_0x330d3b(0x5a9)]==='actions')return{'ok':![],'error':_0x330d3b(0x6b9)};}const _0x57f004=await this['wdaFetch']('/session/'+_0x5a28a1+'/wda/tap/0',{'method':_0x330d3b(0x2a0),'body':JSON['stringify']({'x':_0xf87d0c,'y':_0x4d213f})});if(_0x57f004['ok'])return this['tapTransport']=_0x330d3b(0x327),{'ok':!![]};const _0x3853e2=await _0x57f004[_0x330d3b(0x5d9)]()[_0x330d3b(0x4ba)](()=>'unknown');return{'ok':![],'error':'WDA\x20tap\x20failed:\x20/actions\x20rejected\x20the\x20tap\x20and\x20legacy\x20/wda/tap/0\x20returned\x20'+_0x57f004[_0x330d3b(0x9d0)]+'\x20'+_0x3853e2};}async['snapshotTarget'](){const _0x1a1e63=_0x3ee7d6;try{const _0x586174=await this['targetResolver'][_0x1a1e63(0x75f)]();return{'baseUrl':_0x586174[_0x1a1e63(0x3a9)],'ready':_0x586174['wdaReady']};}catch{return{'baseUrl':_0x5208c3,'ready':!![]};}}async[_0x3ee7d6(0x5c6)](_0x5616cf,_0x4679cf,_0x53bb72={},_0x9dc694=_0x496720){const _0x296553=_0x3ee7d6,_0x53f928=''+_0x5616cf+_0x4679cf,_0x2c8b40=new AbortController(),_0x291858=setTimeout(()=>_0x2c8b40['abort'](),_0x9dc694);try{const _0x48e102=await fetch(_0x53f928,{..._0x53bb72,'signal':_0x2c8b40[_0x296553(0x294)],'headers':{'Content-Type':'application/json',..._0x53bb72['headers']}});return _0x48e102;}finally{clearTimeout(_0x291858);}}async['wdaFetch'](_0x5f0bb7,_0x347516={},_0x1885de=_0x496720){const _0x3c1577=_0x3ee7d6,_0x130b67=await this['snapshotTarget']();if(!_0x130b67[_0x3c1577(0x798)])throw new Error(_0x3c1577(0x358));const _0x238c25=this['sessionBaseUrl']??_0x130b67['baseUrl'];return this[_0x3c1577(0x5c6)](_0x238c25,_0x5f0bb7,_0x347516,_0x1885de);}async['currentBaseUrl'](){const _0x20ba56=_0x3ee7d6;if(this['sessionBaseUrl'])return this[_0x20ba56(0x8d2)];const _0x2e2ded=await this['snapshotTarget']();return _0x2e2ded[_0x20ba56(0x3a9)];}async[_0x3ee7d6(0x9b2)](){const _0x379149=_0x3ee7d6,_0x43fc33=await this[_0x379149(0x43f)]();if(!_0x43fc33['ready'])return![];try{const _0x474957=await this[_0x379149(0x5c6)](_0x43fc33[_0x379149(0x3a9)],'/status');return _0x474957['ok'];}catch{return![];}}async['ensureSession'](){const _0x27ec40=_0x3ee7d6,_0x5d6a0b=await this['snapshotTarget']();if(!_0x5d6a0b[_0x27ec40(0x798)])throw new Error(_0x27ec40(0x358));const _0x3598ae=_0x5d6a0b['baseUrl'];this['sessionBaseUrl']&&this[_0x27ec40(0x8d2)]!==_0x3598ae&&(this['sessionId']=null,this[_0x27ec40(0x5ad)]=null);this['sessionBaseUrl']=_0x3598ae;if(this[_0x27ec40(0x648)]){try{const _0x24e9e8=await this['wdaFetchAt'](_0x3598ae,_0x27ec40(0x932)+this[_0x27ec40(0x648)]);if(_0x24e9e8['ok'])return this[_0x27ec40(0x648)];}catch{}this['sessionId']=null;}try{const _0x346d56=await this['wdaFetchAt'](_0x3598ae,'/status');if(_0x346d56['ok']){const _0x5f7c91=await _0x346d56[_0x27ec40(0x732)](),_0x1f2123=_0x5f7c91[_0x27ec40(0x648)]||_0x5f7c91['value']?.['sessionId'];if(_0x1f2123)return this['sessionId']=_0x1f2123,_0x1f2123;}}catch{}const _0x32bae4=await this[_0x27ec40(0x5c6)](_0x3598ae,_0x27ec40(0x831),{'method':'POST','body':JSON['stringify']({'capabilities':{'alwaysMatch':{}}})});if(!_0x32bae4['ok']){const _0x215f9f=await _0x32bae4[_0x27ec40(0x5d9)]()[_0x27ec40(0x4ba)](()=>_0x27ec40(0x5bb));throw new Error('Failed\x20to\x20create\x20WDA\x20session:\x20'+_0x32bae4['status']+'\x20'+_0x215f9f);}const _0x457a19=await _0x32bae4['json'](),_0x10a0fb=_0x457a19['sessionId']||_0x457a19[_0x27ec40(0x84f)]?.['sessionId'];if(!_0x10a0fb)throw new Error('WDA\x20session\x20creation\x20succeeded\x20but\x20no\x20sessionId\x20returned');return this['sessionId']=_0x10a0fb,_0x10a0fb;}async['getPixelRatio'](){const _0x2647c9=_0x3ee7d6;if(this['pixelRatio'])return this['pixelRatio'];const _0x4a5bcf=await this[_0x2647c9(0x675)](),_0x1306a8=await this['wdaFetch'](_0x2647c9(0x932)+_0x4a5bcf+_0x2647c9(0x611));if(!_0x1306a8['ok'])throw new Error(_0x2647c9(0x92a)+_0x1306a8[_0x2647c9(0x9d0)]);const _0x1a689b=await _0x1306a8[_0x2647c9(0x732)](),_0x3ca857=_0x1a689b['value'][_0x2647c9(0x5e2)],_0x2b8161=await this['wdaFetch'](_0x2647c9(0x932)+_0x4a5bcf+'/screenshot');if(!_0x2b8161['ok'])return this[_0x2647c9(0x5ad)]=0x3,this[_0x2647c9(0x5ad)];const _0x33585c=await _0x2b8161['json'](),_0x3f7c2b=_0x33585c[_0x2647c9(0x84f)],_0x542fcf=Buffer[_0x2647c9(0x70f)](_0x3f7c2b,_0x2647c9(0x589));if(_0x542fcf[_0x2647c9(0x945)]<0x18)return this[_0x2647c9(0x5ad)]=0x3,this[_0x2647c9(0x5ad)];const _0x22372d=_0x542fcf['readUInt32BE'](0x10);return this[_0x2647c9(0x5ad)]=Math[_0x2647c9(0x23a)](_0x22372d/_0x3ca857),(this[_0x2647c9(0x5ad)]<0x1||this['pixelRatio']>0x4)&&(this['pixelRatio']=0x3),this[_0x2647c9(0x5ad)];}async[_0x3ee7d6(0x5a0)](){const _0x58d0d9=_0x3ee7d6,_0x37dc05=await this['ensureSession'](),_0x2a6072=await this['wdaFetch'](_0x58d0d9(0x932)+_0x37dc05+_0x58d0d9(0x611));if(!_0x2a6072['ok'])throw new Error(_0x58d0d9(0x92a)+_0x2a6072['status']);const _0x16429c=await _0x2a6072[_0x58d0d9(0x732)]();return _0x16429c['value'];}async[_0x3ee7d6(0x454)](_0x276169,_0x1dd7f4,_0x890adc=!![]){const _0x4811e5=_0x3ee7d6;try{const _0x3a33f7=await this['ensureSession'](),_0x59e30e=await this[_0x4811e5(0x5c9)](),_0x1ecabe=_0x890adc?_0x276169/_0x59e30e:_0x276169,_0x24ea78=_0x890adc?_0x1dd7f4/_0x59e30e:_0x1dd7f4,_0x69c86c=await this['tapAtPoint'](_0x3a33f7,_0x1ecabe,_0x24ea78);if(!_0x69c86c['ok']){if(_0x4811e5(0x95d)!=='eiqKQ')return{'success':![],'tappedAt':{'x':_0x1ecabe,'y':_0x24ea78},'pixelRatio':_0x59e30e,'correction':_0x890adc?'Divided\x20by\x20'+_0x59e30e+_0x4811e5(0x751)+_0x276169+','+_0x1dd7f4+')\x20->\x20('+_0x1ecabe[_0x4811e5(0x65d)](0x1)+','+_0x24ea78['toFixed'](0x1)+')':_0x4811e5(0x10e),'error':_0x69c86c[_0x4811e5(0x125)]??'WDA\x20tap\x20failed'};else _0x44d628={'title':_0x2457b4[_0x4811e5(0x449)][_0x4811e5(0x8b2)],'action':_0x26cf4d['dialog']['action']};}return{'success':!![],'tappedAt':{'x':_0x1ecabe,'y':_0x24ea78},'pixelRatio':_0x59e30e,'correction':_0x890adc?_0x4811e5(0x1d3)+_0x59e30e+'x:\x20('+_0x276169+','+_0x1dd7f4+')\x20->\x20('+_0x1ecabe['toFixed'](0x1)+','+_0x24ea78['toFixed'](0x1)+')':'No\x20correction\x20(device\x20coordinates)'};}catch(_0x15ee7c){return{'success':![],'tappedAt':{'x':_0x276169,'y':_0x1dd7f4},'pixelRatio':this['pixelRatio']??0x0,'correction':'Failed\x20before\x20correction\x20could\x20be\x20applied','error':_0x15ee7c instanceof Error?_0x15ee7c[_0x4811e5(0x92e)]:_0x4811e5(0x112)};}}async[_0x3ee7d6(0x94a)](_0x3632c8){const _0x2bfe56=_0x3ee7d6;try{const _0x12049d=await this['ensureSession'](),_0x4bf7c1=await this[_0x2bfe56(0x8aa)](_0x2bfe56(0x932)+_0x12049d+_0x2bfe56(0x980));if(!_0x4bf7c1['ok'])return{'success':![],'error':_0x2bfe56(0x3dc)+_0x4bf7c1['status']};const _0x277a72=await _0x4bf7c1['json'](),_0x3d4e81=_0x277a72['value'],_0x5f2b0f=this['searchElements'](_0x3d4e81,_0x3632c8);if(_0x5f2b0f['length']===0x0){const _0x295609=this['collectVisibleElements'](_0x3d4e81,0x32);return{'success':![],'matchCount':0x0,'availableElements':_0x295609,'error':_0x2bfe56(0x3c7)+JSON[_0x2bfe56(0x2c1)](_0x3632c8)};}const _0x3597dc=_0x3632c8['index']??0x0;if(_0x3597dc>=_0x5f2b0f[_0x2bfe56(0x945)])return{'success':![],'matchCount':_0x5f2b0f[_0x2bfe56(0x945)],'error':_0x2bfe56(0x138)+_0x3597dc+'\x20out\x20of\x20range.\x20Found\x20'+_0x5f2b0f['length']+'\x20matching\x20element(s).','availableElements':_0x5f2b0f['map'](_0x27bb6d=>({'type':_0x27bb6d[_0x2bfe56(0x85c)]??'unknown','label':_0x27bb6d['label']??'','text':String(_0x27bb6d[_0x2bfe56(0x84f)]??_0x27bb6d[_0x2bfe56(0x10d)]??'')}))};const _0x3a5ae8=_0x5f2b0f[_0x3597dc],_0x3d1bc9=_0x3a5ae8[_0x2bfe56(0x578)];if(!_0x3d1bc9)return{'success':![],'matchCount':_0x5f2b0f['length'],'error':'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.'};const _0x56e5bd=_0x3d1bc9['x']+_0x3d1bc9['width']/0x2,_0x3278df=_0x3d1bc9['y']+_0x3d1bc9[_0x2bfe56(0x652)]/0x2,_0x2b291f=await this[_0x2bfe56(0x13a)](_0x12049d,_0x56e5bd,_0x3278df);if(!_0x2b291f['ok']){if('rLsdK'===_0x2bfe56(0x490))return{'success':![],'matchCount':_0x5f2b0f['length'],'error':_0x2b291f[_0x2bfe56(0x125)]??_0x2bfe56(0x56a),'element':{'type':_0x3a5ae8[_0x2bfe56(0x85c)]??_0x2bfe56(0x3de),'label':_0x3a5ae8['label']??_0x3a5ae8['name']??'','bounds':_0x3d1bc9},'tappedAt':{'x':_0x56e5bd,'y':_0x3278df}};else{const _0x1ad5c1=_0x278220??_0x482d08;_0x1ad5c1&&_0x146b5e['push']({'bundleId':_0x1ad5c1,'name':_0x190b2c??_0x2bc2ae??_0x1ad5c1,'version':_0x192746??_0x4926c8??void 0x0}),_0x140255=![],_0x1f7c06=null,_0x53d05f=null,_0xb469b6=null,_0x5d9d9a=null,_0x2b5325=null,_0x4f056e=null;}}return{'success':!![],'matchCount':_0x5f2b0f['length'],'element':{'type':_0x3a5ae8[_0x2bfe56(0x85c)]??'unknown','label':_0x3a5ae8[_0x2bfe56(0x10d)]??_0x3a5ae8[_0x2bfe56(0x4d1)]??'','bounds':_0x3d1bc9},'tappedAt':{'x':_0x56e5bd,'y':_0x3278df}};}catch(_0x2fe53e){return{'success':![],'error':_0x2fe53e instanceof Error?_0x2fe53e['message']:_0x2bfe56(0x3f6)};}}async[_0x3ee7d6(0x879)](_0x14e829){const _0x4406fa=_0x3ee7d6;try{const _0x55a8f0=await this['ensureSession'](),_0x3831a6=await this[_0x4406fa(0x8aa)]('/session/'+_0x55a8f0+'/source?format=json');if(!_0x3831a6['ok'])return{'success':![],'error':_0x4406fa(0x3dc)+_0x3831a6[_0x4406fa(0x9d0)]};const _0x3dc8c7=await _0x3831a6[_0x4406fa(0x732)](),_0x3b737c=this[_0x4406fa(0x25b)](_0x3dc8c7[_0x4406fa(0x84f)],_0x14e829);if(_0x3b737c['length']===0x0)return{'success':![],'matchCount':0x0};const _0x3bca20=_0x14e829[_0x4406fa(0x1c4)]??0x0;if(_0x3bca20>=_0x3b737c[_0x4406fa(0x945)])return{'success':![],'matchCount':_0x3b737c['length']};return{'success':!![],'element':_0x3b737c[_0x3bca20],'matchCount':_0x3b737c[_0x4406fa(0x945)]};}catch(_0x491228){return{'success':![],'error':_0x491228 instanceof Error?_0x491228['message']:'Unknown\x20error\x20during\x20findElement'};}}async[_0x3ee7d6(0x81d)](_0x4cf73b){const _0x2827f1=_0x3ee7d6;try{const _0x2f16ed=await this[_0x2827f1(0x675)](),_0x4d7969=await this[_0x2827f1(0x5a0)](),_0x54ef67=await this['getPixelRatio'](),_0x32a9a5=(_0x4cf73b['coordinateSource']??_0x2827f1(0x931))==='screenshot';let _0x20866e=_0x4cf73b[_0x2827f1(0x70f)]?.['x']??_0x4d7969['width']/0x2,_0x4517a0=_0x4cf73b['from']?.['y']??_0x4d7969[_0x2827f1(0x652)]/0x2;_0x32a9a5&&(_0x20866e=_0x20866e/_0x54ef67,_0x4517a0=_0x4517a0/_0x54ef67);const _0x4a755a=_0x4cf73b['direction']==='up'||_0x4cf73b['direction']===_0x2827f1(0x622)?_0x4d7969['height']:_0x4d7969[_0x2827f1(0x5e2)],_0x59164d=_0x4cf73b[_0x2827f1(0x24f)]??Math[_0x2827f1(0x31a)](_0x4a755a*0.6);let _0x3ff6a4=_0x20866e,_0x2af101=_0x4517a0;switch(_0x4cf73b['direction']){case'up':_0x2af101=_0x4517a0-_0x59164d;break;case _0x2827f1(0x622):_0x2af101=_0x4517a0+_0x59164d;break;case _0x2827f1(0x401):_0x3ff6a4=_0x20866e-_0x59164d;break;case _0x2827f1(0x16a):_0x3ff6a4=_0x20866e+_0x59164d;break;}_0x3ff6a4=Math['max'](0x0,Math[_0x2827f1(0x71d)](_0x4d7969[_0x2827f1(0x5e2)]-0x1,_0x3ff6a4)),_0x2af101=Math['max'](0x0,Math['min'](_0x4d7969['height']-0x1,_0x2af101)),_0x20866e=Math['max'](0x0,Math[_0x2827f1(0x71d)](_0x4d7969[_0x2827f1(0x5e2)]-0x1,_0x20866e)),_0x4517a0=Math['max'](0x0,Math[_0x2827f1(0x71d)](_0x4d7969['height']-0x1,_0x4517a0));const _0xc1b673=_0x4cf73b[_0x2827f1(0x8ad)]??0x12c,_0x1ad341=await this[_0x2827f1(0x8aa)](_0x2827f1(0x932)+_0x2f16ed+'/wda/dragfromtoforduration',{'method':_0x2827f1(0x2a0),'body':JSON['stringify']({'fromX':_0x20866e,'fromY':_0x4517a0,'toX':_0x3ff6a4,'toY':_0x2af101,'duration':_0xc1b673/0x3e8})});if(!_0x1ad341['ok']){const _0x1f3ed5=await _0x1ad341[_0x2827f1(0x5d9)]()[_0x2827f1(0x4ba)](()=>'unknown');return{'success':![],'from':{'x':_0x20866e,'y':_0x4517a0},'to':{'x':_0x3ff6a4,'y':_0x2af101},'durationMs':_0xc1b673,'error':'WDA\x20swipe\x20failed:\x20'+_0x1ad341['status']+'\x20'+_0x1f3ed5};}return{'success':!![],'from':{'x':_0x20866e,'y':_0x4517a0},'to':{'x':_0x3ff6a4,'y':_0x2af101},'durationMs':_0xc1b673};}catch(_0x210062){return{'success':![],'from':{'x':0x0,'y':0x0},'to':{'x':0x0,'y':0x0},'durationMs':_0x4cf73b[_0x2827f1(0x8ad)]??0x12c,'error':_0x210062 instanceof Error?_0x210062[_0x2827f1(0x92e)]:'Unknown\x20error\x20during\x20swipe'};}}async['scrollToElement'](_0x843e62,_0x31fc48={}){const _0x4b1fac=_0x3ee7d6,_0x8172c4=_0x31fc48['maxSwipes']??0xa,_0x3a1ddb=_0x31fc48[_0x4b1fac(0x41f)]??'up';let _0x480706=void 0x0;for(let _0x37e5c3=0x0;_0x37e5c3<=_0x8172c4;_0x37e5c3++){const _0x19a6b0=await this[_0x4b1fac(0x879)](_0x843e62);if(_0x19a6b0[_0x4b1fac(0x42d)]&&_0x19a6b0['element']?.['rect'])return{'success':!![],'swipes':_0x37e5c3,'element':{'type':_0x19a6b0[_0x4b1fac(0x8ff)]['type']??_0x4b1fac(0x3de),'label':_0x19a6b0['element'][_0x4b1fac(0x10d)]??_0x19a6b0[_0x4b1fac(0x8ff)]['name']??'','bounds':_0x19a6b0['element'][_0x4b1fac(0x578)]}};if(_0x19a6b0[_0x4b1fac(0x362)]!==void 0x0){if(_0x4b1fac(0x45a)!==_0x4b1fac(0x45a)){const _0x1aa9f5=/ServerURLHere->https?:\/\/[^:/\s]+:(\d{2,5})<-ServerURLHere/,_0x4a3bcf=_0x1aa9f5[_0x4b1fac(0x66c)](_0x569cda);if(!_0x4a3bcf)return null;const _0x40e841=_0x4a2f9c(_0x4a3bcf[0x1]);if(!_0x575ece[_0x4b1fac(0x996)](_0x40e841)||_0x40e841<0x1||_0x40e841>0xffff)return null;return _0x40e841;}else _0x480706=_0x480706===void 0x0?_0x19a6b0[_0x4b1fac(0x362)]:Math['max'](_0x480706,_0x19a6b0[_0x4b1fac(0x362)]);}if(_0x37e5c3===_0x8172c4)break;const _0x3c5a60=await this['swipe']({'direction':_0x3a1ddb,'distancePx':_0x31fc48[_0x4b1fac(0x24f)]});if(!_0x3c5a60['success'])return{'success':![],'swipes':_0x37e5c3,'error':_0x3c5a60[_0x4b1fac(0x125)]??'Swipe\x20failed\x20during\x20scrollToElement'};}return{'success':![],'swipes':_0x8172c4,'matchCount':_0x480706,'error':_0x4b1fac(0x645)+_0x8172c4+_0x4b1fac(0x3cc)+JSON[_0x4b1fac(0x2c1)](_0x843e62)};}async['longPress'](_0x375202,_0x575103,_0x37c1d1=0x3e8,_0x3a0d47=![]){const _0x4775b3=_0x3ee7d6;try{const _0x480b49=await this[_0x4775b3(0x675)]();let _0x57f8a3=_0x375202,_0x11e41c=_0x575103;if(_0x3a0d47){const _0x18050b=await this['getPixelRatio']();_0x57f8a3=_0x375202/_0x18050b,_0x11e41c=_0x575103/_0x18050b;}const _0x114e28=await this['wdaFetch']('/session/'+_0x480b49+'/wda/touchAndHold',{'method':'POST','body':JSON[_0x4775b3(0x2c1)]({'x':_0x57f8a3,'y':_0x11e41c,'duration':_0x37c1d1/0x3e8})});if(!_0x114e28['ok']){const _0x171514=await _0x114e28[_0x4775b3(0x5d9)]()['catch'](()=>_0x4775b3(0x3de));return{'success':![],'error':_0x4775b3(0x2ae)+_0x114e28[_0x4775b3(0x9d0)]+'\x20'+_0x171514};}return{'success':!![],'details':{'x':_0x57f8a3,'y':_0x11e41c,'durationMs':_0x37c1d1}};}catch(_0x32ddad){return{'success':![],'error':_0x32ddad instanceof Error?_0x32ddad['message']:_0x4775b3(0x873)};}}async[_0x3ee7d6(0x5f7)](_0x5345d6,_0x1ca2c7=0x3e8){const _0x2df8af=_0x3ee7d6,_0x2460ba=await this['findElement'](_0x5345d6);if(!_0x2460ba['success']||!_0x2460ba['element']?.['rect'])return'ZDZcX'==='ZDZcX'?{'success':![],'matchCount':_0x2460ba['matchCount'],'error':_0x2460ba['error']??'No\x20element\x20found\x20matching\x20'+JSON['stringify'](_0x5345d6)}:{'objective':{'kind':_0x2df8af(0x117),'message':_0x599345[_0x2df8af(0x92e)],'detail':_0x190688[_0x2df8af(0x209)]||void 0x0,'flowId':_0xb7aab3}};const _0x403f14=_0x2460ba['element']['rect'],_0x3bd148=_0x403f14['x']+_0x403f14[_0x2df8af(0x5e2)]/0x2,_0x1bbe02=_0x403f14['y']+_0x403f14['height']/0x2,_0x3b5be8=await this['longPress'](_0x3bd148,_0x1bbe02,_0x1ca2c7,![]);return{..._0x3b5be8,'matchCount':_0x2460ba[_0x2df8af(0x362)],'element':{'type':_0x2460ba['element'][_0x2df8af(0x85c)]??_0x2df8af(0x3de),'label':_0x2460ba['element']['label']??_0x2460ba['element']['name']??'','bounds':_0x403f14}};}async['type'](_0x239ad5,_0xee9346={}){const _0x57c03f=_0x3ee7d6;try{const _0x494884=await this['ensureSession'](),_0x2a2e91=Array[_0x57c03f(0x70f)](_0x239ad5),_0x4ef325=await this[_0x57c03f(0x8aa)]('/session/'+_0x494884+_0x57c03f(0x858),{'method':'POST','body':JSON[_0x57c03f(0x2c1)]({'value':_0x2a2e91})});if(!_0x4ef325['ok']){const _0x23cfea=await _0x4ef325[_0x57c03f(0x5d9)]()['catch'](()=>_0x57c03f(0x3de));return{'success':![],'error':'WDA\x20keys\x20failed:\x20'+_0x4ef325['status']+'\x20'+_0x23cfea};}return _0xee9346[_0x57c03f(0x36f)]&&await this[_0x57c03f(0x8aa)]('/session/'+_0x494884+'/wda/keys',{'method':'POST','body':JSON['stringify']({'value':['\x0a']})})[_0x57c03f(0x4ba)](()=>void 0x0),{'success':!![]};}catch(_0x20818b){return _0x57c03f(0x782)===_0x57c03f(0x782)?{'success':![],'error':_0x20818b instanceof Error?_0x20818b[_0x57c03f(0x92e)]:_0x57c03f(0x997)}:{'name':_0x57c03f(0x36b),'status':_0x57c03f(0x125),'details':{'error':_0x48f15c(_0x373d27)}};}}async[_0x3ee7d6(0x425)](_0x41a208){const _0x26f2f7=_0x3ee7d6;try{const _0x1e9b01=await this[_0x26f2f7(0x879)](_0x41a208);if(!_0x1e9b01['success']||!_0x1e9b01[_0x26f2f7(0x8ff)]?.['rect'])return{'success':![],'error':_0x1e9b01[_0x26f2f7(0x125)]??'No\x20element\x20found\x20matching\x20'+JSON['stringify'](_0x41a208)};const _0x11c2f4=_0x1e9b01['element']['rect'],_0x838264=String(_0x1e9b01['element'][_0x26f2f7(0x84f)]??'');if(_0x838264[_0x26f2f7(0x945)]===0x0)return _0x26f2f7(0x1ac)!=='Npsvi'?_0x26f2f7(0x87d):{'success':!![]};const _0x34add2=await this['tap'](_0x11c2f4['x']+_0x11c2f4['width']/0x2,_0x11c2f4['y']+_0x11c2f4[_0x26f2f7(0x652)]/0x2,![]);if(!_0x34add2[_0x26f2f7(0x42d)])return{'success':![],'error':_0x34add2[_0x26f2f7(0x125)]??_0x26f2f7(0x393)};const _0x204ee8=new Array(_0x838264['length'])['fill'](''),_0x29d609=await this['ensureSession'](),_0x52e27d=await this[_0x26f2f7(0x8aa)]('/session/'+_0x29d609+'/wda/keys',{'method':_0x26f2f7(0x2a0),'body':JSON['stringify']({'value':_0x204ee8})});if(!_0x52e27d['ok']){const _0x3da985=await _0x52e27d['text']()[_0x26f2f7(0x4ba)](()=>_0x26f2f7(0x3de));return{'success':![],'error':_0x26f2f7(0x2c6)+_0x52e27d['status']+'\x20'+_0x3da985};}return{'success':!![],'details':{'cleared':_0x838264[_0x26f2f7(0x945)]}};}catch(_0x15eb50){return{'success':![],'error':_0x15eb50 instanceof Error?_0x15eb50['message']:_0x26f2f7(0x590)};}}async['pressKey'](_0x21ccf3){const _0x5383eb=_0x3ee7d6;try{const _0x186f87=await this['ensureSession']();if(_0x21ccf3==='lock'){const _0x4067e1=await this[_0x5383eb(0x8aa)]('/session/'+_0x186f87+_0x5383eb(0x79d),{'method':_0x5383eb(0x2a0),'body':JSON[_0x5383eb(0x2c1)]({})});if(!_0x4067e1['ok']){const _0x310856=await _0x4067e1['text']()[_0x5383eb(0x4ba)](()=>_0x5383eb(0x3de));return{'success':![],'error':'WDA\x20lock\x20failed:\x20'+_0x4067e1[_0x5383eb(0x9d0)]+'\x20'+_0x310856};}return{'success':!![]};}if(_0x21ccf3===_0x5383eb(0x83e))return await this[_0x5383eb(0x2fc)]();if(_0x21ccf3!=='home'&&_0x21ccf3!==_0x5383eb(0x5ea)&&_0x21ccf3!=='volumeDown')return{'success':![],'error':_0x5383eb(0x630)+String(_0x21ccf3)};const _0xf088a2=_0x21ccf3===_0x5383eb(0x2dd)?'home':_0x21ccf3===_0x5383eb(0x5ea)?'volumeup':'volumedown',_0x5393b8=await this['wdaFetch']('/session/'+_0x186f87+'/wda/pressButton',{'method':_0x5383eb(0x2a0),'body':JSON[_0x5383eb(0x2c1)]({'name':_0xf088a2})});if(!_0x5393b8['ok']){const _0x53ebc5=await _0x5393b8[_0x5383eb(0x5d9)]()['catch'](()=>'unknown');return{'success':![],'error':_0x5383eb(0x7ad)+_0x5393b8[_0x5383eb(0x9d0)]+'\x20'+_0x53ebc5};}return{'success':!![]};}catch(_0x5691b6){return{'success':![],'error':_0x5691b6 instanceof Error?_0x5691b6[_0x5383eb(0x92e)]:'Unknown\x20error\x20during\x20pressKey'};}}async['_systemBack'](){const _0x410541=_0x3ee7d6,_0x1aaff3=await this[_0x410541(0x4d7)]();if(_0x1aaff3){const _0x17447c=_0x1aaff3['x']+_0x1aaff3[_0x410541(0x5e2)]/0x2,_0x1cc5bc=_0x1aaff3['y']+_0x1aaff3[_0x410541(0x652)]/0x2,_0x2554df=await this['ensureSession'](),_0x37c2d2=await this['tapAtPoint'](_0x2554df,_0x17447c,_0x1cc5bc);if(_0x37c2d2['ok'])return{'success':!![],'details':{'method':_0x410541(0x545),'tappedAt':{'x':_0x17447c,'y':_0x1cc5bc}}};}const _0x2555df=await this['getWindowSize'](),_0x45f1aa=await this['swipe']({'direction':'right','from':{'x':0x0,'y':Math[_0x410541(0x31a)](_0x2555df[_0x410541(0x652)]/0x2)},'coordinateSource':'device'});return{'success':_0x45f1aa[_0x410541(0x42d)],'error':_0x45f1aa['error'],'details':{'method':'edge-swipe','from':_0x45f1aa['from'],'to':_0x45f1aa['to']}};}async['_findNavBarBackButton'](){const _0x541c74=_0x3ee7d6,_0x383821=await this['getSource']();if(!_0x383821['success']||!_0x383821['source'])return null;const _0xd8743e=await this[_0x541c74(0x5a0)](),_0x143fae=_0xd8743e[_0x541c74(0x5e2)]/0x2,_0x11715d=0x8c,_0x1195d9=[],_0x51b5c6=_0x22d6e8=>{const _0x3ff798=_0x541c74,_0x3522c3=String(_0x22d6e8[_0x3ff798(0x85c)]??''),_0x1dd7eb=_0x22d6e8['rect'],_0x7316ae=_0x3522c3[_0x3ff798(0x17e)]()[_0x3ff798(0x83f)]('button');if(_0x7316ae&&_0x1dd7eb&&typeof _0x1dd7eb['x']===_0x3ff798(0x513)){const _0x19c5e9=_0x1dd7eb['x']<_0x143fae&&_0x1dd7eb['y']<_0x11715d;if(_0x19c5e9&&_0x1dd7eb['width']>0x0&&_0x1dd7eb['height']>0x0){const _0x4e5d96=String(_0x22d6e8['label']??_0x22d6e8[_0x3ff798(0x4d1)]??'')[_0x3ff798(0x17e)]();_0x1195d9[_0x3ff798(0x496)]({'rect':_0x1dd7eb,'labelledBack':_0x4e5d96[_0x3ff798(0x83f)]('back')});}}const _0x21f16c=_0x22d6e8[_0x3ff798(0x9c3)];if(Array[_0x3ff798(0x246)](_0x21f16c)){for(const _0x569e1f of _0x21f16c)_0x51b5c6(_0x569e1f);}};_0x51b5c6(_0x383821[_0x541c74(0x827)]);if(_0x1195d9[_0x541c74(0x945)]===0x0)return null;return _0x1195d9[_0x541c74(0x837)]((_0x64f60b,_0x55af1c)=>{const _0x19883e=_0x541c74;if(_0x64f60b[_0x19883e(0x159)]!==_0x55af1c[_0x19883e(0x159)])return _0x64f60b['labelledBack']?-0x1:0x1;if(_0x64f60b['rect']['x']!==_0x55af1c['rect']['x'])return _0x64f60b[_0x19883e(0x578)]['x']-_0x55af1c['rect']['x'];return _0x64f60b[_0x19883e(0x578)]['y']-_0x55af1c['rect']['y'];}),_0x1195d9[0x0]['rect'];}async[_0x3ee7d6(0x463)](){const _0x14faf4=_0x3ee7d6;try{const _0x5182f5=await this[_0x14faf4(0x675)](),_0x1ba54f=await this[_0x14faf4(0x8aa)](_0x14faf4(0x932)+_0x5182f5+_0x14faf4(0x77a),{'method':_0x14faf4(0x2a0),'body':JSON['stringify']({})});if(!_0x1ba54f['ok']){const _0x2c59ce=await _0x1ba54f['text']()['catch'](()=>'unknown');return{'success':![],'error':'WDA\x20unlock\x20failed:\x20'+_0x1ba54f['status']+'\x20'+_0x2c59ce};}return{'success':!![]};}catch(_0x48041e){return{'success':![],'error':_0x48041e instanceof Error?_0x48041e['message']:'Unknown\x20error\x20during\x20unlock'};}}async['isLocked'](){const _0x45eae6=_0x3ee7d6;try{const _0x461a86=await this['ensureSession'](),_0x13ceed=await this['wdaFetch']('/session/'+_0x461a86+'/wda/locked');if(!_0x13ceed['ok'])return null;const _0x50be6f=await _0x13ceed[_0x45eae6(0x732)]();return typeof _0x50be6f['value']===_0x45eae6(0x715)?_0x50be6f[_0x45eae6(0x84f)]:null;}catch{return null;}}async[_0x3ee7d6(0x863)](){const _0x3b558f=_0x3ee7d6;try{const _0xad89de=await this[_0x3b558f(0x675)](),_0xb5c890=await this['wdaFetch'](_0x3b558f(0x932)+_0xad89de+_0x3b558f(0x817));if(!_0xb5c890['ok']){const _0x2dce30=await _0xb5c890[_0x3b558f(0x5d9)]()['catch'](()=>'unknown');return{'success':![],'error':_0x3b558f(0x2b2)+_0xb5c890[_0x3b558f(0x9d0)]+'\x20'+_0x2dce30};}const _0xb53de0=await _0xb5c890[_0x3b558f(0x732)]();return{'success':!![],'base64':_0xb53de0['value']};}catch(_0x2decad){return{'success':![],'error':_0x2decad instanceof Error?_0x2decad['message']:'Unknown\x20error\x20during\x20screenshot'};}}async[_0x3ee7d6(0x8c5)](){const _0x2a5c4b=_0x3ee7d6;try{const _0x4d8bae=await this[_0x2a5c4b(0x675)](),_0xc8f643=await this['wdaFetch']('/session/'+_0x4d8bae+'/source?format=json');if(!_0xc8f643['ok']){const _0x3cc190=await _0xc8f643[_0x2a5c4b(0x5d9)]()[_0x2a5c4b(0x4ba)](()=>'unknown');return{'success':![],'error':'WDA\x20source\x20failed:\x20'+_0xc8f643['status']+'\x20'+_0x3cc190};}const _0x4879bc=await _0xc8f643['json']();return{'success':!![],'source':_0x4879bc['value']};}catch(_0x146de8){if('GAImB'==='GAImB')return{'success':![],'error':_0x146de8 instanceof Error?_0x146de8[_0x2a5c4b(0x92e)]:_0x2a5c4b(0x804)};else throw new _0x5b2701('invalid-subdir',_0x2a5c4b(0x25d)+_0x36c132+_0x2a5c4b(0x470),_0x2a5c4b(0x68d));}}async['waitFor'](_0x50d908,_0x4b31d4={}){const _0x2c00bd=_0x3ee7d6,_0x31990a=_0x4b31d4[_0x2c00bd(0x5aa)]??0x1388,_0x415c4f=_0x4b31d4[_0x2c00bd(0x31e)]??0x96,_0x48bf67=_0x4b31d4[_0x2c00bd(0x44b)]??![],_0xbf956d=Date[_0x2c00bd(0x3d1)]();while(Date['now']()-_0xbf956d<_0x31990a){const _0x29b9b4=await this['findElement'](_0x50d908),_0x2170af=_0x29b9b4[_0x2c00bd(0x42d)]&&!!_0x29b9b4['element'];if(!_0x48bf67&&_0x2170af){if('xMaug'!==_0x2c00bd(0x566)){const _0x239877=_0x29b9b4[_0x2c00bd(0x8ff)][_0x2c00bd(0x578)];return{'success':!![],'found':!![],'elapsedMs':Date['now']()-_0xbf956d,'element':_0x239877?{'type':_0x29b9b4['element'][_0x2c00bd(0x85c)]??'unknown','label':_0x29b9b4[_0x2c00bd(0x8ff)]['label']??_0x29b9b4[_0x2c00bd(0x8ff)][_0x2c00bd(0x4d1)]??'','bounds':_0x239877}:void 0x0};}else return _0x3edf67('componentControl:\x20controlShape\x20must\x20be\x20one\x20of\x20\x22boolean-prop\x22|\x22ref-imperative\x22|\x22render-prop\x22\x20(got\x20'+_0x45c880['stringify'](_0x484ab7)+')'),null;}if(_0x48bf67&&!_0x2170af)return{'success':!![],'found':![],'elapsedMs':Date[_0x2c00bd(0x3d1)]()-_0xbf956d};await new Promise(_0x406083=>setTimeout(_0x406083,_0x415c4f));}return{'success':![],'found':!_0x48bf67,'elapsedMs':Date[_0x2c00bd(0x3d1)]()-_0xbf956d,'error':_0x48bf67?'Element\x20still\x20visible\x20after\x20'+_0x31990a+'ms:\x20'+JSON['stringify'](_0x50d908):'Element\x20not\x20visible\x20after\x20'+_0x31990a+'ms:\x20'+JSON['stringify'](_0x50d908)};}async['assertVisible'](_0x7200ab){const _0x160971=_0x3ee7d6,_0x18c746=await this['findElement'](_0x7200ab);if(_0x18c746['error'])return{'success':![],'visible':![],'error':_0x18c746['error']};if(_0x18c746['success']&&_0x18c746['element']?.['rect'])return{'success':!![],'visible':!![],'element':{'type':_0x18c746['element'][_0x160971(0x85c)]??_0x160971(0x3de),'label':_0x18c746[_0x160971(0x8ff)][_0x160971(0x10d)]??_0x18c746['element'][_0x160971(0x4d1)]??'','bounds':_0x18c746['element']['rect']}};return{'success':!![],'visible':![]};}async['assertNotVisible'](_0x53a383){const _0x41a6ca=_0x3ee7d6,_0x56d26c=await this[_0x41a6ca(0x879)](_0x53a383);if(_0x56d26c['error']){if(_0x41a6ca(0x9eb)==='INQzZ')_0x17f66e['accessibilityLabel']=_0x1bde82['into']['accessibilityLabel'];else return{'success':![],'visible':![],'error':_0x56d26c[_0x41a6ca(0x125)]};}const _0x154ceb=_0x56d26c['success']&&!!_0x56d26c[_0x41a6ca(0x8ff)];return{'success':!![],'visible':_0x154ceb};}async[_0x3ee7d6(0x771)](_0xa4fa45){const _0x16396b=_0x3ee7d6;try{const _0x51cd0f=_0xa4fa45??await this['ensureSession'](),_0x72c04a=await this['wdaFetch'](_0x16396b(0x932)+_0x51cd0f+'/source?format=json');if(!_0x72c04a['ok']){if(!_0xa4fa45){this[_0x16396b(0x648)]=null;const _0x562fd8=await this[_0x16396b(0x675)](),_0x22edcf=await this[_0x16396b(0x8aa)]('/session/'+_0x562fd8+'/source?format=json');if(!_0x22edcf['ok'])return null;const _0x4846ea=await _0x22edcf[_0x16396b(0x732)]();return _0x4846ea[_0x16396b(0x84f)]??null;}return null;}const _0x14db42=await _0x72c04a[_0x16396b(0x732)]();return _0x14db42[_0x16396b(0x84f)]??null;}catch{return null;}}[_0x3ee7d6(0x6a3)](_0x353ba6,_0x3811e2){return this['searchElements'](_0x353ba6,_0x3811e2);}async[_0x3ee7d6(0x15c)](_0x513a8c){const _0x3d6b53=_0x3ee7d6;try{const _0x4e3bd5=await this[_0x3d6b53(0x675)](),_0x17e2a1=await this['fetchSourceTree'](_0x4e3bd5);if(!_0x17e2a1)return{'result':{'success':![],'error':_0x3d6b53(0x883)},'tree':null};const _0x1e9279=this[_0x3d6b53(0x25b)](_0x17e2a1,_0x513a8c);if(_0x1e9279['length']===0x0){const _0x502338=this['collectVisibleElements'](_0x17e2a1,0x32);return{'result':{'success':![],'matchCount':0x0,'availableElements':_0x502338,'error':_0x3d6b53(0x3c7)+JSON['stringify'](_0x513a8c)},'tree':_0x17e2a1};}const _0x8a5141=_0x513a8c['index']??0x0;if(_0x8a5141>=_0x1e9279[_0x3d6b53(0x945)]){if('LDYbK'!=='exPhb')return{'result':{'success':![],'matchCount':_0x1e9279[_0x3d6b53(0x945)],'error':'Index\x20'+_0x8a5141+'\x20out\x20of\x20range.\x20Found\x20'+_0x1e9279['length']+'\x20matching\x20element(s).','availableElements':_0x1e9279[_0x3d6b53(0x986)](_0x51d3aa=>({'type':_0x51d3aa['type']??'unknown','label':_0x51d3aa[_0x3d6b53(0x10d)]??'','text':String(_0x51d3aa['value']??_0x51d3aa['label']??'')}))},'tree':_0x17e2a1};else _0x4eeb39=_0x540038['parse'](_0x2a8fd1);}const _0x4d14c8=_0x1e9279[_0x8a5141],_0x1625dc=_0x4d14c8[_0x3d6b53(0x578)];if(!_0x1625dc)return{'result':{'success':![],'matchCount':_0x1e9279['length'],'error':_0x3d6b53(0x5ce)},'tree':_0x17e2a1};const _0x2fc9b3=_0x1625dc['x']+_0x1625dc['width']/0x2,_0x52960d=_0x1625dc['y']+_0x1625dc[_0x3d6b53(0x652)]/0x2,_0x7cf81=await this[_0x3d6b53(0x13a)](_0x4e3bd5,_0x2fc9b3,_0x52960d);if(!_0x7cf81['ok'])return{'result':{'success':![],'matchCount':_0x1e9279[_0x3d6b53(0x945)],'error':_0x7cf81[_0x3d6b53(0x125)]??_0x3d6b53(0x56a),'element':{'type':_0x4d14c8[_0x3d6b53(0x85c)]??_0x3d6b53(0x3de),'label':_0x4d14c8[_0x3d6b53(0x10d)]??_0x4d14c8['name']??'','bounds':_0x1625dc},'tappedAt':{'x':_0x2fc9b3,'y':_0x52960d}},'tree':_0x17e2a1};return{'result':{'success':!![],'matchCount':_0x1e9279[_0x3d6b53(0x945)],'element':{'type':_0x4d14c8['type']??'unknown','label':_0x4d14c8[_0x3d6b53(0x10d)]??_0x4d14c8['name']??'','bounds':_0x1625dc},'tappedAt':{'x':_0x2fc9b3,'y':_0x52960d}},'tree':_0x17e2a1};}catch(_0x419f7d){return{'result':{'success':![],'error':_0x419f7d instanceof Error?_0x419f7d['message']:_0x3d6b53(0x35c)},'tree':null};}}async['sendW3CActions'](_0x5bed6e,_0x419fc8){const _0x17638c=_0x3ee7d6;try{const _0x709bc3=await this[_0x17638c(0x8aa)](_0x17638c(0x932)+_0x5bed6e+_0x17638c(0x457),{'method':'POST','body':JSON[_0x17638c(0x2c1)]({'actions':_0x419fc8})});return _0x709bc3['ok'];}catch{return![];}}['buildTapPointerActions'](_0x590f41,_0x55e006){const _0x411762=_0x3ee7d6;return[{'type':'pointerMove','duration':0x0,'x':_0x590f41,'y':_0x55e006},{'type':'pointerDown','button':0x0},{'type':_0x411762(0x133),'duration':0x32},{'type':_0x411762(0x1a9),'button':0x0}];}async[_0x3ee7d6(0x7f9)](_0x327309,_0x4eedac={}){const _0x10674f=_0x3ee7d6;try{const _0x3e1e56=_0x4eedac[_0x10674f(0x648)]??await this[_0x10674f(0x675)](),_0x1ef62=await this['fetchSourceTree'](_0x3e1e56);if(!_0x1ef62)return{'success':![],'error':_0x10674f(0x883),'batched':![]};const _0x5c3519=this['searchElements'](_0x1ef62,_0x327309);if(_0x5c3519['length']===0x0)return{'success':![],'error':'No\x20element\x20found\x20matching\x20query:\x20'+JSON['stringify'](_0x327309),'batched':![]};const _0x5c605f=_0x327309[_0x10674f(0x1c4)]??0x0,_0x30a5b0=_0x5c3519[_0x5c605f];if(!_0x30a5b0||!_0x30a5b0['rect'])return{'success':![],'error':_0x5c605f>=_0x5c3519['length']?'Index\x20'+_0x5c605f+_0x10674f(0x853)+_0x5c3519['length']+'\x20matching\x20element(s).':'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.','batched':![]};const _0x1f68e1=_0x30a5b0['rect'],_0x14e3b2=_0x1f68e1['x']+_0x1f68e1[_0x10674f(0x5e2)]/0x2,_0x78a1d2=_0x1f68e1['y']+_0x1f68e1['height']/0x2,_0x1b8241={'type':_0x30a5b0['type']??'unknown','label':_0x30a5b0['label']??_0x30a5b0['name']??'','bounds':_0x1f68e1},_0x487116=await this[_0x10674f(0xf9)](_0x3e1e56,[{'type':_0x10674f(0x880),'id':'finger1','parameters':{'pointerType':'touch'},'actions':this[_0x10674f(0x9ec)](_0x14e3b2,_0x78a1d2)}]);let _0x1acbac=_0x487116;if(!_0x487116){if('ZNWWY'===_0x10674f(0x55f))return{'name':_0x51dbfa,'ok':![],'severity':_0x14f0f2,'message':_0x366cfb instanceof _0x438523?_0x118d27['message']:_0xcd3aa5(_0x48dfe7)};else{const _0x112624=await this['tap'](_0x14e3b2,_0x78a1d2,![]);if(!_0x112624[_0x10674f(0x42d)])return{'success':![],'error':_0x112624[_0x10674f(0x125)]??_0x10674f(0x59b),'element':_0x1b8241,'tappedAt':{'x':_0x14e3b2,'y':_0x78a1d2},'batched':![]};_0x1acbac=![];}}let _0x43e1e8,_0x583ac0,_0x4eec91=!![];if(_0x4eedac['verifySelector']){let _0x2364aa,_0x559408;if(_0x4eedac['sessionId']){const _0x39c906=Date[_0x10674f(0x3d1)]()+0xbb8;for(;;){const _0x4ac20=await this[_0x10674f(0x771)](_0x4eedac['sessionId']);if(_0x4ac20){const _0x4e40bb=this[_0x10674f(0x25b)](_0x4ac20,_0x4eedac[_0x10674f(0x67d)]);if(_0x4e40bb['length']>0x0&&_0x4e40bb[0x0]){_0x2364aa=_0x4e40bb[0x0];break;}}if(Date['now']()>=_0x39c906){_0x559408=_0x4ac20?_0x10674f(0x28b)+JSON['stringify'](_0x4eedac['verifySelector']):_0x10674f(0x7cd);break;}await new Promise(_0x38af51=>setTimeout(_0x38af51,0x1f4));}_0x43e1e8={'visible':!!_0x2364aa,'element':_0x2364aa&&_0x2364aa['rect']?{'type':_0x2364aa['type']??'unknown','label':_0x2364aa['label']??_0x2364aa[_0x10674f(0x4d1)]??'','bounds':_0x2364aa['rect']}:void 0x0},_0x4eec91=!!_0x2364aa,!_0x4eec91&&(_0x583ac0=_0x10674f(0x699)+_0x559408);}else{if('QvUuJ'!==_0x10674f(0x939)){const _0x5659e7=await this['waitFor'](_0x4eedac['verifySelector'],{'timeoutMs':0xbb8});_0x43e1e8={'visible':_0x5659e7[_0x10674f(0x2af)]&&_0x5659e7[_0x10674f(0x42d)],'element':_0x5659e7['element']},_0x4eec91=_0x5659e7['success']&&_0x5659e7['found'],!_0x4eec91&&(_0x583ac0='tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20'+(_0x5659e7['error']??'expected\x20element\x20'+JSON[_0x10674f(0x2c1)](_0x4eedac[_0x10674f(0x67d)])+'\x20not\x20visible'));}else return{'ext':_0x10674f(0x600),'mime':_0x10674f(0x584)};}}return{'success':_0x4eec91,'element':_0x1b8241,'tappedAt':{'x':_0x14e3b2,'y':_0x78a1d2},'verifyResult':_0x43e1e8,'batched':_0x1acbac,..._0x583ac0?{'error':_0x583ac0}:{}};}catch(_0xe893f1){return{'success':![],'error':_0xe893f1 instanceof Error?_0xe893f1['message']:'Unknown\x20error\x20during\x20tapAndVerify','batched':![]};}}async['typeIntoField'](_0x57addf,_0x461b0e,_0x236ce6={}){const _0x1225fc=_0x3ee7d6;try{const _0x499f45=await this['ensureSession'](),_0x1c8a07=await this['fetchSourceTree'](_0x499f45);if(!_0x1c8a07)return{'success':![],'error':_0x1225fc(0x883),'batched':![]};const _0x5fa498=this['searchElements'](_0x1c8a07,_0x57addf);if(_0x5fa498[_0x1225fc(0x945)]===0x0)return{'success':![],'matchCount':0x0,'error':'No\x20element\x20found\x20matching\x20field\x20query:\x20'+JSON[_0x1225fc(0x2c1)](_0x57addf),'batched':![]};const _0x845ab3=_0x57addf[_0x1225fc(0x1c4)]??0x0,_0x1619c7=_0x5fa498[_0x845ab3];if(!_0x1619c7||!_0x1619c7['rect'])return{'success':![],'matchCount':_0x5fa498['length'],'error':_0x845ab3>=_0x5fa498[_0x1225fc(0x945)]?'Index\x20'+_0x845ab3+'\x20out\x20of\x20range.\x20Found\x20'+_0x5fa498['length']+'\x20matching\x20element(s).':_0x1225fc(0x5ce),'batched':![]};const _0xf5f49b=_0x1619c7['rect'],_0x54e0d8=_0xf5f49b['x']+_0xf5f49b[_0x1225fc(0x5e2)]/0x2,_0x1d442f=_0xf5f49b['y']+_0xf5f49b['height']/0x2,_0x1c3a41={'type':_0x1619c7[_0x1225fc(0x85c)]??'unknown','label':_0x1619c7[_0x1225fc(0x10d)]??_0x1619c7['name']??'','bounds':_0xf5f49b};if(_0x236ce6['clearFirst']){if('iQpAZ'===_0x1225fc(0x299)){const _0x55ba96=await this[_0x1225fc(0x425)](_0x57addf);if(!_0x55ba96[_0x1225fc(0x42d)])return{'success':![],'matchCount':_0x5fa498[_0x1225fc(0x945)],'element':_0x1c3a41,'error':_0x55ba96[_0x1225fc(0x125)]??_0x1225fc(0x681),'batched':![]};}else return{'content':[{'type':'text','text':_0x48aeae[_0x1225fc(0x2c1)](_0x5024c8,null,0x2)}]};}const _0x420a5f=Array['from'](_0x461b0e),_0x227519=[],_0x271a3c=0x4;for(let _0x434686=0x0;_0x434686<_0x271a3c;_0x434686++){_0x227519[_0x1225fc(0x496)]({'type':_0x1225fc(0x133),'duration':0x0});}_0x227519['push']({'type':'pause','duration':0x12c});for(const _0x123ab9 of _0x420a5f){_0x1225fc(0x8ab)==='Glxzh'?_0x3ee5d2[_0x1225fc(0x91b)]['kill'](_0x1225fc(0x465)):(_0x227519[_0x1225fc(0x496)]({'type':_0x1225fc(0x7e0),'value':_0x123ab9}),_0x227519[_0x1225fc(0x496)]({'type':'keyUp','value':_0x123ab9}));}const _0x26aab7=await this['sendW3CActions'](_0x499f45,[{'type':_0x1225fc(0x880),'id':'finger1','parameters':{'pointerType':_0x1225fc(0x7e7)},'actions':this[_0x1225fc(0x9ec)](_0x54e0d8,_0x1d442f)},{'type':_0x1225fc(0x2fe),'id':_0x1225fc(0x29c),'actions':_0x227519}]);if(_0x26aab7)return{'success':!![],'matchCount':_0x5fa498['length'],'element':_0x1c3a41,'batched':!![]};const _0x447bc5=await this['findAndTap'](_0x57addf);if(!_0x447bc5['success'])return{'success':![],'matchCount':_0x5fa498[_0x1225fc(0x945)],'element':_0x1c3a41,'error':_0x447bc5[_0x1225fc(0x125)]??_0x1225fc(0x432),'batched':![]};const _0x40d9b3=await this[_0x1225fc(0x85c)](_0x461b0e);if(!_0x40d9b3['success'])return{'success':![],'matchCount':_0x5fa498['length'],'element':_0x1c3a41,'error':_0x40d9b3[_0x1225fc(0x125)]??'Failed\x20to\x20type\x20text\x20(serial\x20fallback)','batched':![]};return{'success':!![],'matchCount':_0x5fa498['length'],'element':_0x1c3a41,'batched':![]};}catch(_0x5b73db){return{'success':![],'error':_0x5b73db instanceof Error?_0x5b73db['message']:_0x1225fc(0x412),'batched':![]};}}async['tapChain'](_0x2a1e29){const _0x504727=_0x3ee7d6;if(_0x2a1e29[_0x504727(0x945)]===0x0)return{'success':![],'results':[],'batched':![],'error':'tapChain\x20called\x20with\x20empty\x20queries\x20array'};try{const _0x58846d=await this[_0x504727(0x675)](),_0xecee8b=await this[_0x504727(0x771)](_0x58846d);if(!_0xecee8b)return{'success':![],'results':[],'batched':![],'error':_0x504727(0x883)};const _0x250801=[];for(const _0x74e140 of _0x2a1e29){const _0x56ed3f=this['searchElements'](_0xecee8b,_0x74e140);if(_0x56ed3f[_0x504727(0x945)]===0x0){if('iwUns'!==_0x504727(0x190))try{const _0x586fa6=_0x249871['toString'](_0x504727(0x140)),_0x230997=_0x17f41c[_0x504727(0x229)](_0x586fa6);if(_0x230997&&typeof _0x230997==='object'&&!_0xc51663['isArray'](_0x230997))return _0x230997;return null;}catch{return null;}else return{'success':![],'results':[..._0x250801['map'](_0x5c421d=>({'query':_0x5c421d['query'],'element':_0x5c421d['element'],'tappedAt':_0x5c421d[_0x504727(0x8f7)]})),{'query':_0x74e140,'error':_0x504727(0x3c7)+JSON[_0x504727(0x2c1)](_0x74e140)}],'batched':![],'error':_0x504727(0x19a)+_0x250801['length']};}const _0xba7b5d=_0x74e140[_0x504727(0x1c4)]??0x0,_0x41ae9f=_0x56ed3f[_0xba7b5d];if(!_0x41ae9f||!_0x41ae9f[_0x504727(0x578)])return{'success':![],'results':[..._0x250801['map'](_0x19ae59=>({'query':_0x19ae59[_0x504727(0x660)],'element':_0x19ae59[_0x504727(0x8ff)],'tappedAt':_0x19ae59[_0x504727(0x8f7)]})),{'query':_0x74e140,'error':_0xba7b5d>=_0x56ed3f['length']?_0x504727(0x138)+_0xba7b5d+'\x20out\x20of\x20range.\x20Found\x20'+_0x56ed3f[_0x504727(0x945)]+'\x20matching\x20element(s).':'Matched\x20element\x20has\x20no\x20bounds/rect\x20information.'}],'batched':![],'error':'Resolution\x20failed\x20for\x20query\x20at\x20index\x20'+_0x250801[_0x504727(0x945)]};_0x250801['push']({'query':_0x74e140,'element':{'type':_0x41ae9f[_0x504727(0x85c)]??'unknown','label':_0x41ae9f['label']??_0x41ae9f[_0x504727(0x4d1)]??'','bounds':_0x41ae9f[_0x504727(0x578)]},'center':{'x':_0x41ae9f[_0x504727(0x578)]['x']+_0x41ae9f[_0x504727(0x578)]['width']/0x2,'y':_0x41ae9f[_0x504727(0x578)]['y']+_0x41ae9f[_0x504727(0x578)][_0x504727(0x652)]/0x2}});}const _0xff2ee4=[];for(let _0x17c32b=0x0;_0x17c32b<_0x250801['length'];_0x17c32b++){const _0x4fd846=_0x250801[_0x17c32b];_0xff2ee4['push'](...this['buildTapPointerActions'](_0x4fd846['center']['x'],_0x4fd846[_0x504727(0x8f7)]['y'])),_0x17c32b<_0x250801['length']-0x1&&_0xff2ee4['push']({'type':_0x504727(0x133),'duration':0x64});}const _0x3f1425=await this[_0x504727(0xf9)](_0x58846d,[{'type':_0x504727(0x880),'id':'finger1','parameters':{'pointerType':'touch'},'actions':_0xff2ee4}]);if(_0x3f1425)return{'success':!![],'results':_0x250801['map'](_0x2ae288=>({'query':_0x2ae288[_0x504727(0x660)],'element':_0x2ae288['element'],'tappedAt':_0x2ae288[_0x504727(0x8f7)]})),'batched':!![]};const _0x2848dc=[];for(const _0x3b8b2d of _0x250801){const _0x26d0b5=await this[_0x504727(0x454)](_0x3b8b2d['center']['x'],_0x3b8b2d[_0x504727(0x8f7)]['y'],![]);if(!_0x26d0b5[_0x504727(0x42d)])return _0x2848dc['push']({'query':_0x3b8b2d[_0x504727(0x660)],'element':_0x3b8b2d['element'],'tappedAt':_0x3b8b2d['center'],'error':_0x26d0b5[_0x504727(0x125)]??'Serial\x20tap\x20failed'}),{'success':![],'results':_0x2848dc,'batched':![],'error':'Serial\x20fallback\x20tap\x20failed\x20at\x20index\x20'+(_0x2848dc['length']-0x1)};_0x2848dc[_0x504727(0x496)]({'query':_0x3b8b2d[_0x504727(0x660)],'element':_0x3b8b2d[_0x504727(0x8ff)],'tappedAt':_0x3b8b2d['center']});}return{'success':!![],'results':_0x2848dc,'batched':![]};}catch(_0x5bd289){return{'success':![],'results':[],'batched':![],'error':_0x5bd289 instanceof Error?_0x5bd289['message']:'Unknown\x20error\x20during\x20tapChain'};}}async['getOrientation'](){const _0x3fa680=_0x3ee7d6;try{const _0x40cad9=await this['ensureSession'](),_0x126f61=await this[_0x3fa680(0x8aa)]('/session/'+_0x40cad9+_0x3fa680(0x7f3));if(!_0x126f61['ok'])return null;const _0x20fd54=await _0x126f61['json']();return _0x20fd54[_0x3fa680(0x84f)]??null;}catch{return null;}}async['setOrientation'](_0x466a31){const _0x1b331b=_0x3ee7d6;try{const _0x3f6c7a=await this[_0x1b331b(0x675)](),_0x79bd5f=await this['wdaFetch'](_0x1b331b(0x932)+_0x3f6c7a+'/orientation',{'method':_0x1b331b(0x2a0),'body':JSON[_0x1b331b(0x2c1)]({'orientation':_0x466a31['toUpperCase']()})});if(!_0x79bd5f['ok']){const _0x23ee14=await _0x79bd5f['text']()['catch'](()=>'unknown');return{'success':![],'error':_0x1b331b(0x458)+_0x79bd5f['status']+'\x20'+_0x23ee14};}return{'success':!![]};}catch(_0x250e9e){if('UZoNq'===_0x1b331b(0x6c2)){const _0x3e723c=_0x468d09['axCache']['get'](_0x212931[_0x1b331b(0x759)][_0x1b331b(0x914)]());if(_0x3e723c){const _0x54346a=this[_0x1b331b(0x5e9)][_0x1b331b(0x6a3)](_0x3e723c,_0xa06b3c),_0x58fe6c=_0x54346a[0x0];if(_0x58fe6c?.['rect'])return{'success':![],'error':'assertNotVisible:\x20element\x20is\x20visible:\x20'+_0x5e80dc[_0x1b331b(0x2c1)](_0x2840fe)};}}else return{'success':![],'error':_0x250e9e instanceof Error?_0x250e9e['message']:_0x1b331b(0x1f9)};}}async[_0x3ee7d6(0x2e6)](){const _0x28f3ef=_0x3ee7d6;try{const _0x48a210=await this[_0x28f3ef(0x675)](),_0x2f7895=await this[_0x28f3ef(0x8aa)](_0x28f3ef(0x932)+_0x48a210+_0x28f3ef(0x35a));if(!_0x2f7895['ok']){const _0x6068b5=await _0x2f7895[_0x28f3ef(0x5d9)]()['catch'](()=>'unknown');return{'success':![],'error':_0x28f3ef(0x703)+_0x2f7895['status']+'\x20'+_0x6068b5};}const _0x3c2389=await _0x2f7895['json']();return{'success':!![],'bundleId':_0x3c2389['value']?.['bundleId'],'pid':_0x3c2389['value']?.[_0x28f3ef(0x135)],'name':_0x3c2389['value']?.['name']};}catch(_0xba1e73){return{'success':![],'error':_0xba1e73 instanceof Error?_0xba1e73[_0x28f3ef(0x92e)]:'Unknown\x20error\x20during\x20getActiveAppInfo'};}}async[_0x3ee7d6(0x998)](_0x45d8db){const _0x29b71b=_0x3ee7d6;try{const _0x4667ec=await this[_0x29b71b(0x675)](),_0x303c17=await this['wdaFetch']('/session/'+_0x4667ec+'/wda/apps/launch',{'method':_0x29b71b(0x2a0),'body':JSON['stringify']({'bundleId':_0x45d8db})});if(!_0x303c17['ok']){const _0x39ca76=await _0x303c17[_0x29b71b(0x5d9)]()[_0x29b71b(0x4ba)](()=>_0x29b71b(0x3de));return{'success':![],'error':'WDA\x20apps/launch\x20failed:\x20'+_0x303c17[_0x29b71b(0x9d0)]+'\x20'+_0x39ca76};}return{'success':!![]};}catch(_0x14402f){return{'success':![],'error':_0x14402f instanceof Error?_0x14402f['message']:'Unknown\x20error\x20during\x20activateApp'};}}async[_0x3ee7d6(0x620)](_0x467847){const _0x31e571=_0x3ee7d6;try{const _0x193b98=await this['ensureSession'](),_0x6b35ac=await this['wdaFetch']('/session/'+_0x193b98+'/url',{'method':'POST','body':JSON[_0x31e571(0x2c1)]({'url':_0x467847})});if(!_0x6b35ac['ok']){const _0x6835f3=await _0x6b35ac['text']()[_0x31e571(0x4ba)](()=>'unknown'),_0x3b6c13=_0x6835f3['includes'](_0x31e571(0x9f9))&&_0x6835f3[_0x31e571(0x83f)](_0x31e571(0x2a2));if(_0x3b6c13&&_0x467847[_0x31e571(0x887)](_0x31e571(0x8b7)))return{'success':![],'error':'The\x20`ceraph://`\x20URL\x20scheme\x20isn\x27t\x20registered\x20in\x20the\x20app\x20under\x20test,\x20so\x20this\x20deep\x20link\x20couldn\x27t\x20be\x20delivered.\x20`init`\x20adds\x20the\x20scheme\x20to\x20app.json,\x20but\x20it\x20only\x20lands\x20in\x20the\x20native\x20Info.plist\x20after\x20a\x20rebuild\x20—\x20run\x20`npx\x20expo\x20prebuild`\x20then\x20rebuild/reinstall\x20the\x20dev\x20client\x20(or\x20your\x20EAS/Xcode\x20build),\x20and\x20retry.\x20Tools\x20affected:\x20rn_reset_state,\x20rn_reload,\x20and\x20camera/auth-bypass\x20deep\x20links.'};return{'success':![],'error':_0x31e571(0x55a)+_0x6b35ac['status']+'\x20'+_0x6835f3};}return{'success':!![]};}catch(_0x23c867){return{'success':![],'error':_0x23c867 instanceof Error?_0x23c867['message']:_0x31e571(0x1e8)};}}async['terminateAppViaWDA'](_0x3086a6){const _0x151ce6=_0x3ee7d6;try{const _0x335a81=await this[_0x151ce6(0x675)](),_0x5be6aa=await this[_0x151ce6(0x8aa)](_0x151ce6(0x932)+_0x335a81+_0x151ce6(0x414),{'method':_0x151ce6(0x2a0),'body':JSON[_0x151ce6(0x2c1)]({'bundleId':_0x3086a6})});if(!_0x5be6aa['ok']){const _0x3c397a=await _0x5be6aa['text']()['catch'](()=>'unknown');return{'success':![],'error':_0x151ce6(0x417)+_0x5be6aa['status']+'\x20'+_0x3c397a};}return this['sessionId']=null,{'success':!![]};}catch(_0x5ca78d){return{'success':![],'error':_0x5ca78d instanceof Error?_0x5ca78d['message']:_0x151ce6(0x54e)};}}async[_0x3ee7d6(0x655)](){try{const _0x49f9aa=await this['wdaFetch']('/status',{},0x7d0);return _0x49f9aa['ok'];}catch{return![];}}['searchElements'](_0x2f3427,_0x4d48f2){const _0x335934=_0x3ee7d6,_0x2ce5ab=[];this[_0x335934(0x7fc)](_0x2f3427,_0x4d48f2)&&_0x2ce5ab[_0x335934(0x496)](_0x2f3427);const _0x58e0c7=_0x2f3427['children'];if(Array[_0x335934(0x246)](_0x58e0c7))for(const _0x3da7bd of _0x58e0c7){_0x2ce5ab[_0x335934(0x496)](...this['searchElements'](_0x3da7bd,_0x4d48f2));}return _0x2ce5ab;}[_0x3ee7d6(0x7fc)](_0x61025a,_0x86b359){const _0x580504=_0x3ee7d6;if(_0x86b359[_0x580504(0x5d9)]!==void 0x0){if(_0x580504(0x6fc)==='BZMbD'){const _0x51d32b=_0x86b359['text']['toLowerCase'](),_0x212af2=[_0x61025a[_0x580504(0x84f)],_0x61025a[_0x580504(0x10d)],_0x61025a[_0x580504(0x4d1)]]['filter'](Boolean)['map'](_0x460246=>String(_0x460246)['toLowerCase']());if(!_0x212af2['some'](_0x4fa55b=>_0x4fa55b[_0x580504(0x83f)](_0x51d32b)))return![];}else _0x1b70f4['stderr']['write'](_0x580504(0x422)+(_0x2641d3 instanceof _0x2c9afc?_0x4ceba8[_0x580504(0x92e)]:_0x417bcc(_0x226975))+'\x0a');}if(_0x86b359['accessibilityLabel']!==void 0x0){const _0xd0a0ff=String(_0x61025a['label']??_0x61025a['name']??'');if(!_0xd0a0ff[_0x580504(0x17e)]()['includes'](_0x86b359['accessibilityLabel']['toLowerCase']()))return![];}if(_0x86b359['type']!==void 0x0){const _0x4df6ee=String(_0x61025a['type']??'');if(!_0x4df6ee['toLowerCase']()[_0x580504(0x83f)](_0x86b359[_0x580504(0x85c)]['toLowerCase']()))return![];}return _0x86b359['text']!==void 0x0||_0x86b359['accessibilityLabel']!==void 0x0||_0x86b359['type']!==void 0x0||_0x86b359[_0x580504(0x1c4)]!==void 0x0;}[_0x3ee7d6(0x616)](_0x5a9faa,_0xca8843){const _0x5f7d72=_0x3ee7d6,_0x42759f=[];if(_0xca8843<=0x0)return _0x42759f;const _0x5e0b86=String(_0x5a9faa['label']??_0x5a9faa['name']??''),_0x134229=String(_0x5a9faa['value']??''),_0x370f64=String(_0x5a9faa[_0x5f7d72(0x85c)]??'');if(_0x5e0b86||_0x134229){if('uGqJC'==='JoWNt'){if(_0x4e1711)_0x19ca0d['push']({'label':_0x55ad15,'element':_0x148838});}else _0x42759f[_0x5f7d72(0x496)]({'type':_0x370f64,'label':_0x5e0b86,'text':_0x134229});}const _0x5851d6=_0x5a9faa[_0x5f7d72(0x9c3)];if(Array[_0x5f7d72(0x246)](_0x5851d6))for(const _0x447148 of _0x5851d6){const _0xca06eb=_0xca8843-_0x42759f['length'];if(_0xca06eb<=0x0)break;_0x42759f[_0x5f7d72(0x496)](...this[_0x5f7d72(0x616)](_0x447148,_0xca06eb));}return _0x42759f;}[_0x3ee7d6(0x88b)](){const _0x1b4014=_0x3ee7d6;this[_0x1b4014(0x648)]=null,this[_0x1b4014(0x5ad)]=null,this['sessionBaseUrl']=null;}};function _0x59184d(_0x24d13f){const _0x9587c0=_0x3ee7d6;if(!_0x24d13f[_0x9587c0(0x42d)]||!_0x24d13f[_0x9587c0(0x589)])return{'content':[{'type':_0x9587c0(0x5d9),'text':JSON['stringify'](_0x24d13f,null,0x2)}],'isError':!![]};return{'content':[{'type':_0x9587c0(0x588),'data':_0x24d13f['base64'],'mimeType':_0x9587c0(0x694)}]};}import{readFile as _0x3cb1b5,writeFile as _0xf9146f,mkdir,access as _0x49dadf}from'fs/promises';import{join as _0x2a13a8}from'path';var _0x2c4950=class{[_0x3ee7d6(0x175)];['projectDir'];['snapshotPath'];constructor(_0x1e6298,_0x2956d6){const _0x4f9c46=_0x3ee7d6;this['projectDir']=_0x1e6298,this[_0x4f9c46(0x175)]=_0x2956d6,this[_0x4f9c46(0x396)]=_0x2a13a8(_0x2956d6,_0x4f9c46(0x330));}async[_0x3ee7d6(0x4a1)](_0x21e508){try{return await _0x49dadf(_0x21e508),!![];}catch{return![];}}async['readJson'](_0x42fc8f){const _0x31dff8=_0x3ee7d6;try{const _0x1b11b9=await _0x3cb1b5(_0x42fc8f,'utf-8');return JSON[_0x31dff8(0x229)](_0x1b11b9);}catch{return null;}}async[_0x3ee7d6(0x4e4)](_0x26dfc6){const _0x3de5a7=_0x3ee7d6;try{const _0x1d2f97=await _0x3cb1b5(_0x26dfc6,'utf-8');let _0x46345e=0x0;for(let _0x220921=0x0;_0x220921<_0x1d2f97[_0x3de5a7(0x945)];_0x220921++){const _0x39dec6=_0x1d2f97[_0x3de5a7(0x141)](_0x220921);_0x46345e=(_0x46345e<<0x5)-_0x46345e+_0x39dec6,_0x46345e|=0x0;}return _0x46345e[_0x3de5a7(0x510)](0x24);}catch{return _0x3de5a7(0x641);}}async['getCurrentState'](){const _0x42391e=_0x3ee7d6,_0x4a9f63=await this[_0x42391e(0x22b)](_0x2a13a8(this[_0x42391e(0x1f7)],_0x42391e(0x833)));let _0x15dbaf=await this['readJson'](_0x2a13a8(this[_0x42391e(0x1f7)],_0x42391e(0x293)));if(!_0x15dbaf){const _0x42924a=await this['hashFile'](_0x2a13a8(this[_0x42391e(0x1f7)],_0x42391e(0x45e))),_0x32e502=await this[_0x42391e(0x4e4)](_0x2a13a8(this[_0x42391e(0x1f7)],_0x42391e(0x3aa)));_0x15dbaf={'_fileHash':_0x42924a,'_tsFileHash':_0x32e502};}const _0x226977=await this[_0x42391e(0x4e4)](_0x2a13a8(this['projectDir'],'ios',_0x42391e(0x99b)));return{'dependencies':_0x4a9f63?.[_0x42391e(0x5d2)]??{},'devDependencies':_0x4a9f63?.['devDependencies']??{},'appConfig':_0x15dbaf??{},'podfileLockHash':_0x226977,'timestamp':new Date()[_0x42391e(0x4a0)]()};}async[_0x3ee7d6(0x256)](){try{const _0x2165dc=await _0x3cb1b5(this['snapshotPath'],'utf-8');return JSON['parse'](_0x2165dc);}catch{return null;}}async[_0x3ee7d6(0x505)](){const _0x1b1c7c=_0x3ee7d6,_0x6b93e=await this['getCurrentState']();await mkdir(this['cacheDir'],{'recursive':!![]}),await _0xf9146f(this[_0x1b1c7c(0x396)],JSON['stringify'](_0x6b93e,null,0x2),'utf-8');}['diffDependencies'](_0x34c4df,_0x21de56){const _0x8b46ad=_0x3ee7d6,_0x3aa44d=[],_0x1a46c8=[],_0x39870a=[],_0x4e4c10=new Set([...Object[_0x8b46ad(0x208)](_0x34c4df),...Object['keys'](_0x21de56)]);for(const _0x2242ef of _0x4e4c10){if(!(_0x2242ef in _0x34c4df))_0x3aa44d['push'](_0x2242ef);else{if(!(_0x2242ef in _0x21de56))_0x1a46c8['push'](_0x2242ef);else _0x34c4df[_0x2242ef]!==_0x21de56[_0x2242ef]&&_0x39870a[_0x8b46ad(0x496)](_0x2242ef);}}return{'added':_0x3aa44d,'removed':_0x1a46c8,'changed':_0x39870a};}async['check'](){const _0x1549d9=_0x3ee7d6,_0x2ef997=[],_0x450f6a=await this[_0x1549d9(0x4a1)](_0x2a13a8(this['projectDir'],_0x1549d9(0x5c2)));if(!_0x450f6a)return{'needsClean':!![],'reasons':[_0x1549d9(0xce)]};const _0x5b933c=await this['loadSnapshot']();if(!_0x5b933c)return{'needsClean':!![],'reasons':[_0x1549d9(0x651)]};const _0x87c5fe=await this['getCurrentState'](),_0xfca315=this[_0x1549d9(0x4cb)](_0x5b933c['dependencies'],_0x87c5fe['dependencies']);_0xfca315[_0x1549d9(0x1dd)]['length']>0x0&&(_0x1549d9(0x57b)==='lGHYD'?_0x301ea3['base']=_0xa7ee43??'main':_0x2ef997['push'](_0x1549d9(0x3e0)+_0xfca315['added'][_0x1549d9(0x221)](',\x20')+_0x1549d9(0x8d3)));_0xfca315['removed'][_0x1549d9(0x945)]>0x0&&_0x2ef997[_0x1549d9(0x496)]('Dependencies\x20removed:\x20'+_0xfca315['removed'][_0x1549d9(0x221)](',\x20')+_0x1549d9(0x37a));if(_0xfca315['changed'][_0x1549d9(0x945)]>0x0){const _0x2c2ed1=[_0x1549d9(0x665),_0x1549d9(0x64d),'@react-native','react-native-'],_0x5cb808=_0xfca315[_0x1549d9(0x813)][_0x1549d9(0x65c)](_0x5674f6=>_0x2c2ed1['some'](_0x4f4dc8=>_0x5674f6['includes'](_0x4f4dc8)));_0x5cb808['length']>0x0&&_0x2ef997[_0x1549d9(0x496)](_0x1549d9(0x855)+_0x5cb808['join'](',\x20')+'.\x20Clean\x20prebuild\x20recommended.');}const _0x22136b=this[_0x1549d9(0x4cb)](_0x5b933c[_0x1549d9(0x619)],_0x87c5fe['devDependencies']);if(_0x22136b['added']['length']>0x0||_0x22136b[_0x1549d9(0x62c)][_0x1549d9(0x945)]>0x0){const _0x28bfab=[..._0x22136b['added'],..._0x22136b['removed']]['filter'](_0x524d46=>_0x524d46['includes'](_0x1549d9(0x665))||_0x524d46[_0x1549d9(0x83f)]('expo')||_0x524d46[_0x1549d9(0x83f)](_0x1549d9(0x157)));_0x28bfab[_0x1549d9(0x945)]>0x0&&_0x2ef997['push']('Native\x20dev\x20dependencies\x20changed:\x20'+_0x28bfab[_0x1549d9(0x221)](',\x20')+'.');}const _0x246864=JSON['stringify'](_0x5b933c['appConfig'])!==JSON[_0x1549d9(0x2c1)](_0x87c5fe[_0x1549d9(0x114)]);_0x246864&&_0x2ef997['push']('app.json\x20/\x20app.config.js\x20has\x20changed\x20since\x20last\x20build.\x20Expo\x20plugins\x20or\x20native\x20config\x20may\x20have\x20changed.');if(_0x87c5fe['podfileLockHash']==='missing')_0x2ef997[_0x1549d9(0x496)](_0x1549d9(0xe1));else _0x5b933c['podfileLockHash']!==_0x87c5fe['podfileLockHash']&&_0x2ef997[_0x1549d9(0x496)]('ios/Podfile.lock\x20has\x20changed\x20since\x20last\x20build.\x20Pod\x20dependencies\x20may\x20be\x20out\x20of\x20sync.');return{'needsClean':_0x2ef997[_0x1549d9(0x945)]>0x0,'reasons':_0x2ef997};}};import{spawn as _0x34f519}from'child_process';function _0x52bc18(_0x5badbf,_0x4341a3,_0x29bd34={}){return new Promise(_0x28ad43=>{const _0x344074=_0x4a5a;let _0x2e2193='',_0x51cd48='',_0x5f5508;try{_0x5f5508=_0x34f519(_0x5badbf,_0x4341a3,{'stdio':['ignore','pipe',_0x344074(0x406)]});}catch(_0xdea4c2){_0x28ad43({'code':0x7f,'stdout':'','stderr':_0xdea4c2 instanceof Error?_0xdea4c2[_0x344074(0x92e)]:String(_0xdea4c2)});return;}const _0x3c68d6=setTimeout(()=>{const _0x21e9e4=_0x344074;try{if('RIMjv'===_0x21e9e4(0x7f7))return _0x5a5721[_0x21e9e4(0x555)][_0x21e9e4(0x478)];else _0x5f5508['kill']('SIGKILL');}catch{}},_0x29bd34['timeoutMs']??0x3a98);_0x5f5508[_0x344074(0x91a)]?.['on']('data',_0x2fdd7e=>{_0x2e2193+=_0x2fdd7e['toString']();}),_0x5f5508[_0x344074(0x870)]?.['on'](_0x344074(0x978),_0xe62a35=>{_0x51cd48+=_0xe62a35['toString']();});let _0x8d962b=![];_0x5f5508['on']('error',_0x59d498=>{if(_0x8d962b)return;_0x8d962b=!![],clearTimeout(_0x3c68d6),_0x28ad43({'code':0x7f,'stdout':_0x2e2193,'stderr':_0x51cd48+(_0x59d498['message']??String(_0x59d498))});}),_0x5f5508['on']('exit',_0x272044=>{if(_0x8d962b)return;_0x8d962b=!![],clearTimeout(_0x3c68d6),_0x28ad43({'code':_0x272044??0x1,'stdout':_0x2e2193,'stderr':_0x51cd48});});});}async function _0x5f1f68(_0x20b11a){const _0x3f531e=_0x3ee7d6,_0x4b7d23=await _0x52bc18('which',[_0x20b11a],{'timeoutMs':0x7d0});return _0x4b7d23[_0x3f531e(0x845)]===0x0&&_0x4b7d23[_0x3f531e(0x91a)][_0x3f531e(0x5da)]()['length']>0x0;}function _0x50232d(_0x4c7605){const _0x39bd04=_0x3ee7d6,_0x5ce94f=[];let _0x25cc33=0x0,_0x35f0ef=![],_0x1109c4=null,_0x21ecb3=null,_0x1d5b8a=null,_0x54f44a=null,_0x5ed498=null,_0x1025d6=null;const _0x292d0d=_0xb2591e=>{const _0x4a151e=_0x4a5a;let _0x3bab4d=_0xb2591e['trim']();if(_0x3bab4d[_0x4a151e(0x3f0)](';'))_0x3bab4d=_0x3bab4d['slice'](0x0,-0x1)[_0x4a151e(0x5da)]();return(_0x3bab4d['startsWith']('\x22')&&_0x3bab4d['endsWith']('\x22')||_0x3bab4d['startsWith']('\x27')&&_0x3bab4d[_0x4a151e(0x3f0)]('\x27'))&&(_0x3bab4d=_0x3bab4d['slice'](0x1,-0x1)),_0x3bab4d;};for(const _0x54fe50 of _0x4c7605[_0x39bd04(0x814)]('\x0a')){const _0x205dd9=_0x54fe50['trim']();if(_0x205dd9[_0x39bd04(0x945)]===0x0)continue;if(_0x25cc33===0x1&&!_0x35f0ef&&_0x205dd9[_0x39bd04(0x3f0)]('{')){const _0x173f75=_0x205dd9['indexOf']('=');if(_0x173f75>0x0){const _0x2a1412=_0x292d0d(_0x205dd9['slice'](0x0,_0x173f75));_0x1109c4=_0x2a1412,_0x21ecb3=_0x2a1412,_0x1d5b8a=null,_0x54f44a=null,_0x5ed498=null,_0x1025d6=null,_0x35f0ef=!![];}_0x25cc33+=0x1;continue;}if(_0x205dd9['endsWith']('{')){_0x25cc33+=0x1;continue;}if(_0x205dd9==='};'||_0x205dd9==='}'){if(_0x35f0ef&&_0x25cc33===0x2){const _0x4ff0c3=_0x21ecb3??_0x1109c4;_0x4ff0c3&&_0x5ce94f[_0x39bd04(0x496)]({'bundleId':_0x4ff0c3,'name':_0x54f44a??_0x1d5b8a??_0x4ff0c3,'version':_0x5ed498??_0x1025d6??void 0x0}),_0x35f0ef=![],_0x1109c4=null,_0x21ecb3=null,_0x1d5b8a=null,_0x54f44a=null,_0x5ed498=null,_0x1025d6=null;}_0x25cc33=Math[_0x39bd04(0x4da)](0x0,_0x25cc33-0x1);continue;}if(_0x35f0ef&&_0x25cc33===0x2){const _0x51faa4=_0x205dd9[_0x39bd04(0x747)]('=');if(_0x51faa4<0x0)continue;const _0x1f8407=_0x205dd9[_0x39bd04(0x63b)](0x0,_0x51faa4)[_0x39bd04(0x5da)](),_0x1a9861=_0x292d0d(_0x205dd9[_0x39bd04(0x63b)](_0x51faa4+0x1));switch(_0x1f8407){case _0x39bd04(0x5a1):_0x21ecb3=_0x1a9861;break;case _0x39bd04(0x1f3):_0x1d5b8a=_0x1a9861;break;case'CFBundleDisplayName':_0x54f44a=_0x1a9861;break;case _0x39bd04(0x805):_0x5ed498=_0x1a9861;break;case _0x39bd04(0x38d):_0x1025d6=_0x1a9861;break;default:break;}}}return _0x5ce94f;}var _0x435cdf=class _0x3b32c2{constructor(_0x813c5d,_0x305031){const _0x2a2ddf=_0x3ee7d6;this[_0x2a2ddf(0x5e9)]=_0x813c5d,this['targetResolver']=_0x305031;}[_0x3ee7d6(0x737)]=null;[_0x3ee7d6(0x3d5)]=![];[_0x3ee7d6(0x413)]=0x0;static [_0x3ee7d6(0x120)]=0x1388;['udidInflight']=null;[_0x3ee7d6(0x601)]=null;['idbAvailable']=null;[_0x3ee7d6(0x17a)]=null;['INSTALLED_CACHE_MS']=0x7530;['setTargetResolver'](_0x507803){this['targetResolver']=_0x507803;}async['pickTransport'](){const _0x4d2624=_0x3ee7d6;if(!this[_0x4d2624(0x7cb)])return{'preferSimulator':![],'simulatorUdid':'booted'};const _0x454925=await this['targetResolver']['resolve'](),_0x18de68=_0x454925[_0x4d2624(0x555)]===_0x4d2624(0x21f),_0x24d577=_0x454925[_0x4d2624(0x555)]==='simulator'&&_0x454925['udid']?_0x454925[_0x4d2624(0x737)]:'booted';return{'preferSimulator':_0x18de68,'simulatorUdid':_0x24d577};}async[_0x3ee7d6(0x29a)](){const _0x5d07e7=_0x3ee7d6;if(this[_0x5d07e7(0x3d5)]&&this[_0x5d07e7(0x737)]&&Date[_0x5d07e7(0x3d1)]()-this[_0x5d07e7(0x413)]<_0x3b32c2['UDID_TTL_MS']){if('wKYTf'!=='wKYTf'){const _0x2b0c98=_0x3dba38[_0x5d07e7(0x1ab)](_0x370b4a['getStart']());return _0x2b0c98['line']===_0x42e67d;}else return this['udid'];}if(this[_0x5d07e7(0x467)])return this['udidInflight'];const _0x50b4f6=((async()=>{const _0x445d02=_0x5d07e7;try{const _0x24a046=await _0x5f1f68('xcrun');if(!_0x24a046)return null;const _0x51554c=await _0x52bc18('xcrun',['devicectl',_0x445d02(0x950),'devices','--json-output','-'],{'timeoutMs':0x1f40});if(_0x51554c[_0x445d02(0x845)]!==0x0)return null;const _0x14c29a=JSON[_0x445d02(0x229)](_0x51554c['stdout']),_0xa2b7e7=_0x14c29a[_0x445d02(0x7bb)]?.[_0x445d02(0x598)]??[],_0x140923=_0xa2b7e7[_0x445d02(0x7bd)](_0x325a07=>{const _0x308636=_0x445d02,_0x4addc9=_0x325a07[_0x308636(0x979)]?.[_0x308636(0x54d)]?.[_0x308636(0x17e)]()??'',_0x3461b3=_0x325a07[_0x308636(0x60c)]?.[_0x308636(0x4bf)]?.[_0x308636(0x17e)]()??'';return _0x4addc9['includes']('ios')&&_0x3461b3==='connected';});if(_0x140923?.['identifier'])return this[_0x445d02(0x737)]=_0x140923['identifier'],this['udidResolved']=!![],this['udidResolvedAt']=Date['now'](),this[_0x445d02(0x737)];const _0x422360=_0xa2b7e7[_0x445d02(0x7bd)](_0x4185ee=>(_0x4185ee['hardwareProperties']?.[_0x445d02(0x54d)]?.[_0x445d02(0x17e)]()??'')[_0x445d02(0x83f)](_0x445d02(0x5c2)));if(_0x422360?.['identifier'])return this[_0x445d02(0x737)]=_0x422360['identifier'],this[_0x445d02(0x3d5)]=!![],this[_0x445d02(0x413)]=Date[_0x445d02(0x3d1)](),this[_0x445d02(0x737)];}catch{}return null;})());this[_0x5d07e7(0x467)]=_0x50b4f6;try{return await _0x50b4f6;}finally{this[_0x5d07e7(0x467)]=null;}}async[_0x3ee7d6(0x923)](){const _0x7c09fa=_0x3ee7d6;if(this[_0x7c09fa(0x601)]!==null)return this[_0x7c09fa(0x601)];const _0x508744=await _0x5f1f68(_0x7c09fa(0x2d3));if(!_0x508744)return this['devicectlAvailable']=![],![];const _0xc00dcd=await _0x52bc18(_0x7c09fa(0x2d3),[_0x7c09fa(0x124),'--help'],{'timeoutMs':0xfa0});return this[_0x7c09fa(0x601)]=_0xc00dcd['code']===0x0,this['devicectlAvailable'];}async['checkIdb'](){const _0x2c6675=_0x3ee7d6;if(this['idbAvailable']!==null)return this[_0x2c6675(0x61b)];return this[_0x2c6675(0x61b)]=await _0x5f1f68('idb'),this[_0x2c6675(0x61b)];}async['launchApp'](_0x431686){const _0x1e1c44=_0x3ee7d6,_0x58b105=await this[_0x1e1c44(0x884)]();if(_0x58b105['preferSimulator']){const _0x142c3f=_0x58b105['simulatorUdid'],_0x559be5=await _0x52bc18('xcrun',['simctl','launch',_0x142c3f,_0x431686],{'timeoutMs':0x3a98});if(_0x559be5['code']===0x0)return{'success':!![],'transport':'simctl','details':{'udid':_0x142c3f}};return{'success':![],'transport':'simctl','error':_0x1e1c44(0x962)+(_0x559be5[_0x1e1c44(0x870)]||_0x559be5[_0x1e1c44(0x91a)])[_0x1e1c44(0x5da)](),'details':{'udid':_0x142c3f}};}const _0x3ad412=await this[_0x1e1c44(0x29a)]();if(_0x3ad412&&await this['checkDevicectl']()){const _0xb8f483=await _0x52bc18('xcrun',[_0x1e1c44(0x124),'device','process',_0x1e1c44(0x96b),'--device',_0x3ad412,_0x1e1c44(0x565),_0x431686],{'timeoutMs':0x7530});if(_0xb8f483[_0x1e1c44(0x845)]===0x0)return{'success':!![],'transport':_0x1e1c44(0x124),'details':{'udid':_0x3ad412}};const _0x2160a0=_0xb8f483[_0x1e1c44(0x870)]||_0xb8f483[_0x1e1c44(0x91a)];if(!await this[_0x1e1c44(0x2f9)]())return{'success':![],'transport':'devicectl','error':'devicectl\x20launch\x20failed:\x20'+_0x2160a0['trim']()};}if(await this['checkIdb']()){const _0x148f00=['launch',_0x431686];if(_0x3ad412)_0x148f00[_0x1e1c44(0x496)]('--udid',_0x3ad412);const _0x2d1608=await _0x52bc18('idb',_0x148f00,{'timeoutMs':0x7530});if(_0x2d1608['code']===0x0)return{'success':!![],'transport':_0x1e1c44(0x731),'details':{'udid':_0x3ad412}};if(!_0x3ad412){}else return{'success':![],'transport':'idb','error':_0x1e1c44(0x4cd)+(_0x2d1608[_0x1e1c44(0x870)]||_0x2d1608[_0x1e1c44(0x91a)])[_0x1e1c44(0x5da)]()};}if(!_0x3ad412){if(_0x1e1c44(0x151)==='bwrfA'){const _0x3533e0=await _0x52bc18(_0x1e1c44(0x2d3),['simctl',_0x1e1c44(0x96b),_0x1e1c44(0x93b),_0x431686],{'timeoutMs':0x3a98});if(_0x3533e0['code']===0x0)return{'success':!![],'transport':'simctl'};return{'success':![],'transport':_0x1e1c44(0x5c3),'error':_0x1e1c44(0x962)+(_0x3533e0[_0x1e1c44(0x870)]||_0x3533e0[_0x1e1c44(0x91a)])[_0x1e1c44(0x5da)]()};}else{_0x35a0c5({'deviceFound':!![],'udid':_0x41e3de['udid'],'name':_0x4af060[_0x1e1c44(0x4d1)],'waitedMs':_0xc8f501()-_0xc86f21,'source':'usbmuxd'});return;}}return{'success':![],'transport':_0x1e1c44(0x8df),'error':_0x1e1c44(0x76f)};}async['terminateApp'](_0x409e79){const _0x51c414=_0x3ee7d6,_0x1ff56c=await this[_0x51c414(0x884)]();if(_0x1ff56c['preferSimulator']){const _0x22502b=_0x1ff56c['simulatorUdid'],_0x316720=await _0x52bc18('xcrun',[_0x51c414(0x5c3),_0x51c414(0x4c8),_0x22502b,_0x409e79],{'timeoutMs':0x2710});if(_0x316720['code']===0x0)return{'success':!![],'transport':_0x51c414(0x5c3),'details':{'udid':_0x22502b}};return{'success':![],'transport':_0x51c414(0x5c3),'error':_0x51c414(0x889)+(_0x316720[_0x51c414(0x870)]||_0x316720['stdout'])[_0x51c414(0x5da)](),'details':{'udid':_0x22502b}};}if(this['screen']){const _0x3a3f82=await this[_0x51c414(0x5e9)][_0x51c414(0x9b2)]();if(_0x3a3f82){const _0x179832=await this['screen'][_0x51c414(0x33a)](_0x409e79);if(_0x179832['success'])return{'success':!![],'transport':_0x51c414(0x4bd)};}}const _0x1fe07e=await this[_0x51c414(0x29a)]();if(_0x1fe07e&&await this['checkDevicectl']()){const _0x5aec47=await this[_0x51c414(0x47c)](_0x1fe07e,_0x409e79);if(_0x5aec47!==null){const _0x319c6c=await _0x52bc18(_0x51c414(0x2d3),[_0x51c414(0x124),'device',_0x51c414(0x993),_0x51c414(0x4c8),'--device',_0x1fe07e,'--pid',String(_0x5aec47)],{'timeoutMs':0x3a98});if(_0x319c6c[_0x51c414(0x845)]===0x0)return{'success':!![],'transport':_0x51c414(0x124),'details':{'pid':_0x5aec47}};}}if(await this['checkIdb']()){const _0x393651=[_0x51c414(0x4c8),_0x409e79];if(_0x1fe07e)_0x393651['push'](_0x51c414(0x5dd),_0x1fe07e);const _0x450b5c=await _0x52bc18('idb',_0x393651,{'timeoutMs':0x3a98});if(_0x450b5c['code']===0x0)return{'success':!![],'transport':_0x51c414(0x731)};}if(!_0x1fe07e){const _0x309e8b=await _0x52bc18(_0x51c414(0x2d3),[_0x51c414(0x5c3),_0x51c414(0x4c8),_0x51c414(0x93b),_0x409e79],{'timeoutMs':0x2710});if(_0x309e8b['code']===0x0)return{'success':!![],'transport':'simctl'};return{'success':![],'transport':_0x51c414(0x5c3),'error':_0x51c414(0x889)+(_0x309e8b[_0x51c414(0x870)]||_0x309e8b['stdout'])['trim']()};}return{'success':![],'transport':'none','error':'Failed\x20to\x20terminate\x20via\x20WDA,\x20devicectl,\x20or\x20idb.\x20The\x20app\x20may\x20not\x20be\x20running,\x20or\x20(devicectl\x20path)\x20it\x20is\x20not\x20a\x20user-installed\x20app\x20so\x20its\x20PID\x20could\x20not\x20be\x20resolved.'};}async[_0x3ee7d6(0x47c)](_0x596381,_0x202a26){const _0x4cdb2e=_0x3ee7d6,_0x2c0481=await _0x52bc18('xcrun',['devicectl',_0x4cdb2e(0x931),_0x4cdb2e(0x9bd),_0x4cdb2e(0x7dd),_0x4cdb2e(0x96a),_0x596381,_0x4cdb2e(0x82e),'-'],{'timeoutMs':0x4e20});if(_0x2c0481[_0x4cdb2e(0x845)]!==0x0)return null;let _0x1f67f3=null;try{const _0x1a52d4=JSON['parse'](_0x2c0481['stdout']);_0x1f67f3=(_0x1a52d4['result']?.[_0x4cdb2e(0x7dd)]??[])[_0x4cdb2e(0x7bd)](_0x3a3ce1=>_0x3a3ce1[_0x4cdb2e(0x265)]===_0x202a26)?.['url']??null;}catch{return null;}if(!_0x1f67f3)return null;const _0x430d16=_0x1f67f3[_0x4cdb2e(0x3f0)]('/')?_0x1f67f3:_0x1f67f3+'/',_0x4e3400=await _0x52bc18(_0x4cdb2e(0x2d3),['devicectl',_0x4cdb2e(0x931),_0x4cdb2e(0x9bd),'processes','--device',_0x596381,'--json-output','-'],{'timeoutMs':0x4e20});if(_0x4e3400['code']!==0x0)return null;try{if('lZLGD'!=='lZLGD'){const _0x2855cf=_0x518063['result']?.[_0x4cdb2e(0x598)]??[];if(_0x2855cf['length']===0x0)return null;const _0x7678d8=_0x378f12=>(_0x378f12['hardwareProperties']?.['platform']?.['toLowerCase']()??'')[_0x4cdb2e(0x83f)]('ios'),_0x5dfaf3=_0x2855cf['find'](_0x58a160=>{const _0x2764ef=_0x4cdb2e,_0xe111a8=_0x58a160[_0x2764ef(0x60c)]?.[_0x2764ef(0x4bf)]?.[_0x2764ef(0x17e)]()??'';return _0x7678d8(_0x58a160)&&_0xe111a8===_0x2764ef(0x12b);}),_0x472035=_0x5dfaf3??_0x2855cf['find'](_0x7678d8);if(!_0x472035?.[_0x4cdb2e(0x90c)])return null;return{'udid':_0x472035[_0x4cdb2e(0x90c)],'name':_0x472035[_0x4cdb2e(0x9cf)]?.[_0x4cdb2e(0x4d1)]??_0x472035['identifier']};}else{const _0x42d4b6=JSON['parse'](_0x4e3400[_0x4cdb2e(0x91a)]),_0x55dcd1=(_0x42d4b6[_0x4cdb2e(0x7bb)]?.['runningProcesses']??[])[_0x4cdb2e(0x65c)](_0xdd407d=>typeof _0xdd407d[_0x4cdb2e(0x3e9)]===_0x4cdb2e(0x513)&&(_0xdd407d['executable']??'')[_0x4cdb2e(0x887)](_0x430d16));if(_0x55dcd1['length']===0x0)return null;const _0x49ea76=_0x55dcd1[_0x4cdb2e(0x7bd)](_0x5890e0=>!_0x5890e0['executable'][_0x4cdb2e(0x63b)](_0x430d16[_0x4cdb2e(0x945)])['includes']('/'));return(_0x49ea76??_0x55dcd1[0x0])[_0x4cdb2e(0x3e9)];}}catch{return null;}}async[_0x3ee7d6(0x998)](_0x468753){const _0x54578a=_0x3ee7d6;if(this['screen']){const _0xc16faa=await this['screen'][_0x54578a(0x9b2)]();if(_0xc16faa){const _0x492805=await this[_0x54578a(0x5e9)][_0x54578a(0x998)](_0x468753);if(_0x492805['success'])return'zkAJB'===_0x54578a(0x3d0)?{'success':!![],'transport':'wda'}:(_0x1af35e(_0x4732a3+':\x20existing\x20config\x20at\x20'+_0x31f097+_0x54578a(0x6a8)),![]);}}return this[_0x54578a(0x926)](_0x468753);}async['listInstalledApps'](){const _0x35d0e2=_0x3ee7d6,_0x55ac9a=await this['pickTransport'](),_0x2ffab0=_0x55ac9a[_0x35d0e2(0x654)]?null:await this['getUdid'](),_0x3769db=_0x55ac9a['preferSimulator']?_0x35d0e2(0x7da)+_0x55ac9a[_0x35d0e2(0x6fa)]:'device:'+(_0x2ffab0??'none');if(this['installedAppsCache']&&this['installedAppsCache']['key']===_0x3769db&&Date[_0x35d0e2(0x3d1)]()-this[_0x35d0e2(0x17a)]['at']<this['INSTALLED_CACHE_MS'])return{'success':!![],'apps':this['installedAppsCache']['apps']};if(_0x55ac9a['preferSimulator'])return this[_0x35d0e2(0x136)](_0x55ac9a['simulatorUdid'],_0x3769db);const _0x32b849=_0x2ffab0;if(!_0x32b849)return{'success':![],'apps':[],'error':'No\x20real\x20iOS\x20device\x20connected.\x20Connect\x20a\x20device\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac.'};if(!await this[_0x35d0e2(0x923)]())return{'success':![],'apps':[],'error':_0x35d0e2(0x2c8)};const _0x7f3b32=await _0x52bc18('xcrun',['devicectl',_0x35d0e2(0x931),_0x35d0e2(0x9bd),_0x35d0e2(0x7dd),_0x35d0e2(0x96a),_0x32b849,_0x35d0e2(0x82e),'-'],{'timeoutMs':0x4e20});if(_0x7f3b32[_0x35d0e2(0x845)]!==0x0)return{'success':![],'apps':[],'error':'devicectl\x20info\x20apps\x20failed:\x20'+(_0x7f3b32['stderr']||_0x7f3b32['stdout'])[_0x35d0e2(0x5da)]()};try{const _0x337501=JSON['parse'](_0x7f3b32['stdout']),_0x1330f9=(_0x337501['result']?.['apps']??[])['filter'](_0x2de8eb=>!!_0x2de8eb[_0x35d0e2(0x265)])[_0x35d0e2(0x986)](_0x50a413=>({'bundleId':_0x50a413['bundleIdentifier'],'name':_0x50a413[_0x35d0e2(0x4d1)]??_0x50a413[_0x35d0e2(0x265)],'version':_0x50a413[_0x35d0e2(0x3bb)]??_0x50a413[_0x35d0e2(0x892)]}));return this[_0x35d0e2(0x17a)]={'at':Date[_0x35d0e2(0x3d1)](),'key':_0x3769db,'apps':_0x1330f9},{'success':!![],'apps':_0x1330f9};}catch(_0x2ff0c4){if('OJRln'==='RjyUu')_0x314417=_0x36943d[_0x35d0e2(0x229)](_0x551075);else return{'success':![],'apps':[],'error':'Failed\x20to\x20parse\x20devicectl\x20output:\x20'+(_0x2ff0c4 instanceof Error?_0x2ff0c4[_0x35d0e2(0x92e)]:String(_0x2ff0c4))};}}async['listInstalledAppsSimulator'](_0x2bb943,_0x11afff){const _0xbb6fb9=_0x3ee7d6,_0x14e725=await _0x52bc18('xcrun',['simctl',_0xbb6fb9(0x15d),_0x2bb943],{'timeoutMs':0x3a98});if(_0x14e725['code']!==0x0)return{'success':![],'apps':[],'error':_0xbb6fb9(0x7ac)+(_0x14e725['stderr']||_0x14e725[_0xbb6fb9(0x91a)])['trim']()};const _0x3b1957=_0x50232d(_0x14e725['stdout']);return this['installedAppsCache']={'at':Date[_0xbb6fb9(0x3d1)](),'key':_0x11afff,'apps':_0x3b1957},{'success':!![],'apps':_0x3b1957};}async['getActiveApp'](){const _0x495047=_0x3ee7d6;if(!this['screen'])return{'success':![],'error':_0x495047(0x407)};return this['screen'][_0x495047(0x2e6)]();}[_0x3ee7d6(0x88b)](){const _0x4d1ade=_0x3ee7d6;this['udid']=null,this[_0x4d1ade(0x3d5)]=![],this['udidResolvedAt']=0x0,this[_0x4d1ade(0x601)]=null,this[_0x4d1ade(0x61b)]=null,this['installedAppsCache']=null;}},_0xb68fb9=class{constructor(_0x486be3){const _0x341889=_0x3ee7d6;this[_0x341889(0x5e9)]=_0x486be3;}async[_0x3ee7d6(0x86a)](){const _0x19895c=_0x3ee7d6,_0x17dcfc=await this['screen'][_0x19895c(0x9b2)]();if(!_0x17dcfc){const _0x5089d0=await this['screen'][_0x19895c(0x8f8)]()[_0x19895c(0x4ba)](()=>'http://localhost:8100'),_0x3dec6d=_0x5089d0['replace'](/^https?:\/\//,'');return{'awake':![],'lockState':_0x19895c(0x3de),'remediation':'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x3dec6d+'.\x20Open\x20Xcode,\x20run\x20the\x20WebDriverAgentRunner\x20target\x20on\x20your\x20connected\x20iPhone\x20once,\x20then\x20try\x20again\x20on\x20real\x20devices.\x20Simulator\x20support\x20is\x20available\x20via\x20rn_wda_start.'};}const _0x24b70a=await this[_0x19895c(0x34b)]();if(_0x24b70a==='unlocked')return{'awake':!![],'lockState':_0x19895c(0x92f)};if(_0x24b70a==='locked'||_0x24b70a==='screen-off'){const _0xb18a76=await this[_0x19895c(0x5e9)][_0x19895c(0x463)]();if(_0xb18a76[_0x19895c(0x42d)]){const _0x48c1de=await this[_0x19895c(0x34b)]();if(_0x48c1de==='unlocked')return{'awake':!![],'lockState':_0x19895c(0x92f)};}await this['screen']['pressKey'](_0x19895c(0x2dd))[_0x19895c(0x4ba)](()=>void 0x0);const _0x30eb9c=await this['getLockState']();if(_0x30eb9c==='unlocked')return{'awake':!![],'lockState':_0x19895c(0x92f)};return{'awake':![],'lockState':_0x30eb9c,'remediation':'Device\x20is\x20locked.\x20Unlock\x20it\x20manually\x20once,\x20then\x20set\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20so\x20it\x20stays\x20awake\x20while\x20flows\x20run.\x20WDA\x20can\x27t\x20bypass\x20Face\x20ID\x20or\x20a\x20passcode.'};}return{'awake':![],'lockState':_0x24b70a,'remediation':_0x19895c(0x4b0)};}['keepAliveHeartbeat'](_0x14986c={}){const _0x22d4ec=_0x3ee7d6,_0xeac399=_0x14986c[_0x22d4ec(0x174)]??0x5dc,_0x5b7394=setInterval(()=>{const _0x848e32=_0x22d4ec;this['screen']['pingStatus']()[_0x848e32(0x4ba)](()=>void 0x0);},_0xeac399);if(typeof _0x5b7394[_0x22d4ec(0x60e)]===_0x22d4ec(0x8b5))_0x5b7394['unref']();let _0x582e8f=![];return{'intervalMs':_0xeac399,'stop':()=>{if(_0x582e8f)return;_0x582e8f=!![],clearInterval(_0x5b7394);}};}async[_0x3ee7d6(0x34b)](){const _0x54ab47=_0x3ee7d6,_0x4f2f19=await this[_0x54ab47(0x5e9)][_0x54ab47(0x4e9)]();if(_0x4f2f19===!![])return'locked';if(_0x4f2f19===![]){const _0x359461=await this['hasCoverSheet']();return _0x359461?'locked':_0x54ab47(0x92f);}const _0x318084=await this['hasCoverSheet']();if(_0x318084===null)return'unknown';return _0x318084?'locked':_0x54ab47(0x92f);}async['hasCoverSheet'](){const _0x453d85=_0x3ee7d6,_0x3d05ca=await this['screen'][_0x453d85(0x8c5)]();if(!_0x3d05ca['success']||!_0x3d05ca[_0x453d85(0x827)])return null;const _0x4369b2=['sbcoversheet','lock\x20screen',_0x453d85(0x5ef)];let _0x14311b=![];const _0x4048e0=_0x1ab5ba=>{const _0x5b2ea6=_0x453d85;if(_0x14311b)return;const _0x257c3e=[_0x1ab5ba[_0x5b2ea6(0x4d1)],_0x1ab5ba['label'],_0x1ab5ba['type']]['filter'](Boolean)['join']('\x20')['toLowerCase']();if(_0x4369b2[_0x5b2ea6(0x2a5)](_0x4cf591=>_0x257c3e['includes'](_0x4cf591))){_0x14311b=!![];return;}const _0xb612c0=_0x1ab5ba['children'];if(Array[_0x5b2ea6(0x246)](_0xb612c0)){for(const _0x560141 of _0xb612c0)_0x4048e0(_0x560141);}};return _0x4048e0(_0x3d05ca['source']),_0x14311b;}async['setOrientation'](_0xfc3ece){const _0xbe5d52=_0x3ee7d6;return this[_0xbe5d52(0x5e9)][_0xbe5d52(0x71b)](_0xfc3ece);}[_0x3ee7d6(0xfd)](){const _0xe701c0=_0x3ee7d6;return{'success':![],'message':_0xe701c0(0x50b)};}};import{readFile as _0xbd36d8}from'fs/promises';import{join as _0xf298ab}from'path';var _0x51d214='cer_';function _0x469277(_0x2116cb){return _0x2116cb['startsWith'](_0x51d214);}function _0x3d1131(_0x2e3b21){const _0x4c0e13=_0x3ee7d6;if(!_0x469277(_0x2e3b21))return null;const _0x520350=_0x2e3b21[_0x4c0e13(0x63b)](_0x51d214[_0x4c0e13(0x945)]),_0x2cd665=_0x520350[_0x4c0e13(0x678)](/^(.+)_(\d+)_(\d+)_([0-9a-f]{10})$/);if(!_0x2cd665)return null;return{'pathSlug':_0x2cd665[0x1],'line':Number(_0x2cd665[0x2]),'col':Number(_0x2cd665[0x3]),'hash':_0x2cd665[0x4]};}import{readFileSync}from'fs';import{join as _0x3e1e01}from'path';var _0x453c21={'react-native':{'Modal':{'gatingProp':_0x3ee7d6(0x7a4),'kind':_0x3ee7d6(0x103)}}},_0x4473a8={'firebase/auth':{'onAuthStateChanged':{'tier':_0x3ee7d6(0x155),'subscribesTo':_0x3ee7d6(0x657),'subscribeMethod':_0x3ee7d6(0x3e8)},'signOut':{'tier':_0x3ee7d6(0x17b),'mutates':_0x3ee7d6(0x19c),'mutationMethod':_0x3ee7d6(0x564),'delta':{'aspect':_0x3ee7d6(0x4d6),'transition':_0x3ee7d6(0x192),'confidence':_0x3ee7d6(0x270)}},'signInWithEmailAndPassword':{'tier':_0x3ee7d6(0x17b),'mutates':'auth-profile','mutationMethod':_0x3ee7d6(0x6eb),'delta':{'aspect':'authState','transition':_0x3ee7d6(0x799),'confidence':'high'}}}},_0x372fab=null,_0x1fd90c=null;function _0x21e32b(_0x1670dd){const _0x4ec719=_0x3ee7d6;if(_0x1670dd===null){_0x372fab=null;return;}_0x372fab=Object[_0x4ec719(0x4f4)](Object[_0x4ec719(0x36e)](Object['entries'](_0x1670dd)[_0x4ec719(0x986)](([_0x352822,_0x43166f])=>[_0x352822,Object['freeze']({..._0x43166f})])));}function _0x33e0fe(_0x3c368f){if(_0x3c368f===null){_0x1fd90c=null;return;}_0x1fd90c=Object['freeze'](Object['fromEntries'](Object['entries'](_0x3c368f)['map'](([_0x165ad6,_0x208492])=>[_0x165ad6,Object['freeze']({..._0x208492})])));}var _0x34794e=Object[_0x3ee7d6(0x4f4)](Object['fromEntries'](Object['entries'](_0x453c21)['map'](([_0x512717,_0x2ecb43])=>[_0x512717,Object[_0x3ee7d6(0x4f4)]({..._0x2ecb43})]))),_0xd6305d=Object[_0x3ee7d6(0x4f4)](Object['fromEntries'](Object[_0x3ee7d6(0x6b0)](_0x4473a8)['map'](([_0xda96a4,_0x162e06])=>[_0xda96a4,Object[_0x3ee7d6(0x4f4)]({..._0x162e06})])));function _0x1ef47b(_0xfaf98b,_0x3e27e7=()=>{}){const _0x38b794=_0x3ee7d6;if(!_0xfaf98b||typeof _0xfaf98b!==_0x38b794(0x5ab)||Array['isArray'](_0xfaf98b))return _0x3e27e7(_0x38b794(0x6ff)),null;const _0x12fdb2=_0xfaf98b;if(_0x12fdb2[_0x38b794(0x7a9)]!=='componentControl')return _0x3e27e7('componentControl:\x20tier\x20must\x20be\x20\x22componentControl\x22'),null;if(typeof _0x12fdb2['componentName']!==_0x38b794(0x7fd)||_0x12fdb2[_0x38b794(0x195)]['length']===0x0)return _0x3e27e7(_0x38b794(0x930)),null;const _0x160c2c=_0x12fdb2[_0x38b794(0x47f)];if(_0x160c2c!=='boolean-prop'&&_0x160c2c!=='ref-imperative'&&_0x160c2c!=='render-prop')return _0x3e27e7('componentControl:\x20controlShape\x20must\x20be\x20one\x20of\x20\x22boolean-prop\x22|\x22ref-imperative\x22|\x22render-prop\x22\x20(got\x20'+JSON['stringify'](_0x160c2c)+')'),null;if(typeof _0x12fdb2[_0x38b794(0x54c)]!=='string'||_0x12fdb2[_0x38b794(0x54c)]['length']===0x0)return _0x3e27e7('componentControl:\x20stateInference\x20must\x20be\x20a\x20non-empty\x20string'),null;if(_0x160c2c==='boolean-prop'){if(typeof _0x12fdb2['visibilityProp']!==_0x38b794(0x7fd)||_0x12fdb2[_0x38b794(0x812)][_0x38b794(0x945)]===0x0)return _0x3e27e7('componentControl:\x20boolean-prop\x20entries\x20require\x20non-empty\x20visibilityProp'),null;}else{if(_0x160c2c==='ref-imperative'){if(!Array[_0x38b794(0x246)](_0x12fdb2[_0x38b794(0x9b3)])||_0x12fdb2[_0x38b794(0x9b3)][_0x38b794(0x945)]===0x0||!_0x12fdb2[_0x38b794(0x9b3)]['every'](_0x2f6e6e=>typeof _0x2f6e6e==='string'&&_0x2f6e6e[_0x38b794(0x945)]>0x0))return'mvLvC'===_0x38b794(0x160)?'warn':(_0x3e27e7(_0x38b794(0x838)),null);}}if(_0x12fdb2['uiKind']!=='modal'&&_0x12fdb2[_0x38b794(0x729)]!==_0x38b794(0x6da)&&_0x12fdb2[_0x38b794(0x729)]!=='sheet'&&_0x12fdb2['uiKind']!=='accordion'&&_0x12fdb2['uiKind']!==_0x38b794(0x522)&&_0x12fdb2['uiKind']!=='reveal')return _0x3e27e7(_0x38b794(0x69b)+JSON[_0x38b794(0x2c1)](_0x12fdb2[_0x38b794(0x729)])+')\x20—\x20entry\x20rejected'),null;const _0x49821a={'tier':'componentControl','componentName':_0x12fdb2['componentName'],'controlShape':_0x160c2c,'stateInference':_0x12fdb2['stateInference'],'uiKind':_0x12fdb2[_0x38b794(0x729)]};typeof _0x12fdb2[_0x38b794(0x812)]==='string'&&_0x12fdb2['visibilityProp']['length']>0x0&&(_0x49821a['visibilityProp']=_0x12fdb2[_0x38b794(0x812)]);if(Array[_0x38b794(0x246)](_0x12fdb2['openMethods'])){const _0x24ad50=_0x12fdb2['openMethods'][_0x38b794(0x65c)](_0x239aa3=>typeof _0x239aa3==='string'&&_0x239aa3[_0x38b794(0x945)]>0x0);if(_0x24ad50['length']>0x0)_0x49821a['openMethods']=_0x24ad50;}if(Array[_0x38b794(0x246)](_0x12fdb2['closeMethods'])){const _0x54ab44=_0x12fdb2['closeMethods'][_0x38b794(0x65c)](_0x1f0104=>typeof _0x1f0104==='string'&&_0x1f0104[_0x38b794(0x945)]>0x0);if(_0x54ab44['length']>0x0)_0x49821a[_0x38b794(0x74f)]=_0x54ab44;}typeof _0x12fdb2['renderPropName']===_0x38b794(0x7fd)&&_0x12fdb2['renderPropName']['length']>0x0&&(_0x49821a['renderPropName']=_0x12fdb2['renderPropName']);(_0x12fdb2[_0x38b794(0x8cd)]==='npm'||_0x12fdb2[_0x38b794(0x8cd)]===_0x38b794(0xff))&&(_0x49821a[_0x38b794(0x8cd)]=_0x12fdb2['origin']);if(typeof _0x12fdb2[_0x38b794(0x892)]===_0x38b794(0x7fd))_0x49821a['version']=_0x12fdb2[_0x38b794(0x892)];if(typeof _0x12fdb2['fileHash']===_0x38b794(0x7fd))_0x49821a[_0x38b794(0x726)]=_0x12fdb2[_0x38b794(0x726)];if(Array[_0x38b794(0x246)](_0x12fdb2['discoveredIn'])){const _0x1ca4a0=_0x12fdb2[_0x38b794(0x235)]['filter'](_0x2eee0d=>typeof _0x2eee0d===_0x38b794(0x7fd)&&_0x2eee0d[_0x38b794(0x945)]>0x0);if(_0x1ca4a0['length']>0x0)_0x49821a['discoveredIn']=_0x1ca4a0;}return _0x49821a;}function _0x471a3f(_0x4ffc58,_0x174b83=()=>{}){const _0x1d06fc=_0x3ee7d6;if(!_0x4ffc58||typeof _0x4ffc58!=='object'||Array[_0x1d06fc(0x246)](_0x4ffc58))return _0x174b83(_0x1d06fc(0x468)),null;const _0x4a66cc=_0x4ffc58;if(_0x4a66cc[_0x1d06fc(0x7a9)]!==_0x1d06fc(0x3bd))return _0x174b83(_0x1d06fc(0x808)),null;if(typeof _0x4a66cc[_0x1d06fc(0x5ba)]!==_0x1d06fc(0x7fd)||_0x4a66cc['hookName'][_0x1d06fc(0x945)]===0x0)return _0x174b83(_0x1d06fc(0x1da)),null;const _0x1bb637=_0x4a66cc[_0x1d06fc(0x321)];if(!_0x1bb637||typeof _0x1bb637!=='object'||Array['isArray'](_0x1bb637))return _0x174b83(_0x1d06fc(0x218)),null;const _0x556652=_0x1bb637;if(typeof _0x556652[_0x1d06fc(0x21d)]!=='string'||_0x556652[_0x1d06fc(0x21d)][_0x1d06fc(0x945)]===0x0)return _0x174b83('componentHook:\x20returns.state\x20must\x20be\x20a\x20non-empty\x20string'),null;if(typeof _0x556652['openMethod']!=='string'||_0x556652['openMethod']['length']===0x0)return _0x174b83('componentHook:\x20returns.openMethod\x20must\x20be\x20a\x20non-empty\x20string'),null;if(typeof _0x556652[_0x1d06fc(0x898)]!=='string'||_0x556652[_0x1d06fc(0x898)][_0x1d06fc(0x945)]===0x0)return _0x174b83('componentHook:\x20returns.closeMethod\x20must\x20be\x20a\x20non-empty\x20string'),null;if(typeof _0x4a66cc['stateInference']!=='string'||_0x4a66cc['stateInference']['length']===0x0)return _0x174b83('componentHook:\x20stateInference\x20must\x20be\x20a\x20non-empty\x20string'),null;const _0x4a2ccb={'tier':'componentHook','hookName':_0x4a66cc[_0x1d06fc(0x5ba)],'returns':{'state':_0x556652[_0x1d06fc(0x21d)],'openMethod':_0x556652[_0x1d06fc(0x830)],'closeMethod':_0x556652[_0x1d06fc(0x898)]},'stateInference':_0x4a66cc['stateInference']};typeof _0x556652[_0x1d06fc(0x1c6)]===_0x1d06fc(0x7fd)&&_0x556652['toggleMethod']['length']>0x0&&(_0x4a2ccb['returns'][_0x1d06fc(0x1c6)]=_0x556652['toggleMethod']);if(_0x4a66cc['origin']==='npm'||_0x4a66cc[_0x1d06fc(0x8cd)]==='local-hash'){if(_0x1d06fc(0x240)!=='nEntr'){const _0x54d80c=_0x13cf7d['timeoutMs']-(_0x4fd358()-_0x5dee55),_0x93f9b9=_0x8d3bba[_0x1d06fc(0x4da)](_0x54d80c,0x0);_0x3c01db=_0x400a6a(()=>{const _0x1bd8bd=_0x1d06fc;_0x32cac1(new _0x4a25d9(_0x3a3c8b(_0x50b874[_0x1bd8bd(0x5aa)])));},_0x93f9b9);}else _0x4a2ccb[_0x1d06fc(0x8cd)]=_0x4a66cc['origin'];}if(typeof _0x4a66cc[_0x1d06fc(0x892)]===_0x1d06fc(0x7fd))_0x4a2ccb[_0x1d06fc(0x892)]=_0x4a66cc[_0x1d06fc(0x892)];if(typeof _0x4a66cc['fileHash']==='string')_0x4a2ccb['fileHash']=_0x4a66cc['fileHash'];if(Array['isArray'](_0x4a66cc['discoveredIn'])){const _0x479f81=_0x4a66cc['discoveredIn']['filter'](_0x3b95fa=>typeof _0x3b95fa===_0x1d06fc(0x7fd)&&_0x3b95fa['length']>0x0);if(_0x479f81[_0x1d06fc(0x945)]>0x0)_0x4a2ccb[_0x1d06fc(0x235)]=_0x479f81;}return _0x4a2ccb;}import{webcrypto}from'crypto';var _0x1034e6=new Uint8Array([0x58,0xf7,0x5d,0x60,0xe7,0xd6,0xf6,0x35,0xbf,0x3b,0x37,0xee,0x24,0x65,0x3a,0xa3,0x8b,0xc4,0x57,0xc5,0x4a,0x2a,0x63,0x8d,0x99,0x66,0xa4,0xb1,0x3c,0x2e,0x35,0xa4]);function _0x38ffec(_0x112a8f){if(_0x112a8f['length']!==0x20)return![];for(let _0x3612d7=0x0;_0x3612d7<0x20;_0x3612d7++){if(_0x112a8f[_0x3612d7]!==0x0)return![];}return!![];}var _0x5b7b12=0x1388,_0xf2f603=0x1e*0x18*0x3c*0x3c*0x3e8,_0x23d5e9={'name':_0x3ee7d6(0x60f)};async function _0x3b7537(_0x37ac20){const _0x4f4224=_0x3ee7d6;if(_0x38ffec(_0x37ac20[_0x4f4224(0x14b)]))return null;const _0x3ff16e=_0x37ac20[_0x4f4224(0x5aa)]??_0x5b7b12,_0x2ba8a1=_0x37ac20['fetchImpl']??fetch,_0x2e880f=_0x37ac20[_0x4f4224(0x3d1)]??Date['now'],_0x460377=new AbortController(),_0x5c871d=setTimeout(()=>_0x460377['abort'](),_0x3ff16e);let _0x3d9e80;try{if(_0x4f4224(0x373)!==_0x4f4224(0x373))return{'stopped':![]};else{const _0x16bf8e=await _0x2ba8a1(_0x37ac20[_0x4f4224(0x4b8)],{'signal':_0x460377['signal'],'headers':{'Accept':_0x4f4224(0x742)}});if(!_0x16bf8e['ok']){if('LAkmY'===_0x4f4224(0xec)){const _0x2c82da=_0x1d9cfd(_0x20b1b6);if(_0x2c82da!==null)!_0x58db8c[_0x1fffde]&&(_0x5e6502[_0x591c9d]=_0x59c079[_0x4f4224(0x723)](null)),_0xf5c212[_0x167534][_0x39e3cc]=_0x2c82da;else{const _0x42f831=typeof _0x1b661c==='object'&&_0x5decfc!==null&&_0x4f4224(0x7a9)in _0x147391?'\x20(tier:\x20'+_0x5c36d1(_0x39b381['tier'])+')':'';_0x513750(_0x388e65,_0x4da668+':'+_0x2f2677+'#'+_0x4f6258+_0x42f831);}}else return null;}_0x3d9e80=await _0x16bf8e[_0x4f4224(0x5d9)]();}}catch{return null;}finally{clearTimeout(_0x5c871d);}let _0x2899d5;try{_0x2899d5=JSON[_0x4f4224(0x229)](_0x3d9e80);}catch{return null;}if(!_0x207c9f(_0x2899d5))return null;const _0x158a49=Date[_0x4f4224(0x229)](_0x2899d5['signedAt']);if(!Number['isFinite'](_0x158a49))return null;const _0xf9a063=_0x2e880f()-_0x158a49;if(_0xf9a063<0x0||_0xf9a063>_0xf2f603)return null;const _0x327aaf=_0x540674(_0x2899d5['catalog'],_0x2899d5['libraryCatalog'],_0x2899d5[_0x4f4224(0x123)],_0x2899d5[_0x4f4224(0x69c)]);let _0x4bed18;try{if(_0x4f4224(0x73b)==='dGSal')_0x4bed18=_0x1bcb26(_0x2899d5[_0x4f4224(0x547)]);else{_0x3164fe['axCache']['set'](_0x6844c6,_0x90ad46['axCache']['currentEpoch']());const _0x396c07=this['screen']['findElementFromTree'](_0x6afa60,_0x2f03df),_0x190faa=_0x396c07[0x0];if(_0x190faa?.[_0x4f4224(0x578)])return{'success':!![],'details':{'element':{'type':_0x190faa['type']??_0x4f4224(0x3de),'label':_0x190faa['label']??_0x190faa[_0x4f4224(0x4d1)]??'','bounds':_0x190faa['rect']}}};return{'success':![],'error':'assertVisible:\x20element\x20not\x20visible:\x20'+_0x4d6854['stringify'](_0x4b4504)};}}catch{return null;}let _0x44b8f9;try{_0x44b8f9=await webcrypto[_0x4f4224(0x340)][_0x4f4224(0x335)]('raw',_0x37ac20['publicKey'],_0x23d5e9,![],['verify']);}catch{return null;}let _0x46f682;try{_0x46f682=await webcrypto[_0x4f4224(0x340)]['verify'](_0x23d5e9,_0x44b8f9,_0x4bed18,_0x327aaf);}catch{return null;}if(!_0x46f682)return null;const _0xa7edf0={'droppedCount':0x0,'samples':[]},_0x2c2f78={'catalog':_0x43cdda(_0x2899d5[_0x4f4224(0x942)],_0x15b282,_0x4f4224(0x942),_0xa7edf0)};return _0x2899d5['libraryCatalog']&&(_0x2c2f78[_0x4f4224(0x58a)]=_0x36daf0(_0x2899d5['libraryCatalog'],_0x15b282,'library',_0xa7edf0)),_0x2899d5[_0x4f4224(0x123)]&&(_0x2c2f78[_0x4f4224(0x123)]=_0x36daf0(_0x2899d5['extendedCatalog'],_0x483e56,'extended',_0xa7edf0)),_0xa7edf0[_0x4f4224(0x25e)]>0x0&&(_0x2c2f78[_0x4f4224(0x507)]=_0xa7edf0),_0x2c2f78;}async function _0x2992bc(_0xe2e392){const _0x340d63=_0x3ee7d6,_0x2a1cb5=_0xe2e392[_0x340d63(0x5aa)]??_0x5b7b12,_0xc80b4d=_0xe2e392['fetchImpl']??fetch,_0x1d4a4f=new AbortController(),_0x405c80=setTimeout(()=>_0x1d4a4f['abort'](),_0x2a1cb5);try{const _0x1579bf=await _0xc80b4d(_0xe2e392[_0x340d63(0x4b8)],{'signal':_0x1d4a4f[_0x340d63(0x294)],'headers':{'Accept':_0x340d63(0x742)}});if(!_0x1579bf['ok'])return null;const _0x4516aa=await _0x1579bf[_0x340d63(0x5d9)]();let _0x3d9a79;try{_0x3d9a79=JSON['parse'](_0x4516aa);}catch{return null;}if(!_0x3d9a79||typeof _0x3d9a79!=='object'||typeof _0x3d9a79['publicKey']!==_0x340d63(0x7fd))return null;const _0x5759a5=_0x1bcb26(_0x3d9a79['publicKey']);if(_0x5759a5[_0x340d63(0x945)]!==0x20)return null;return _0x5759a5;}catch{return null;}finally{clearTimeout(_0x405c80);}}var _0x5071df=new Set([_0x3ee7d6(0x1e9),'constructor','prototype']);function _0x2da679(_0x42d3cc){const _0x39cca8=_0x3ee7d6;return _0x42d3cc[_0x39cca8(0x945)]>0x0&&!_0x5071df[_0x39cca8(0x21c)](_0x42d3cc);}function _0x207c9f(_0x15e3a4){const _0x346c91=_0x3ee7d6;if(typeof _0x15e3a4!=='object'||_0x15e3a4===null)return![];const _0x8e3646=_0x15e3a4;if(typeof _0x8e3646['signedAt']!==_0x346c91(0x7fd))return![];if(typeof _0x8e3646[_0x346c91(0x547)]!==_0x346c91(0x7fd))return![];if(typeof _0x8e3646[_0x346c91(0x942)]!=='object'||_0x8e3646['catalog']===null||Array[_0x346c91(0x246)](_0x8e3646[_0x346c91(0x942)]))return![];for(const [_0x3a3e61]of Object[_0x346c91(0x6b0)](_0x8e3646[_0x346c91(0x942)])){if(typeof _0x3a3e61!==_0x346c91(0x7fd)||!_0x2da679(_0x3a3e61))return![];}if(_0x8e3646[_0x346c91(0x58a)]!==void 0x0){if(typeof _0x8e3646[_0x346c91(0x58a)]!==_0x346c91(0x5ab)||_0x8e3646['libraryCatalog']===null||Array[_0x346c91(0x246)](_0x8e3646[_0x346c91(0x58a)]))return![];for(const [_0x3a6ade,_0x83e256]of Object['entries'](_0x8e3646['libraryCatalog'])){if(typeof _0x3a6ade!==_0x346c91(0x7fd)||!_0x2da679(_0x3a6ade))return![];if(typeof _0x83e256!=='object'||_0x83e256===null||Array[_0x346c91(0x246)](_0x83e256))return![];for(const [_0x4cc8d8]of Object['entries'](_0x83e256)){if(_0x346c91(0x24e)==='rvIdr'){if(typeof _0x4cc8d8!==_0x346c91(0x7fd)||!_0x2da679(_0x4cc8d8))return![];}else try{_0x465766[_0x346c91(0x116)](_0x6e141b);}catch{}}}}if(_0x8e3646['extendedCatalog']!==void 0x0){if(typeof _0x8e3646['extendedCatalog']!=='object'||_0x8e3646['extendedCatalog']===null||Array['isArray'](_0x8e3646[_0x346c91(0x123)]))return![];for(const [_0x3bd34c,_0x46eca1]of Object[_0x346c91(0x6b0)](_0x8e3646[_0x346c91(0x123)])){if(typeof _0x3bd34c!==_0x346c91(0x7fd)||!_0x2da679(_0x3bd34c))return![];if(typeof _0x46eca1!=='object'||_0x46eca1===null||Array[_0x346c91(0x246)](_0x46eca1))return![];for(const [_0x1a005c]of Object[_0x346c91(0x6b0)](_0x46eca1)){if(typeof _0x1a005c!=='string'||!_0x2da679(_0x1a005c))return![];}}}return!![];}var _0x431c28=0x8;function _0x474018(_0x5a930f,_0x3eda55){const _0x19d05f=_0x3ee7d6;_0x5a930f['droppedCount']+=0x1,_0x5a930f['samples'][_0x19d05f(0x945)]<_0x431c28&&_0x5a930f[_0x19d05f(0x6a0)][_0x19d05f(0x496)](_0x3eda55);}function _0x43cdda(_0x2d7841,_0x2cc19e,_0x49904f,_0x3486c7){const _0x34b317=Object['create'](null);for(const [_0x57bcd8,_0x2e25ff]of Object['entries'](_0x2d7841)){const _0x5d73c8=_0x2cc19e(_0x2e25ff);_0x5d73c8!==null?_0x34b317[_0x57bcd8]=_0x5d73c8:_0x474018(_0x3486c7,_0x49904f+':'+_0x57bcd8);}return _0x34b317;}function _0x36daf0(_0x10e442,_0x2d8d04,_0x314d67,_0x22f3b2){const _0x308ad3=_0x3ee7d6,_0x23bff3=Object['create'](null);for(const [_0x232237,_0x438068]of Object[_0x308ad3(0x6b0)](_0x10e442)){for(const [_0x584bad,_0x406f98]of Object[_0x308ad3(0x6b0)](_0x438068)){const _0x2ed6d6=_0x2d8d04(_0x406f98);if(_0x2ed6d6!==null)!_0x23bff3[_0x232237]&&(_0x23bff3[_0x232237]=Object[_0x308ad3(0x723)](null)),_0x23bff3[_0x232237][_0x584bad]=_0x2ed6d6;else{const _0x2c9988=typeof _0x406f98==='object'&&_0x406f98!==null&&_0x308ad3(0x7a9)in _0x406f98?'\x20(tier:\x20'+String(_0x406f98['tier'])+')':'';_0x474018(_0x22f3b2,_0x314d67+':'+_0x232237+'#'+_0x584bad+_0x2c9988);}}}return _0x23bff3;}function _0x15b282(_0x237f59){return _0x1b7ac3(_0x237f59)?_0x237f59:null;}function _0x483e56(_0x1acb56){const _0x3d25e0=_0x3ee7d6;if(typeof _0x1acb56!=='object'||_0x1acb56===null)return null;const _0xba3cd5=_0x1acb56;switch(_0xba3cd5[_0x3d25e0(0x7a9)]){case _0x3d25e0(0x155):return typeof _0xba3cd5[_0x3d25e0(0x7f0)]===_0x3d25e0(0x7fd)?_0x1acb56:null;case _0x3d25e0(0x17b):return typeof _0xba3cd5['mutates']==='string'?_0x1acb56:null;case'permission-gate':return typeof _0xba3cd5['permissionKind']===_0x3d25e0(0x7fd)?_0x1acb56:null;case'bridge-opaque':return typeof _0xba3cd5['capability']==='string'?_0x1acb56:null;case _0x3d25e0(0x735):return _0x1ef47b(_0xba3cd5);case _0x3d25e0(0x3bd):return _0x471a3f(_0xba3cd5);default:return null;}}function _0x1b7ac3(_0x2b9831){const _0x1adbc4=_0x3ee7d6;if(typeof _0x2b9831!=='object'||_0x2b9831===null)return![];const _0x4ca388=_0x2b9831;if(typeof _0x4ca388[_0x1adbc4(0x512)]!==_0x1adbc4(0x7fd))return![];if(typeof _0x4ca388['kind']!=='string')return![];if(_0x4ca388['gatingExpression']!==void 0x0&&_0x4ca388['gatingExpression']!==_0x1adbc4(0x715)&&_0x4ca388['gatingExpression']!==_0x1adbc4(0x21b))return![];if(_0x4ca388['requiresAncestor']!==void 0x0&&typeof _0x4ca388[_0x1adbc4(0x867)]!=='string')return![];if(_0x4ca388[_0x1adbc4(0x288)]!==void 0x0&&_0x4ca388['controlMode']!==_0x1adbc4(0x888)&&_0x4ca388['controlMode']!==_0x1adbc4(0x1b8))return![];if(_0x4ca388['controlProp']!==void 0x0&&typeof _0x4ca388['controlProp']!==_0x1adbc4(0x7fd))return![];return!![];}function _0x540674(_0x3f8454,_0x53af5c,_0x3e11bd,_0x430e77){const _0x1695e0=_0x3ee7d6,_0x60f9d3={'catalog':_0x523171(_0x3f8454),'signedAt':_0x430e77};_0x53af5c!==void 0x0&&(_0x60f9d3[_0x1695e0(0x58a)]=_0x523171(_0x53af5c));_0x3e11bd!==void 0x0&&(_0x60f9d3[_0x1695e0(0x123)]=_0x523171(_0x3e11bd));const _0x45ace7=JSON['stringify'](_0x523171(_0x60f9d3));return new TextEncoder()[_0x1695e0(0x2d1)](_0x45ace7);}function _0x523171(_0x1b4228){const _0x4968fa=_0x3ee7d6;if(Array['isArray'](_0x1b4228))return _0x1b4228[_0x4968fa(0x986)](_0x4628dd=>_0x523171(_0x4628dd));if(_0x1b4228!==null&&typeof _0x1b4228===_0x4968fa(0x5ab)){const _0x4fa575={},_0x5aeb8f=Object[_0x4968fa(0x208)](_0x1b4228)[_0x4968fa(0x837)]();for(const _0xcc180c of _0x5aeb8f){_0x4fa575[_0xcc180c]=_0x523171(_0x1b4228[_0xcc180c]);}return _0x4fa575;}return _0x1b4228;}function _0x1bcb26(_0x7851bf){const _0x477208=_0x3ee7d6;return new Uint8Array(Buffer['from'](_0x7851bf,_0x477208(0x589)));}var _0xf13c3e=0x4,_0x4e85ea=0x4,_0x472ef1=0x1388,_0x585a54=new Set([_0x3ee7d6(0x30c),'Image']);function _0x536ba2(_0x52cb2a,_0x5b6636,_0xfe895b){const _0x530885=_0x3ee7d6;if(!_0x8602e2(_0x52cb2a)||!_0x8602e2(_0x5b6636))return _0x2160f5();if(!_0x1ed572(_0xfe895b))return _0x2160f5();const _0x13ce18=_0x20c00e(_0x52cb2a[_0x530885(0x572)]),_0x36a56d=_0x20c00e(_0x5b6636['nodes']);if(!_0x441f13(_0x13ce18,_0x36a56d))return _0x2160f5();const _0x4319fa=[],_0x113f56=[],_0x23cfb3=new Set();for(const [_0x44ad93,_0x49170c]of _0x13ce18){_0x23cfb3[_0x530885(0x5c1)](_0x44ad93);const _0x58b25b=_0x36a56d['get'](_0x44ad93);if(_0x58b25b===void 0x0){_0x49170c['visible']&&(_0x4319fa['push']({'region':_0x1d3fd8(_0x49170c[_0x530885(0x94c)]),'kind':'removed','severity':_0x50f975('removed',_0x49170c,_0x49170c[_0x530885(0x94c)]),'nodeId':_0x44ad93}),_0x113f56[_0x530885(0x496)](_0x49170c['kind']??_0x530885(0x8a3)));continue;}const _0x28c5a7=_0x58b25b[_0x530885(0x94c)]['x']-_0x49170c[_0x530885(0x94c)]['x'],_0x329eae=_0x58b25b[_0x530885(0x94c)]['y']-_0x49170c[_0x530885(0x94c)]['y'],_0x1a6af8=_0x58b25b['bounds']['w']-_0x49170c[_0x530885(0x94c)]['w'],_0xc765f3=_0x58b25b['bounds']['h']-_0x49170c['bounds']['h'];(Math['abs'](_0x28c5a7)>_0xf13c3e||Math['abs'](_0x329eae)>_0xf13c3e)&&(_0x4319fa[_0x530885(0x496)]({'region':_0x1d3fd8(_0x58b25b[_0x530885(0x94c)]),'kind':'moved','severity':_0x50f975(_0x530885(0x15a),_0x58b25b,_0x58b25b['bounds']),'nodeId':_0x44ad93,'delta':{'dx':_0x28c5a7,'dy':_0x329eae}}),_0x113f56[_0x530885(0x496)](_0x58b25b['kind']??'View')),(Math[_0x530885(0x9dc)](_0x1a6af8)>_0x4e85ea||Math['abs'](_0xc765f3)>_0x4e85ea)&&(_0x4319fa['push']({'region':_0x1d3fd8(_0x58b25b['bounds']),'kind':'resized','severity':_0x50f975(_0x530885(0x1ef),_0x58b25b,_0x58b25b['bounds']),'nodeId':_0x44ad93,'delta':{'dw':_0x1a6af8,'dh':_0xc765f3}}),_0x113f56['push'](_0x58b25b[_0x530885(0x3ea)]??'View'));}for(const [_0x3f70a5,_0x50635e]of _0x36a56d){if(_0x23cfb3[_0x530885(0x21c)](_0x3f70a5))continue;if(!_0x50635e['visible'])continue;_0x4319fa[_0x530885(0x496)]({'region':_0x1d3fd8(_0x50635e['bounds']),'kind':_0x530885(0x1dd),'severity':_0x50f975('added',_0x50635e,_0x50635e[_0x530885(0x94c)]),'nodeId':_0x3f70a5}),_0x113f56[_0x530885(0x496)](_0x50635e[_0x530885(0x3ea)]??'View');}const _0x167a8a=[],_0x1721d8=[];for(let _0x15eafa=0x0;_0x15eafa<_0x4319fa['length'];_0x15eafa++){const _0x5c39d7=_0x4319fa[_0x15eafa];if(_0x287df4(_0x5c39d7['region'],_0xfe895b))continue;_0x167a8a['push'](_0x5c39d7),_0x1721d8['push'](_0x113f56[_0x15eafa]);}if(_0x167a8a['length']===0x0)return _0x2160f5();return{'regressions':_0x167a8a,'warning':_0x33db6b(_0x167a8a,_0x1721d8,_0xfe895b)};}function _0x2160f5(){return{'regressions':[],'warning':null};}function _0x8602e2(_0x392d52){const _0x3d8eff=_0x3ee7d6;if(!_0x392d52)return![];if(!Array['isArray'](_0x392d52['nodes']))return![];if(_0x392d52[_0x3d8eff(0x572)][_0x3d8eff(0x945)]===0x0)return![];return!![];}function _0x1ed572(_0x4ceaab){const _0x4c737d=_0x3ee7d6;if(!_0x4ceaab)return![];if(!Number['isFinite'](_0x4ceaab['x'])||!Number[_0x4c737d(0x996)](_0x4ceaab['y']))return![];if(!Number['isFinite'](_0x4ceaab['w'])||!Number[_0x4c737d(0x996)](_0x4ceaab['h']))return![];if(_0x4ceaab['w']<=0x0||_0x4ceaab['h']<=0x0)return![];return!![];}function _0x20c00e(_0x2455ec){const _0x13da44=_0x3ee7d6,_0x371041=new Map();for(const _0x4eeeb6 of _0x2455ec){if(!_0x4eeeb6||typeof _0x4eeeb6['id']!=='string'||_0x4eeeb6['id'][_0x13da44(0x945)]===0x0)continue;if(!_0x4eeeb6['bounds'])continue;const {x:_0xecfbea,y:_0x583b15,w:_0x7cc7e,h:_0xe31432}=_0x4eeeb6['bounds'];if(!Number['isFinite'](_0xecfbea)||!Number['isFinite'](_0x583b15))continue;if(!Number['isFinite'](_0x7cc7e)||!Number['isFinite'](_0xe31432))continue;_0x371041['set'](_0x4eeeb6['id'],_0x4eeeb6);}return _0x371041;}function _0x441f13(_0x23f5af,_0x13015e){const _0x428f53=_0x3ee7d6,[_0x4ee436,_0x59c5c4]=_0x23f5af[_0x428f53(0x1bb)]<=_0x13015e['size']?[_0x23f5af,_0x13015e]:[_0x13015e,_0x23f5af];for(const _0x41cb6e of _0x4ee436[_0x428f53(0x208)]()){if(_0x59c5c4['has'](_0x41cb6e))return!![];}return![];}function _0x1d3fd8(_0x54228d){return{'x':_0x54228d['x'],'y':_0x54228d['y'],'w':_0x54228d['w'],'h':_0x54228d['h']};}function _0x287df4(_0x5e4796,_0x5a653d){const _0x7e2fff=_0x5e4796['x']+_0x5e4796['w'],_0x507227=_0x5e4796['y']+_0x5e4796['h'],_0x272169=_0x5a653d['x']+_0x5a653d['w'],_0x568eb0=_0x5a653d['y']+_0x5a653d['h'];if(_0x7e2fff<=_0x5a653d['x'])return![];if(_0x272169<=_0x5e4796['x'])return![];if(_0x507227<=_0x5a653d['y'])return![];if(_0x568eb0<=_0x5e4796['y'])return![];return!![];}function _0x50f975(_0x3c9dcb,_0x2d9d93,_0x837500){const _0xf03985=_0x3ee7d6,_0x10f16e=Math['max'](0x0,_0x837500['w'])*Math['max'](0x0,_0x837500['h']);if(_0x10f16e>_0x472ef1)return'high';if(_0x3c9dcb==='added'||_0x3c9dcb==='removed'){if(_0x2d9d93[_0xf03985(0x3ea)]&&_0x585a54[_0xf03985(0x21c)](_0x2d9d93['kind']))return _0xf03985(0x270);}return _0xf03985(0x579);}function _0x33db6b(_0x576a67,_0x2a08a3,_0x1ee9a0){const _0x158309=_0x3ee7d6,_0x5d89c5=new Map();for(let _0x44b55c=0x0;_0x44b55c<_0x576a67[_0x158309(0x945)];_0x44b55c++){if('YdJpr'!==_0x158309(0x8e6)){const _0x38bb60=_0x576a67[_0x44b55c],_0x255048=_0x2a08a3[_0x44b55c]??_0x158309(0x8a3),_0x4ce69a=_0x38bb60['kind']+'\x20'+_0x255048;_0x5d89c5['set'](_0x4ce69a,(_0x5d89c5['get'](_0x4ce69a)??0x0)+0x1);}else{const _0x454d76=_0x3c3b62['parse'](_0x56bf68);if(_0x454d76&&typeof _0x454d76===_0x158309(0x5ab))return _0x454d76;}}const _0x4a6dcb=Array['from'](_0x5d89c5[_0x158309(0x208)]())[_0x158309(0x837)](),_0x507a28=[];for(const _0x44072a of _0x4a6dcb){_0x507a28[_0x158309(0x496)](_0x5d89c5[_0x158309(0x47a)](_0x44072a)+'\x20'+_0x44072a);}const _0x5448ab=_0x1ee9a0[_0x158309(0x8b1)]?_0x158309(0x222)+_0x1ee9a0['screenName']+'\x20region':_0x158309(0x3e6);return _0x576a67['length']+'\x20unexpected\x20change'+(_0x576a67['length']===0x1?'':'s')+'\x20'+_0x5448ab+':\x20'+_0x507a28[_0x158309(0x221)](',\x20');}var _0xac47c2=class{[_0x3ee7d6(0x392)]=null;[_0x3ee7d6(0xdd)]=0x0;['invalidate'](){this['epoch']+=0x1,this['entry']=null;}['get'](_0x5cef4e){const _0x4328ff=_0x3ee7d6;if(!this[_0x4328ff(0x392)])return null;if(this['entry']['epoch']!==_0x5cef4e)return null;return this['entry']['tree'];}[_0x3ee7d6(0x3b6)](_0x57bb85,_0x266da0){const _0x220aab=_0x3ee7d6;this[_0x220aab(0x392)]={'tree':_0x57bb85,'epoch':this['epoch'],'capturedAtStep':_0x266da0};}['currentEpoch'](){const _0x11a3fd=_0x3ee7d6;return this[_0x11a3fd(0xdd)];}['reset'](){const _0x127b2a=_0x3ee7d6;this['entry']=null,this[_0x127b2a(0xdd)]=0x0;}};function _0x4017f0(_0x2c2f6c){const _0x158300=_0x3ee7d6;if(_0x2c2f6c['action']==='launch'||_0x2c2f6c[_0x158300(0x1ec)]===_0x158300(0x4c8)||_0x2c2f6c['action']===_0x158300(0x88b))return!![];if(_0x2c2f6c[_0x158300(0x1ec)]==='pressKey'&&_0x2c2f6c[_0x158300(0x2fe)]===_0x158300(0x2dd))return!![];if(_0x2c2f6c[_0x158300(0x1ec)]===_0x158300(0x454))return!![];if(_0x2c2f6c['action']===_0x158300(0x85c)&&_0x2c2f6c['into'])return!![];if(_0x2c2f6c[_0x158300(0x90b)])return!![];if(_0x2c2f6c['verifyProfileTransition'])return!![];if(_0x2c2f6c[_0x158300(0x636)]){if(_0x2c2f6c['verifyMutation'][_0x158300(0x248)]==='storage')return!![];const _0x1c5829=_0x2c2f6c['verifyMutation'][_0x158300(0x3f5)]['toUpperCase']();return _0x1c5829===_0x158300(0x2a0)||_0x1c5829==='PUT'||_0x1c5829==='PATCH'||_0x1c5829==='DELETE';}return![];}var _0x3f7b21=0x64;async function _0x1f590c(_0x2263df,_0x1cbe1e={}){const _0x1085b9=_0x3ee7d6;let _0x548340=_0x1cbe1e[_0x1085b9(0x94f)]??null;if(_0x548340===null){if(typeof _0x2263df['fetchSourceTree']!==_0x1085b9(0x8b5))return null;try{_0x548340=await _0x2263df[_0x1085b9(0x771)]();}catch{return null;}}if(!_0x548340)return null;const _0x519617=[];try{_0x4dba34(_0x548340,_0x519617,[]);}catch{return null;}if(_0x519617['length']===0x0)return null;return _0x1cbe1e['screenName']?{'nodes':_0x519617,'screenName':_0x1cbe1e[_0x1085b9(0x8b1)]}:{'nodes':_0x519617};}function _0x4dba34(_0x5a9b2e,_0xac64c7,_0xba66ae){const _0x5698ee=_0x3ee7d6;if(!_0x5a9b2e||typeof _0x5a9b2e!==_0x5698ee(0x5ab))return;const _0x574666=_0x3fb85c(_0x5a9b2e);if(_0x574666){const _0x1ac4d3=_0x23bc15(_0x5a9b2e)??'path:'+_0xba66ae[_0x5698ee(0x221)]('.'),_0x45e967=typeof _0x5a9b2e[_0x5698ee(0x85c)]===_0x5698ee(0x7fd)?_0x46d807(_0x5a9b2e[_0x5698ee(0x85c)]):void 0x0;_0xac64c7[_0x5698ee(0x496)]({'id':_0x1ac4d3,'bounds':_0x574666,'visible':_0x574666['w']>0x0&&_0x574666['h']>0x0,..._0x45e967?{'kind':_0x45e967}:{}});}const _0x2aab9f=Array['isArray'](_0x5a9b2e['children'])?_0x5a9b2e['children']:[];for(let _0x10d6b6=0x0;_0x10d6b6<_0x2aab9f[_0x5698ee(0x945)];_0x10d6b6++){_0x4dba34(_0x2aab9f[_0x10d6b6],_0xac64c7,[..._0xba66ae,_0x10d6b6]);}}function _0x3fb85c(_0xcc9f6a){const _0x5c7304=_0x3ee7d6,_0x18af54=_0xcc9f6a['rect'];if(!_0x18af54)return null;const _0x21cc8e=_0x21203a(_0x18af54['x']),_0x5ed46c=_0x21203a(_0x18af54['y']),_0x118fb6=_0x21203a(_0x18af54['width']),_0x128f5a=_0x21203a(_0x18af54[_0x5c7304(0x652)]);if(_0x21cc8e===null||_0x5ed46c===null||_0x118fb6===null||_0x128f5a===null)return null;return{'x':_0x21cc8e,'y':_0x5ed46c,'w':_0x118fb6,'h':_0x128f5a};}function _0x21203a(_0x59aaed){if(typeof _0x59aaed!=='number')return null;if(!Number['isFinite'](_0x59aaed))return null;return _0x59aaed;}function _0x23bc15(_0x12db60){const _0xdb00d4=_0x3ee7d6,_0x4e017a=_0x1d4a04(_0x12db60[_0xdb00d4(0x4d1)]);if(_0x4e017a)return _0x4e017a;const _0xf21283=_0x1d4a04(_0x12db60['label']);if(_0xf21283)return _0xf21283;const _0x54bfae=_0x1d4a04(_0x12db60[_0xdb00d4(0x84f)]);if(_0x54bfae)return _0x54bfae;return null;}function _0x1d4a04(_0x1cceb3){const _0x139bcf=_0x3ee7d6;if(typeof _0x1cceb3!==_0x139bcf(0x7fd))return null;if(_0x1cceb3[_0x139bcf(0x945)]===0x0)return null;return _0x1cceb3;}function _0x46d807(_0x515b1f){const _0x3894fd=_0x3ee7d6;if(_0x515b1f[_0x3894fd(0x83f)](_0x3894fd(0x34e)))return'Text';if(_0x515b1f[_0x3894fd(0x83f)](_0x3894fd(0x438)))return'Image';if(_0x515b1f['includes']('Button'))return'Button';if(_0x515b1f[_0x3894fd(0x83f)](_0x3894fd(0x44d))||_0x515b1f[_0x3894fd(0x83f)]('SecureText'))return'Input';return _0x3894fd(0x8a3);}function _0x10d648(_0x10280c,_0x508997){const _0x5c38b9=_0x3ee7d6;if(_0x10280c===void 0x0)return _0x508997;if(_0x508997===void 0x0)return _0x10280c;return Math[_0x5c38b9(0x4da)](_0x10280c,_0x508997);}function _0x3bfb27(_0x2c2dd){const _0xe8713b=_0x3ee7d6,{target:_0x38514b,..._0x1ec016}=_0x2c2dd;if(!_0x38514b)return _0x1ec016;const _0x4ac932={..._0x1ec016};switch(_0x4ac932[_0xe8713b(0x1ec)]){case'type':{const _0x4741bf=_0x4ac932['into'],_0x5aa828=_0x38514b[_0xe8713b(0x5d9)]??_0x38514b[_0xe8713b(0x9bb)];if(_0x4741bf===void 0x0&&(_0x5aa828!==void 0x0||_0x38514b[_0xe8713b(0x478)]!==void 0x0)){const _0x3da2af={};if(_0x5aa828!==void 0x0)_0x3da2af[_0xe8713b(0x5d9)]=_0x5aa828;_0x38514b['accessibilityLabel']!==void 0x0&&(_0x3da2af['accessibilityLabel']=_0x38514b[_0xe8713b(0x478)]),_0x4ac932[_0xe8713b(0x5fc)]=_0x3da2af;}_0x4ac932['fallbackText']===void 0x0&&_0x38514b['fallbackText']!==void 0x0&&(_0x4ac932['fallbackText']=_0x38514b[_0xe8713b(0x3ef)]);break;}case _0xe8713b(0x454):case'longPress':case'clearText':case _0xe8713b(0x69f):case _0xe8713b(0x85e):case'assertVisible':case _0xe8713b(0x9a2):{const _0x3db7c6=_0x38514b[_0xe8713b(0x5d9)]??_0x38514b[_0xe8713b(0x9bb)];_0x4ac932['text']===void 0x0&&_0x3db7c6!==void 0x0&&(_0x4ac932[_0xe8713b(0x5d9)]=_0x3db7c6);_0x4ac932['accessibilityLabel']===void 0x0&&_0x38514b['accessibilityLabel']!==void 0x0&&(_0x4ac932[_0xe8713b(0x478)]=_0x38514b[_0xe8713b(0x478)]);_0x4ac932[_0xe8713b(0x1ec)]!==_0xe8713b(0x425)&&_0x4ac932[_0xe8713b(0x1ec)]!==_0xe8713b(0x9a2)&&_0x4ac932[_0xe8713b(0x3ef)]===void 0x0&&_0x38514b['fallbackText']!==void 0x0&&(_0x4ac932['fallbackText']=_0x38514b[_0xe8713b(0x3ef)]);_0x4ac932[_0xe8713b(0x85c)]===void 0x0&&_0x38514b[_0xe8713b(0x1a1)]!==void 0x0&&(_0x4ac932[_0xe8713b(0x85c)]=_0x38514b[_0xe8713b(0x1a1)]);break;}default:break;}return _0x4ac932;}var _0x3351da=0x5*0x3c*0x3e8,_0x4463eb=0x3,_0x3a1f24=class{constructor(_0xf1de61,_0x188259,_0x2a1e8c,_0x2b4324={}){const _0x128ff0=_0x3ee7d6;this[_0x128ff0(0x5e9)]=_0xf1de61,this['apps']=_0x188259,this[_0x128ff0(0x90d)]=_0x2a1e8c,this[_0x128ff0(0x217)]=_0x2b4324;}async['run'](_0x3cf1aa,_0x19bae5){const _0x4404fc=_0x3ee7d6,_0x153784=_0x19bae5??this['opts']['runContext'],_0x18f032=Date['now'](),_0x534ed8=_0x3cf1aa['timeoutMs']??_0x3351da,_0x91ca5=_0x3cf1aa['steps']['map'](_0x4173b3=>_0x3bfb27(_0x4173b3)),_0xe1eec9=_0xf298ab(this['opts'][_0x4404fc(0x1f7)]??process[_0x4404fc(0x346)](),_0x4404fc(0x8b8)),_0x176e45=[],_0x1f5bf5=[],_0x3285ab=new Set(),_0x278c22=new _0xac47c2(),_0x8f74a6=!this[_0x4404fc(0x217)]['disableAXCache'],_0x3e89b0=!this['opts'][_0x4404fc(0x5e7)],_0x26ab35=_0x8f74a6?{'axCache':_0x278c22,'disableBulkActions':!_0x3e89b0}:{'disableBulkActions':!_0x3e89b0},_0x524ae8=!this['opts']['disableScopeRegression']&&_0x153784!==void 0x0;let _0x34188b=null;const _0x2b458f=new Set();try{const _0x1892fe=await this[_0x4404fc(0x628)](_0xe1eec9);for(const _0x9171e8 of _0x1892fe){_0x2b458f['add'](this[_0x4404fc(0x375)](_0x9171e8));}}catch{}let _0x1620c7;if(!this[_0x4404fc(0x217)]['skipEnsureAwake']){_0x1620c7=await this[_0x4404fc(0x90d)]['ensureAwake']();if(!_0x1620c7[_0x4404fc(0x12f)]){if(_0x4404fc(0x35b)!==_0x4404fc(0x985))return{'flow':_0x3cf1aa['name'],'flowId':_0x3cf1aa['flowId'],'success':![],'totalDurationMs':Date[_0x4404fc(0x3d1)]()-_0x18f032,'steps':[],'runtimeErrors':[],'awake':_0x1620c7};else _0x371e79[_0x4404fc(0x496)]({'location':_0x19d1d6['file']['relPath']+':'+_0x3e87ee[_0x4404fc(0xf5)],'key':_0x42899d[_0x4404fc(0x84f)]});}}const _0x135d03=this[_0x4404fc(0x217)][_0x4404fc(0x147)]?null:this[_0x4404fc(0x90d)]['keepAliveHeartbeat']({'intervalMs':0x5dc});try{if(_0x3cf1aa['beforeAll']?.[_0x4404fc(0x1e2)]){const _0x4d9c8f=await this['apps']['activateApp'](_0x3cf1aa['beforeAll']['ensureLaunched']);if(!_0x4d9c8f['success']){const _0x31a4b3=await this[_0x4404fc(0x7dd)]['launchApp'](_0x3cf1aa[_0x4404fc(0x1d9)][_0x4404fc(0x1e2)]);if(!_0x31a4b3['success'])return{'flow':_0x3cf1aa[_0x4404fc(0x4d1)],'flowId':_0x3cf1aa['flowId'],'success':![],'totalDurationMs':Date[_0x4404fc(0x3d1)]()-_0x18f032,'steps':[{'stepIndex':-0x1,'action':_0x4404fc(0x82d),'success':![],'durationMs':Date['now']()-_0x18f032,'error':_0x31a4b3[_0x4404fc(0x125)]??_0x4d9c8f['error']??_0x4404fc(0x480)}],'runtimeErrors':[],'awake':_0x1620c7};}}for(let _0x3be4b3=0x0;_0x3be4b3<_0x91ca5[_0x4404fc(0x945)];_0x3be4b3++){if(Date[_0x4404fc(0x3d1)]()-_0x18f032>_0x534ed8){_0x176e45['push']({'stepIndex':_0x3be4b3,'action':_0x91ca5[_0x3be4b3][_0x4404fc(0x1ec)],'success':![],'durationMs':0x0,'error':'Flow\x20timeout\x20('+_0x534ed8+_0x4404fc(0x342)+_0x3be4b3+'.',..._0xcf7605(_0x91ca5[_0x3be4b3])});break;}const _0x2b4e53=Date['now'](),_0x16218f=_0x91ca5[_0x3be4b3];let _0x4f4e87;if(this['opts'][_0x4404fc(0x2c7)])try{const _0x2e4c0d=await this[_0x4404fc(0x217)][_0x4404fc(0x2c7)]['checkAndHandle']();_0x2e4c0d['handled']&&_0x2e4c0d[_0x4404fc(0x449)]&&(_0x4f4e87={'title':_0x2e4c0d[_0x4404fc(0x449)]['title'],'action':_0x2e4c0d['dialog'][_0x4404fc(0x1ec)]});}catch{}_0x8f74a6&&_0x4017f0(_0x16218f)&&_0x278c22['invalidate']();const _0x4713ce=await this[_0x4404fc(0x255)](_0x16218f,_0x26ab35),_0x1c6cce=Date['now']()-_0x2b4e53;_0x8f74a6&&typeof _0x4713ce['details']?.['retryAfterSwipes']===_0x4404fc(0x513)&&_0x4713ce[_0x4404fc(0x220)]['retryAfterSwipes']>0x0&&_0x278c22['invalidate']();const _0x5b66a3=[],_0x178c6a=[],_0x5903f3=[];let _0x5a42f1=![];try{const _0x4e13c4=await this[_0x4404fc(0x628)](_0xe1eec9);for(const _0x2fad95 of _0x4e13c4){const _0x1ec1f0=this[_0x4404fc(0x375)](_0x2fad95);if(!_0x2b458f['has'](_0x1ec1f0)){if(_0x4404fc(0x4ce)!=='dacNF')return{'success':![],'matchCount':_0x265042[_0x4404fc(0x945)],'element':_0x4ce49e,'error':_0x1d48af['error']??_0x4404fc(0x432),'batched':![]};else{_0x2b458f['add'](_0x1ec1f0),_0x5b66a3[_0x4404fc(0x496)]({'message':_0x2fad95[_0x4404fc(0x92e)],'stack':_0x2fad95[_0x4404fc(0x209)]}),_0x1f5bf5['push'](_0x2fad95);const _0x1012fc=this[_0x4404fc(0x4aa)](_0x2fad95,_0x3cf1aa[_0x4404fc(0x416)]);if(_0x1012fc['objective'])_0x178c6a['push'](_0x1012fc[_0x4404fc(0x89a)]);if(_0x1012fc['witness'])_0x5903f3['push'](_0x1012fc['witness']);if(_0x1012fc[_0x4404fc(0x53a)])_0x5a42f1=!![];}}}}catch{}let _0x320f2f;const _0x1e4914=async _0x4e0e44=>{const _0x4159b4=_0x4404fc;if(!_0x4e0e44&&_0x320f2f!==void 0x0)return _0x320f2f;if(!_0x4e0e44&&_0x8f74a6){const _0x179244=_0x278c22[_0x4159b4(0x47a)](_0x278c22[_0x4159b4(0x914)]());if(_0x179244)return _0x320f2f=_0x179244,_0x179244;}let _0x2e720a=null;try{if('tIRul'!=='CuvFW')_0x2e720a=await this[_0x4159b4(0x5e9)]['fetchSourceTree']();else return _0x5739ce({'name':_0x4159b4(0x4bd),'status':'failed','detail':_0x1e163e['detail'],'details':{'error':_0x450064['error']}}),_0x59ef45(_0x3f42d4,_0x3da560,_0x17d1fa[_0x4159b4(0x5de)]??_0xcc1f27);}catch{_0x2e720a=null;}return _0x2e720a&&_0x8f74a6&&_0x278c22['set'](_0x2e720a,_0x3be4b3),_0x320f2f=_0x2e720a,_0x2e720a;},_0x53301c=[];if(_0x5a42f1&&!this[_0x4404fc(0x217)][_0x4404fc(0x9ad)]){const _0x543886=_0x524ae8?await _0x1e4914(!![]):null,_0x15c425=await this[_0x4404fc(0x8f3)](_0x543886)[_0x4404fc(0x4ba)](()=>[]);for(const _0x2e51aa of _0x15c425){_0x53301c['push']({'kind':'error-banner','message':'error-banner:\x20'+_0x2e51aa['label'],'detail':_0x4404fc(0x310)+_0x2e51aa['matchedSignal']+'\x20text='+_0x1ac3bd(_0x2e51aa[_0x4404fc(0x5d9)],0xc8),'flowId':_0x3cf1aa['flowId']});}}const _0x1c5060=await this[_0x4404fc(0x264)](_0x16218f,_0x3cf1aa[_0x4404fc(0x416)]),_0x4b8af3=_0x4f4e87?{'permissionDialogHandled':_0x4f4e87,..._0x4713ce['details']??{}}:_0x4713ce[_0x4404fc(0x220)],_0x5000b2=[...(_0x4713ce['objectiveSignals']??[])[_0x4404fc(0x986)](_0x347d7b=>({..._0x347d7b,'flowId':_0x347d7b['flowId']??_0x3cf1aa['flowId']})),..._0x178c6a],_0x56f8b3=[];if(_0x524ae8){const _0x3771e7=await _0x1e4914(![]),_0x59bae4=_0x3771e7===null?null:await _0x1f590c(this[_0x4404fc(0x5e9)],{'tree':_0x3771e7});if(_0x34188b&&_0x59bae4){const _0x1812a7=this['defaultExpectedRegion'](_0x34188b);try{if('UbIkg'!=='UbIkg')_0x289473[_0x4404fc(0x496)](_0x4404fc(0x855)+_0x452e7f[_0x4404fc(0x221)](',\x20')+_0x4404fc(0x193));else{const _0x374eb6=_0x536ba2(_0x34188b,_0x59bae4,_0x1812a7);_0x374eb6['warning']&&_0x56f8b3['push']({'kind':_0x4404fc(0x6a4),'message':_0x374eb6['warning'],'detail':_0x1391af(_0x374eb6[_0x4404fc(0x779)]),'flowId':_0x3cf1aa['flowId']});}}catch{}}_0x34188b=_0x59bae4;}const _0x21055c=[...(_0x4713ce['witnesses']??[])[_0x4404fc(0x986)](_0x3f5362=>({..._0x3f5362,'flowId':_0x3f5362[_0x4404fc(0x416)]??_0x3cf1aa['flowId']})),..._0x5903f3,..._0x1c5060[_0x4404fc(0x3b9)],..._0x53301c,..._0x56f8b3],_0x4d82c4=_0x4713ce['reloadRecoveryWitness']??_0x1c5060[_0x4404fc(0x1cd)],_0x45288e=!_0x4713ce['success']||_0x3be4b3===_0x91ca5[_0x4404fc(0x945)]-0x1,_0x3ea486=this[_0x4404fc(0x4ad)]({'objectiveSignals':_0x5000b2,'witnesses':_0x21055c,'reloadRecoveryWitness':_0x4d82c4,'details':_0x4b8af3,'isFinalStep':_0x45288e}),_0x45cc66=_0x153784?.['affectedFlowNames']?.[_0x4404fc(0x21c)](_0x3cf1aa[_0x4404fc(0x4d1)])??![],_0x17ba26=(_0x3ea486!==void 0x0||_0x45cc66)&&!this[_0x4404fc(0x217)][_0x4404fc(0x9ad)];let _0x1664d1;if(_0x17ba26){if('Qrfrp'===_0x4404fc(0x952)){const _0x56665c=await this['screen']['screenshot']()[_0x4404fc(0x4ba)](()=>void 0x0);_0x56665c?.['success']&&_0x56665c['base64']&&(_0x1664d1=_0x56665c['base64'],_0x153784?.['store']&&(await _0x153784[_0x4404fc(0x904)][_0x4404fc(0x860)](_0x153784[_0x4404fc(0x297)],_0x3cf1aa[_0x4404fc(0x4d1)],_0x3be4b3,_0x56665c[_0x4404fc(0x589)])['catch'](()=>void 0x0),_0x3285ab[_0x4404fc(0x5c1)](_0x3be4b3)));}else _0x2f46e9=_0x4f249d,_0x1b5b94=!![];}const _0x3481e4=_0x3ea486??(_0x1664d1!==void 0x0&&_0x45cc66?'diff-affected':void 0x0),_0x57c910=_0x3481e4&&_0x1664d1!==void 0x0?{..._0x4b8af3??{},'screenshotReason':_0x3481e4}:_0x4b8af3;_0x176e45['push']({'stepIndex':_0x3be4b3,'action':_0x16218f['action'],'success':_0x4713ce['success'],'durationMs':_0x1c6cce,'error':_0x4713ce['error'],'screenshotBase64':_0x1664d1,'runtimeErrorsCaptured':_0x5b66a3[_0x4404fc(0x945)]>0x0?_0x5b66a3:void 0x0,'details':_0x57c910,'objectiveSignals':_0x5000b2['length']>0x0?_0x5000b2:void 0x0,'witnesses':_0x21055c[_0x4404fc(0x945)]>0x0?_0x21055c:void 0x0,'reloadRecoveryWitness':_0x4d82c4,..._0xcf7605(_0x16218f)});if(!_0x4713ce['success'])break;}}finally{_0x135d03?.['stop']();}const _0x514e5a=[],_0x1d1688=[],_0x1639d3=[];for(const _0x4113b1 of _0x176e45){if(_0x4113b1[_0x4404fc(0x45f)]?.[_0x4404fc(0x945)])_0x514e5a[_0x4404fc(0x496)](..._0x4113b1['objectiveSignals']);if(_0x4113b1['witnesses']?.['length'])_0x1d1688[_0x4404fc(0x496)](..._0x4113b1['witnesses']);if(_0x4113b1['reloadRecoveryWitness'])_0x1639d3[_0x4404fc(0x496)](_0x4113b1['reloadRecoveryWitness']);}const _0x271193=_0x91ca5['length']>0x0&&_0x176e45['length']===_0x91ca5['length']&&_0x176e45[_0x4404fc(0x971)](_0x5f3e96=>_0x5f3e96[_0x4404fc(0x42d)]),_0x444cf5=_0x271193&&_0x514e5a[_0x4404fc(0x945)]===0x0;return{'flow':_0x3cf1aa['name'],'flowId':_0x3cf1aa['flowId'],'success':_0x444cf5,'totalDurationMs':Date['now']()-_0x18f032,'steps':_0x176e45,'runtimeErrors':_0x1f5bf5,'awake':_0x1620c7,'objectiveSignals':_0x514e5a['length']>0x0?_0x514e5a:void 0x0,'witnesses':_0x1d1688[_0x4404fc(0x945)]>0x0?_0x1d1688:void 0x0,'reloadRecoveryWitnesses':_0x1639d3[_0x4404fc(0x945)]>0x0?_0x1639d3:void 0x0,'screenshotsAvailable':_0x3285ab[_0x4404fc(0x1bb)]};}async[_0x3ee7d6(0x919)](_0x3bde6a,_0xa1540d){const _0x3b48c6=_0x3ee7d6,_0x3f32ba=Date[_0x3b48c6(0x3d1)](),_0x294a36=[],_0x151952=[];let _0x3919aa=null;for(let _0x16ea1f=0x0;_0x16ea1f<_0x3bde6a['flows'][_0x3b48c6(0x945)];_0x16ea1f++){const _0x438f4c=_0x3bde6a['flows'][_0x16ea1f];if(_0x16ea1f>0x0&&_0x3919aa===null){const _0x3d1762=_0x3bde6a[_0x3b48c6(0x10a)][_0x16ea1f-0x1]??[],_0x322c01=[];let _0x5a25aa=![];for(const _0x467c51 of _0x3d1762){const _0x45ec5a=_0x467c51['triggerLabel']??_0x467c51['toRoute'],_0x334af2={'action':'tap','text':_0x45ec5a},_0x5d4908=await this[_0x3b48c6(0x255)](_0x334af2);if(!_0x5d4908['success']){_0x5a25aa=!![];break;}_0x322c01[_0x3b48c6(0x496)](_0x467c51);}_0x151952['push'](_0x322c01);if(_0x5a25aa){_0x294a36[_0x3b48c6(0x496)]({'flow':_0x438f4c['name'],'flowId':_0x438f4c[_0x3b48c6(0x416)],'success':![],'totalDurationMs':0x0,'steps':[{'stepIndex':-0x1,'action':'chain-bridge','success':![],'durationMs':0x0,'error':'Chain\x20bridge\x20tap\x20failed\x20before\x20flow\x20'+_0x438f4c[_0x3b48c6(0x4d1)]}],'runtimeErrors':[],'chainId':_0x3bde6a[_0x3b48c6(0x39b)],'chainPosition':_0x16ea1f}),_0x3919aa=_0x16ea1f;continue;}}else{if(_0x16ea1f>0x0){if('XBDhj'!=='bOODX')_0x151952[_0x3b48c6(0x496)](null);else return{'ok':![],'error':'VideoRecorder\x20already\x20stopped;\x20construct\x20a\x20fresh\x20recorder.'};}}if(_0x3919aa!==null){_0x294a36[_0x3b48c6(0x496)]({'flow':_0x438f4c[_0x3b48c6(0x4d1)],'flowId':_0x438f4c['flowId'],'success':![],'totalDurationMs':0x0,'steps':[],'runtimeErrors':[],'chainId':_0x3bde6a[_0x3b48c6(0x39b)],'chainPosition':_0x16ea1f,'skippedDueToChainAbort':!![]});continue;}const _0x28b36a=await this[_0x3b48c6(0x725)](_0x438f4c,_0xa1540d);_0x28b36a['chainId']=_0x3bde6a[_0x3b48c6(0x39b)],_0x28b36a[_0x3b48c6(0x5d8)]=_0x16ea1f,_0x294a36[_0x3b48c6(0x496)](_0x28b36a);const _0x441c15=!_0x28b36a['success']||(_0x28b36a[_0x3b48c6(0x45f)]?.[_0x3b48c6(0x945)]??0x0)>0x0;if(_0x441c15){_0x3919aa=_0x16ea1f;const _0x2fa327=_0x438f4c['beforeAll']?.[_0x3b48c6(0x1e2)]??_0x3bde6a['flows'][0x0]['beforeAll']?.['ensureLaunched'];_0x2fa327&&(await this['apps'][_0x3b48c6(0x7f6)](_0x2fa327)[_0x3b48c6(0x4ba)](()=>void 0x0),await this['apps']['launchApp'](_0x2fa327)[_0x3b48c6(0x4ba)](()=>void 0x0));}}const _0x5f5852=_0x3919aa===null&&_0x294a36['every'](_0x3426e5=>_0x3426e5[_0x3b48c6(0x42d)]);return{'chainId':_0x3bde6a['chainId'],'success':_0x5f5852,'totalDurationMs':Date[_0x3b48c6(0x3d1)]()-_0x3f32ba,'flowResults':_0x294a36,'bridgeHopsRun':_0x151952,'abortedAtFlowIndex':_0x3919aa};}async['runStep'](_0x11e38f,_0x167e2f){const _0x514d1b=_0x3ee7d6;switch(_0x11e38f['action']){case _0x514d1b(0x96b):{const _0x25ffd7=await this[_0x514d1b(0x7dd)]['launchApp'](_0x11e38f['bundleId']);return{'success':_0x25ffd7[_0x514d1b(0x42d)],'error':_0x25ffd7[_0x514d1b(0x125)],'details':{'transport':_0x25ffd7[_0x514d1b(0x727)]}};}case'terminate':{const _0x2183bd=await this['apps'][_0x514d1b(0x7f6)](_0x11e38f[_0x514d1b(0x708)]);return{'success':_0x2183bd[_0x514d1b(0x42d)],'error':_0x2183bd[_0x514d1b(0x125)],'details':{'transport':_0x2183bd[_0x514d1b(0x727)]}};}case _0x514d1b(0x454):{const _0x548a26=async _0x5ca770=>{const _0x2075bc=_0x514d1b;if(_0x167e2f?.[_0x2075bc(0x759)]&&typeof this['screen']['findElementFromTree']==='function'&&typeof this[_0x2075bc(0x5e9)][_0x2075bc(0x15c)]===_0x2075bc(0x8b5)){const _0x41cb2a=_0x167e2f['axCache']['get'](_0x167e2f[_0x2075bc(0x759)][_0x2075bc(0x914)]());if(_0x41cb2a){if(_0x2075bc(0x973)===_0x2075bc(0x973)){const _0x1df22f=this[_0x2075bc(0x5e9)]['findElementFromTree'](_0x41cb2a,_0x5ca770),_0x576cd6=_0x5ca770['index']??0x0,_0x1937ae=_0x1df22f[_0x576cd6];if(_0x1937ae?.[_0x2075bc(0x578)]){const _0x187331=_0x1937ae[_0x2075bc(0x578)],_0x1a60be=_0x187331['x']+_0x187331[_0x2075bc(0x5e2)]/0x2,_0x3b64de=_0x187331['y']+_0x187331['height']/0x2,_0x5f49d9=await this[_0x2075bc(0x5e9)][_0x2075bc(0x454)](_0x1a60be,_0x3b64de,![]);if(_0x5f49d9['success'])return{'success':!![],'details':{'element':{'type':_0x1937ae[_0x2075bc(0x85c)]??'unknown','label':_0x1937ae[_0x2075bc(0x10d)]??_0x1937ae['name']??'','bounds':_0x187331},'fromCache':!![]}};_0x167e2f['axCache'][_0x2075bc(0x46a)]();}}else{_0x601a45['stop']();return;}}const {result:_0x8f4b54}=await this['screen']['findAndTapReturningTree'](_0x5ca770);if(_0x8f4b54[_0x2075bc(0x42d)])return{'success':!![],'details':{'element':_0x8f4b54[_0x2075bc(0x8ff)]}};let _0xd2ce10=_0x8f4b54,_0x303d78=_0x8f4b54['matchCount'];for(let _0x57575b=0x0;_0x57575b<_0x4463eb;_0x57575b++){const _0x58e63a=await this[_0x2075bc(0x5e9)]['swipe']({'direction':'up'});if(!_0x58e63a['success'])break;const _0x17eb66=await this['screen'][_0x2075bc(0x94a)](_0x5ca770);if(_0x17eb66[_0x2075bc(0x42d)])return{'success':!![],'details':{'element':_0x17eb66[_0x2075bc(0x8ff)],'retryAfterSwipes':_0x57575b+0x1}};_0xd2ce10=_0x17eb66,_0x303d78=_0x10d648(_0x303d78,_0x17eb66[_0x2075bc(0x362)]);}return{'success':![],'error':_0xd2ce10[_0x2075bc(0x125)]??_0x2075bc(0x1a2),'details':{'availableElements':_0xd2ce10['availableElements'],'matchCount':_0x303d78}};}const _0x2c0c2d=await this['screen']['findAndTap'](_0x5ca770);if(_0x2c0c2d[_0x2075bc(0x42d)])return{'success':!![],'details':{'element':_0x2c0c2d['element']}};let _0x1f7f89=_0x2c0c2d,_0x5f2a7c=_0x2c0c2d['matchCount'];for(let _0x55f017=0x0;_0x55f017<_0x4463eb;_0x55f017++){const _0xdf388d=await this[_0x2075bc(0x5e9)]['swipe']({'direction':'up'});if(!_0xdf388d[_0x2075bc(0x42d)])break;const _0x20a812=await this[_0x2075bc(0x5e9)]['findAndTap'](_0x5ca770);if(_0x20a812[_0x2075bc(0x42d)])return'KoMYX'!==_0x2075bc(0x846)?null:{'success':!![],'details':{'element':_0x20a812['element'],'retryAfterSwipes':_0x55f017+0x1}};_0x1f7f89=_0x20a812,_0x5f2a7c=_0x10d648(_0x5f2a7c,_0x20a812[_0x2075bc(0x362)]);}return{'success':![],'error':_0x1f7f89['error']??'Element\x20not\x20found','details':{'availableElements':_0x1f7f89[_0x2075bc(0x8e2)],'matchCount':_0x5f2a7c}};},_0x12bb5a={'text':_0x11e38f['text'],'accessibilityLabel':_0x11e38f[_0x514d1b(0x478)],'type':_0x11e38f['type'],'index':_0x11e38f[_0x514d1b(0x1c4)]},_0x2d0b51=await _0x548a26(_0x12bb5a);if(_0x2d0b51[_0x514d1b(0x42d)])return _0x2d0b51;if(_0x2d0b51[_0x514d1b(0x220)]?.[_0x514d1b(0x362)]===0x0&&_0x11e38f[_0x514d1b(0x3ef)]!==void 0x0&&_0x11e38f[_0x514d1b(0x3ef)]!==_0x11e38f['text']){const _0x7eee82=await _0x548a26({'text':_0x11e38f['fallbackText'],'index':_0x11e38f[_0x514d1b(0x1c4)]});if(_0x7eee82[_0x514d1b(0x42d)])return{..._0x7eee82,'details':{..._0x7eee82['details'],'resolvedViaFallback':!![]}};}return _0x2d0b51;}case _0x514d1b(0x356):{if(_0x514d1b(0x39a)!==_0x514d1b(0x8cb)){const _0x49ada4=(_0x11e38f[_0x514d1b(0x19b)]??'device')===_0x514d1b(0x863),_0x5404cd=await this['screen']['tap'](_0x11e38f['x'],_0x11e38f['y'],_0x49ada4);return{'success':_0x5404cd[_0x514d1b(0x42d)],'error':_0x5404cd['error'],'details':{'tappedAt':_0x5404cd['tappedAt']}};}else return _0xaa5d1(_0x4fd6ad+':\x20existing\x20config\x20at\x20'+_0x5abdfc+'\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20'+(_0x3229d2[_0x514d1b(0x246)](_0x2f8b21)?'array':typeof _0x49dc14)+_0x514d1b(0x4a5)),![];}case _0x514d1b(0x78b):{const _0xbf4c5a=async _0x4b4168=>{const _0xb9e2a3=_0x514d1b,_0x3c65db=await this['screen']['longPressElement'](_0x4b4168,_0x11e38f[_0xb9e2a3(0x8ad)]??0x3e8);if(_0x3c65db[_0xb9e2a3(0x42d)])return{'success':!![],'details':{'element':_0x3c65db[_0xb9e2a3(0x8ff)]}};let _0x4f51e7=_0x3c65db,_0x17b860=_0x3c65db[_0xb9e2a3(0x362)];for(let _0x2bbf49=0x0;_0x2bbf49<_0x4463eb;_0x2bbf49++){const _0x2b9399=await this['screen'][_0xb9e2a3(0x81d)]({'direction':'up'});if(!_0x2b9399[_0xb9e2a3(0x42d)])break;const _0x92022=await this['screen'][_0xb9e2a3(0x5f7)](_0x4b4168,_0x11e38f[_0xb9e2a3(0x8ad)]??0x3e8);if(_0x92022[_0xb9e2a3(0x42d)])return{'success':!![],'details':{'element':_0x92022[_0xb9e2a3(0x8ff)],'retryAfterSwipes':_0x2bbf49+0x1}};_0x4f51e7=_0x92022,_0x17b860=_0x10d648(_0x17b860,_0x92022[_0xb9e2a3(0x362)]);}return{'success':![],'error':_0x4f51e7[_0xb9e2a3(0x125)]??_0xb9e2a3(0x1a2),'details':{'matchCount':_0x17b860}};},_0x47a1e6={'text':_0x11e38f['text'],'accessibilityLabel':_0x11e38f[_0x514d1b(0x478)]},_0x226cb5=await _0xbf4c5a(_0x47a1e6);if(_0x226cb5[_0x514d1b(0x42d)])return _0x226cb5;if(_0x226cb5[_0x514d1b(0x220)]?.[_0x514d1b(0x362)]===0x0&&_0x11e38f[_0x514d1b(0x3ef)]!==void 0x0&&_0x11e38f['fallbackText']!==_0x11e38f['text']){const _0x51801b=await _0xbf4c5a({'text':_0x11e38f[_0x514d1b(0x3ef)]});if(_0x51801b['success'])return{..._0x51801b,'details':{..._0x51801b['details'],'resolvedViaFallback':!![]}};}return _0x226cb5;}case _0x514d1b(0x85c):{if(_0x11e38f[_0x514d1b(0x5fc)]){const _0xed3cf5=_0x11e38f['into']['text'],_0x20caf9=_0x11e38f[_0x514d1b(0x3ef)]!==void 0x0&&_0x11e38f['fallbackText']!==_0xed3cf5?_0x11e38f['fallbackText']:void 0x0,_0x45bb50=!(_0x167e2f?.[_0x514d1b(0x5e7)]===!![])&&typeof this[_0x514d1b(0x5e9)][_0x514d1b(0x8d9)]===_0x514d1b(0x8b5);if(_0x45bb50){let _0x15bce2=await this[_0x514d1b(0x5e9)]['typeIntoField']({'text':_0xed3cf5,'accessibilityLabel':_0x11e38f[_0x514d1b(0x5fc)]['accessibilityLabel']},_0x11e38f['value']);if(_0x15bce2['matchCount']===0x0&&_0x20caf9!==void 0x0){if('DTXGK'!==_0x514d1b(0x54a)){const _0x159302=_0x108786(_0xa051ca);if(_0x159302)return _0x159302;}else _0x15bce2=await this['screen']['typeIntoField']({'text':_0x20caf9},_0x11e38f[_0x514d1b(0x84f)]);}return _0x15bce2[_0x514d1b(0x42d)]&&_0x167e2f?.['axCache']&&_0x167e2f[_0x514d1b(0x759)]['invalidate'](),{'success':_0x15bce2[_0x514d1b(0x42d)],'error':_0x15bce2['error'],'details':{'element':_0x15bce2[_0x514d1b(0x8ff)],'batched':_0x15bce2[_0x514d1b(0x689)]}};}let _0x5703d1=await this[_0x514d1b(0x5e9)]['findAndTap']({'text':_0xed3cf5,'accessibilityLabel':_0x11e38f['into']['accessibilityLabel']});_0x5703d1[_0x514d1b(0x362)]===0x0&&_0x20caf9!==void 0x0&&(_0x5703d1=await this[_0x514d1b(0x5e9)]['findAndTap']({'text':_0x20caf9}));if(!_0x5703d1[_0x514d1b(0x42d)])return{'success':![],'error':_0x5703d1[_0x514d1b(0x125)]??'Could\x20not\x20focus\x20target\x20field\x20for\x20type','details':{'availableElements':_0x5703d1[_0x514d1b(0x8e2)]}};if(_0x167e2f?.[_0x514d1b(0x759)])_0x167e2f['axCache'][_0x514d1b(0x46a)]();}const _0x126e72=await this['screen']['type'](_0x11e38f['value']);return{'success':_0x126e72['success'],'error':_0x126e72['error']};}case _0x514d1b(0x425):{const _0x489881=await this[_0x514d1b(0x5e9)]['clearText']({'text':_0x11e38f['text'],'accessibilityLabel':_0x11e38f[_0x514d1b(0x478)]});return{'success':_0x489881['success'],'error':_0x489881['error']};}case'swipe':{const _0x215ad6=await this['screen'][_0x514d1b(0x81d)]({'direction':_0x11e38f[_0x514d1b(0x41f)],'from':_0x11e38f[_0x514d1b(0x70f)],'distancePx':_0x11e38f['distancePx'],'coordinateSource':'device'});return{'success':_0x215ad6[_0x514d1b(0x42d)],'error':_0x215ad6['error'],'details':{'from':_0x215ad6[_0x514d1b(0x70f)],'to':_0x215ad6['to']}};}case'scrollTo':{const _0x5ad6ac={'maxSwipes':_0x11e38f['maxSwipes'],'direction':_0x11e38f['direction']};let _0x4c2938=await this[_0x514d1b(0x5e9)][_0x514d1b(0x8c7)]({'text':_0x11e38f[_0x514d1b(0x5d9)],'accessibilityLabel':_0x11e38f['accessibilityLabel']},_0x5ad6ac),_0x29f4e4=![];if(_0x4c2938[_0x514d1b(0x362)]===0x0&&_0x11e38f[_0x514d1b(0x3ef)]!==void 0x0&&_0x11e38f[_0x514d1b(0x3ef)]!==_0x11e38f['text']){const _0x2aef30=await this['screen'][_0x514d1b(0x8c7)]({'text':_0x11e38f[_0x514d1b(0x3ef)]},_0x5ad6ac);_0x2aef30[_0x514d1b(0x42d)]&&(_0x4c2938=_0x2aef30,_0x29f4e4=!![]);}return{'success':_0x4c2938[_0x514d1b(0x42d)],'error':_0x4c2938['error'],'details':{'swipes':_0x4c2938['swipes'],'element':_0x4c2938[_0x514d1b(0x8ff)],..._0x29f4e4?{'resolvedViaFallback':!![]}:{}}};}case _0x514d1b(0x85e):{if('gIvXF'==='gIvXF'){const _0x4a178b={'timeoutMs':_0x11e38f[_0x514d1b(0x5aa)],'disappear':_0x11e38f[_0x514d1b(0x44b)]};let _0x32d3fb=await this['screen'][_0x514d1b(0x85e)]({'text':_0x11e38f[_0x514d1b(0x5d9)],'accessibilityLabel':_0x11e38f['accessibilityLabel'],'type':_0x11e38f['type']},_0x4a178b),_0x35e290=![];if(!_0x32d3fb[_0x514d1b(0x42d)]&&_0x11e38f[_0x514d1b(0x44b)]!==!![]&&_0x11e38f[_0x514d1b(0x3ef)]!==void 0x0&&_0x11e38f[_0x514d1b(0x3ef)]!==_0x11e38f['text']){const _0x1ea4ea=await this['screen'][_0x514d1b(0x85e)]({'text':_0x11e38f[_0x514d1b(0x3ef)]},_0x4a178b);_0x1ea4ea[_0x514d1b(0x42d)]&&(_0x32d3fb=_0x1ea4ea,_0x35e290=!![]);}return{'success':_0x32d3fb['success'],'error':_0x32d3fb['error'],'details':{'elapsedMs':_0x32d3fb['elapsedMs'],'found':_0x32d3fb['found'],..._0x35e290?{'resolvedViaFallback':!![]}:{}}};}else return _0x1915ba(_0x514d1b(0x10c),_0x494024);}case _0x514d1b(0x4de):{if(_0x514d1b(0x324)==='bcJQg'){const _0x2bb334=async _0x6f0d4d=>{const _0x3d51db=_0x514d1b;if(_0x167e2f?.[_0x3d51db(0x759)]&&typeof this[_0x3d51db(0x5e9)]['findElementFromTree']===_0x3d51db(0x8b5)){const _0x2584ac=_0x167e2f[_0x3d51db(0x759)][_0x3d51db(0x47a)](_0x167e2f[_0x3d51db(0x759)]['currentEpoch']());if(_0x2584ac){const _0x474737=this[_0x3d51db(0x5e9)]['findElementFromTree'](_0x2584ac,_0x6f0d4d),_0xfb3dc9=_0x474737[0x0];if(_0xfb3dc9?.['rect'])return{'success':!![],'details':{'element':{'type':_0xfb3dc9['type']??'unknown','label':_0xfb3dc9['label']??_0xfb3dc9['name']??'','bounds':_0xfb3dc9[_0x3d51db(0x578)]},'fromCache':!![]}};}}if(_0x167e2f?.[_0x3d51db(0x759)]&&typeof this[_0x3d51db(0x5e9)]['fetchSourceTree']===_0x3d51db(0x8b5)&&typeof this[_0x3d51db(0x5e9)][_0x3d51db(0x6a3)]==='function'){const _0x53a12a=await this[_0x3d51db(0x5e9)]['fetchSourceTree']();if(_0x53a12a){_0x167e2f[_0x3d51db(0x759)]['set'](_0x53a12a,_0x167e2f[_0x3d51db(0x759)][_0x3d51db(0x914)]());const _0x5daa51=this['screen']['findElementFromTree'](_0x53a12a,_0x6f0d4d),_0x11e6fe=_0x5daa51[0x0];if(_0x11e6fe?.[_0x3d51db(0x578)])return{'success':!![],'details':{'element':{'type':_0x11e6fe[_0x3d51db(0x85c)]??_0x3d51db(0x3de),'label':_0x11e6fe[_0x3d51db(0x10d)]??_0x11e6fe[_0x3d51db(0x4d1)]??'','bounds':_0x11e6fe['rect']}}};return{'success':![],'error':'assertVisible:\x20element\x20not\x20visible:\x20'+JSON['stringify'](_0x6f0d4d)};}}const _0x21926b=await this['screen'][_0x3d51db(0x4de)](_0x6f0d4d);if(!_0x21926b[_0x3d51db(0x42d)])return{'success':![],'error':_0x21926b[_0x3d51db(0x125)]};if(!_0x21926b['visible'])return{'success':![],'error':'assertVisible:\x20element\x20not\x20visible:\x20'+JSON['stringify'](_0x6f0d4d)};return{'success':!![],'details':{'element':_0x21926b['element']}};},_0x36a367={'text':_0x11e38f[_0x514d1b(0x5d9)],'accessibilityLabel':_0x11e38f[_0x514d1b(0x478)],'type':_0x11e38f['type']},_0x4b65c6=await _0x2bb334(_0x36a367);if(_0x4b65c6[_0x514d1b(0x42d)])return _0x4b65c6;if(_0x11e38f[_0x514d1b(0x3ef)]!==void 0x0&&_0x11e38f['fallbackText']!==_0x11e38f['text']){const _0x5d86f3=await _0x2bb334({'text':_0x11e38f[_0x514d1b(0x3ef)]});if(_0x5d86f3['success'])return{..._0x5d86f3,'details':{..._0x5d86f3[_0x514d1b(0x220)],'resolvedViaFallback':!![]}};}return _0x4b65c6;}else{const _0x1148d8=_0x2682e9['matches'][0x0];if(!_0x1148d8)return _0x4b2f47;return _0x1490ad('\x0a',_0x3dd522),_0x23af9a(_0x2da78d(_0x514d1b(0x9e1)+_0x1148d8['relPath']+_0x514d1b(0x6e3)),_0x5c3b97),_0x1148d8['absPath'];}}case _0x514d1b(0x9a2):{const _0x1c5f1a={'text':_0x11e38f[_0x514d1b(0x5d9)],'accessibilityLabel':_0x11e38f['accessibilityLabel'],'type':_0x11e38f[_0x514d1b(0x85c)]};if(_0x167e2f?.[_0x514d1b(0x759)]&&typeof this[_0x514d1b(0x5e9)]['findElementFromTree']==='function'){const _0x5b07d8=_0x167e2f[_0x514d1b(0x759)]['get'](_0x167e2f['axCache'][_0x514d1b(0x914)]());if(_0x5b07d8){const _0x5b8d22=this[_0x514d1b(0x5e9)][_0x514d1b(0x6a3)](_0x5b07d8,_0x1c5f1a),_0x188d24=_0x5b8d22[0x0];if(_0x188d24?.['rect'])return{'success':![],'error':'assertNotVisible:\x20element\x20is\x20visible:\x20'+JSON['stringify'](_0x1c5f1a)};}}if(_0x167e2f?.['axCache']&&typeof this['screen'][_0x514d1b(0x771)]===_0x514d1b(0x8b5)&&typeof this[_0x514d1b(0x5e9)][_0x514d1b(0x6a3)]===_0x514d1b(0x8b5)){const _0x5fef4c=await this[_0x514d1b(0x5e9)]['fetchSourceTree']();if(_0x5fef4c){_0x167e2f[_0x514d1b(0x759)]['set'](_0x5fef4c,_0x167e2f['axCache']['currentEpoch']());const _0x3974ce=this[_0x514d1b(0x5e9)]['findElementFromTree'](_0x5fef4c,_0x1c5f1a),_0x2dc2ac=_0x3974ce[0x0];if(_0x2dc2ac?.[_0x514d1b(0x578)])return{'success':![],'error':'assertNotVisible:\x20element\x20is\x20visible:\x20'+JSON[_0x514d1b(0x2c1)](_0x1c5f1a)};return{'success':!![]};}}const _0x396805=await this[_0x514d1b(0x5e9)][_0x514d1b(0x9a2)](_0x1c5f1a);if(!_0x396805[_0x514d1b(0x42d)])return{'success':![],'error':_0x396805['error']};if(_0x396805['visible'])return{'success':![],'error':_0x514d1b(0x8b3)+JSON[_0x514d1b(0x2c1)](_0x1c5f1a)};return{'success':!![]};}case'pressKey':{const _0x2709c7=await this[_0x514d1b(0x5e9)][_0x514d1b(0x861)](_0x11e38f['key']);return{'success':_0x2709c7[_0x514d1b(0x42d)],'error':_0x2709c7[_0x514d1b(0x125)],'details':{'key':_0x11e38f[_0x514d1b(0x2fe)],..._0x2709c7[_0x514d1b(0x220)]??{}}};}case'screenshot':{const _0x1553d5=await this[_0x514d1b(0x5e9)]['screenshot']();return{'success':_0x1553d5['success'],'error':_0x1553d5[_0x514d1b(0x125)],'details':{'label':_0x11e38f[_0x514d1b(0x10d)],'hasBase64':!!_0x1553d5[_0x514d1b(0x589)]}};}case _0x514d1b(0x778):{return await new Promise(_0x5b8e95=>setTimeout(_0x5b8e95,Math['max'](0x0,_0x11e38f['ms']))),{'success':!![]};}case _0x514d1b(0x96d):{const _0xec7637=await this[_0x514d1b(0x1d5)](_0x11e38f);return{'success':!![],'details':{'outcome':_0xec7637[_0x514d1b(0x901)]},'reloadRecoveryWitness':_0xec7637};}case _0x514d1b(0x88b):{const _0x490320=await this[_0x514d1b(0x5e9)][_0x514d1b(0x620)]('ceraph://reset');return{'success':_0x490320['success'],'error':_0x490320[_0x514d1b(0x125)],'details':{'dispatched':_0x490320['success']}};}default:{const _0x3604f1=_0x11e38f;return{'success':![],'error':'Unknown\x20step\x20action:\x20'+JSON[_0x514d1b(0x2c1)](_0x3604f1)};}}}async[_0x3ee7d6(0x628)](_0x9ed73f){const _0x3112b1=_0x3ee7d6;try{const _0x46d72d=await _0xbd36d8(_0x9ed73f,'utf-8'),_0x5bca83=JSON['parse'](_0x46d72d),_0x45ebee=_0x5bca83['errors']??[];return _0x45ebee['map'](_0x523105=>({'message':_0x523105[_0x3112b1(0x92e)]??'','stack':_0x523105['stack']??'','timestamp':_0x523105['timestamp']??new Date()['toISOString'](),'kind':_0x523105[_0x3112b1(0x3ea)],'url':_0x523105[_0x3112b1(0x72e)],'status':_0x523105['status'],'method':_0x523105[_0x3112b1(0x476)],'durationMs':_0x523105['durationMs'],'elementKey':_0x523105['elementKey'],'prevText':_0x523105[_0x3112b1(0x4a2)],'nextText':_0x523105[_0x3112b1(0x63f)]}));}catch{return[];}}[_0x3ee7d6(0x375)](_0x2fd337){const _0x3955c0=_0x3ee7d6;return _0x2fd337['timestamp']+'::'+_0x2fd337[_0x3955c0(0x92e)]+'::'+_0x2fd337[_0x3955c0(0x209)][_0x3955c0(0x63b)](0x0,0xc8);}[_0x3ee7d6(0x4ad)](_0x5be05e){const _0x23b935=_0x3ee7d6;if(_0x5be05e['objectiveSignals']['length']>0x0)return'objective-signal';if(_0x5be05e[_0x23b935(0x3b9)]['length']>0x0)return'witness';if(_0x5be05e['reloadRecoveryWitness'])return'reload-recovery';const _0x3ea46b=_0x5be05e[_0x23b935(0x220)]?.[_0x23b935(0x6ad)];if(typeof _0x3ea46b==='number'&&_0x3ea46b>0x0)return _0x23b935(0x36d);if(_0x5be05e[_0x23b935(0x4bb)])return'flow-end';return void 0x0;}['defaultExpectedRegion'](_0x3dc914){const _0x51a0a2=_0x3ee7d6;let _0x47a9c8=0x0,_0x56cf1b=0x0;for(const _0x1708c3 of _0x3dc914[_0x51a0a2(0x572)]){if(_0x51a0a2(0x258)!=='hlpCj')try{const _0x2ac50b=_0x54e299['getErrors']();return{'content':[{'type':_0x51a0a2(0x5d9),'text':_0x532e9c['stringify'](_0x2ac50b,null,0x2)}]};}catch(_0x6d5751){return _0x4bb4ba('rn_get_errors',_0x6d5751);}else{const _0x426bbc=_0x1708c3[_0x51a0a2(0x94c)]['x']+_0x1708c3[_0x51a0a2(0x94c)]['w'],_0x2ff4d9=_0x1708c3['bounds']['y']+_0x1708c3[_0x51a0a2(0x94c)]['h'];if(_0x426bbc>_0x47a9c8)_0x47a9c8=_0x426bbc;if(_0x2ff4d9>_0x56cf1b)_0x56cf1b=_0x2ff4d9;}}(_0x47a9c8<=0x0||_0x56cf1b<=0x0)&&(_0x47a9c8=0x1f4,_0x56cf1b=0x3e8);const _0x5be31f=_0x3f7b21;return{'x':0x0,'y':_0x5be31f,'w':_0x47a9c8,'h':Math['max'](0x0,_0x56cf1b-_0x5be31f),..._0x3dc914[_0x51a0a2(0x8b1)]?{'screenName':_0x3dc914['screenName']}:{}};}[_0x3ee7d6(0x4aa)](_0x46793a,_0x25e799){const _0x3fd25f=_0x3ee7d6,_0x3cc78d=_0x46793a[_0x3fd25f(0x3ea)]??'metro-error';if(_0x3cc78d===_0x3fd25f(0x6b4)||_0x3cc78d===_0x3fd25f(0x274)||_0x3cc78d==='unhandled-rejection')return _0x3fd25f(0x7d6)!==_0x3fd25f(0x3ff)?{'objective':{'kind':'js-exception','message':_0x46793a['message'],'detail':_0x46793a[_0x3fd25f(0x209)]||void 0x0,'flowId':_0x25e799}}:_0x356171['length']<=_0x19f928?_0x167401:_0x34ac1d['slice'](0x0,_0x512836)+'…';if(_0x3cc78d===_0x3fd25f(0x80a)){const _0x25a1ea=typeof _0x46793a['status']!=='number';return{'objective':{'kind':_0x25a1ea?'network-failure':'server-error','message':_0x46793a[_0x3fd25f(0x92e)],'detail':this['formatNetworkDetail'](_0x46793a),'flowId':_0x25e799}};}if(_0x3cc78d===_0x3fd25f(0x127)){if(_0x46793a['status']===0x191||_0x46793a['status']===0x193)return{'objective':{'kind':'server-error','message':_0x46793a['message'],'detail':this['formatNetworkDetail'](_0x46793a),'flowId':_0x25e799}};return{'witness':{'kind':_0x3fd25f(0x8bf),'message':_0x46793a[_0x3fd25f(0x92e)],'detail':this[_0x3fd25f(0x333)](_0x46793a),'flowId':_0x25e799}};}if(_0x3cc78d===_0x3fd25f(0x2ea))return{'mutationMarker':!![]};if(_0x3cc78d==='optimistic-rollback'){const _0x5b043b=_0x22ae2a(_0x46793a);return{'witness':{'kind':_0x3fd25f(0x23e),'message':_0x3fd25f(0x206)+(_0x46793a['elementKey']??_0x3fd25f(0x365)),..._0x5b043b?{'detail':_0x5b043b}:{},'flowId':_0x25e799}};}if(_0x3cc78d===_0x3fd25f(0x1ee))return{'witness':{'kind':'console-error','message':_0x46793a['message'],'flowId':_0x25e799}};return{'witness':{'kind':_0x3fd25f(0x23e),'message':_0x3fd25f(0x66d)+_0x3cc78d+'\x27:\x20'+_0x46793a['message'],'flowId':_0x25e799}};}[_0x3ee7d6(0x333)](_0x2a3779){const _0x1f11b4=_0x3ee7d6,_0x5f5079=[];if(_0x2a3779[_0x1f11b4(0x476)])_0x5f5079[_0x1f11b4(0x496)]('method='+_0x2a3779[_0x1f11b4(0x476)]);if(_0x2a3779['url'])_0x5f5079[_0x1f11b4(0x496)](_0x1f11b4(0x447)+_0x2a3779['url']);if(typeof _0x2a3779['status']===_0x1f11b4(0x513))_0x5f5079['push'](_0x1f11b4(0x4c5)+_0x2a3779[_0x1f11b4(0x9d0)]);if(typeof _0x2a3779[_0x1f11b4(0x8ad)]==='number')_0x5f5079['push']('durationMs='+_0x2a3779[_0x1f11b4(0x8ad)]);return _0x5f5079['length']>0x0?_0x5f5079[_0x1f11b4(0x221)]('\x20'):void 0x0;}async['runVerifyMarkers'](_0x2f0ef3,_0x574bce){const _0x139f14=_0x3ee7d6,_0x19b2bd=[];let _0x4bc56f;if(_0x2f0ef3[_0x139f14(0x636)]){const _0x5aa2e9=_0x2f0ef3['verifyMutation'][_0x139f14(0x85a)];let _0x3da0ef=![],_0x291a0c;if(_0x5aa2e9){const _0x2b2144=await this['screen'][_0x139f14(0x4de)](_0x5aa2e9)['catch'](()=>({'success':![],'visible':![]}));_0x3da0ef=_0x2b2144[_0x139f14(0x42d)]&&_0x2b2144[_0x139f14(0x7a4)],_0x291a0c=_0x139f14(0x303)+JSON[_0x139f14(0x2c1)](_0x5aa2e9)+'\x20visible='+_0x3da0ef;}else{if('heQUv'!==_0x139f14(0x33b))_0x291a0c='route='+(_0x2f0ef3[_0x139f14(0x636)][_0x139f14(0x6bd)]??'<unknown>');else return'WDA\x20already\x20reachable\x20—\x20iproxy\x20bridge\x20not\x20(re)started.';}_0x19b2bd['push']({'kind':'verify-observation','message':'verifyMutation:\x20'+_0x2f0ef3[_0x139f14(0x636)]['sourceMethod']+'\x20'+_0x2f0ef3['verifyMutation']['sourceEndpoint']+'\x20'+(_0x3da0ef?_0x139f14(0x59c):_0x139f14(0x1f6)),'detail':_0x291a0c,'flowId':_0x574bce});if(_0x2f0ef3['verifyMutation']['mutationKind']!=='storage'){const _0x43bd0f=_0x2f0ef3['verifyMutation']['echoExpectations']??[];for(const _0x375069 of _0x43bd0f){const _0x454d67=await this[_0x139f14(0x61c)](_0x375069);_0x454d67&&_0x19b2bd['push']({'kind':_0x139f14(0x428),'message':_0x139f14(0x72d)+_0x2f0ef3[_0x139f14(0x636)][_0x139f14(0x3f5)]+'\x20'+_0x2f0ef3['verifyMutation']['sourceEndpoint']+'\x20→\x20response\x20'+(_0x375069[_0x139f14(0x8f1)]?'field='+_0x375069[_0x139f14(0x8f1)]+'\x20':'')+'value='+JSON[_0x139f14(0x2c1)](_0x375069[_0x139f14(0x472)])+'\x20not\x20echoed\x20by\x20UI','detail':_0x454d67,'flowId':_0x574bce});}}}if(_0x2f0ef3[_0x139f14(0x753)]){const _0x2371b5=_0x2f0ef3[_0x139f14(0x753)][_0x139f14(0x60a)];let _0x5c768e=![],_0x301aa7;if(_0x2371b5){const _0x44fbde=await this['screen'][_0x139f14(0x4de)](_0x2371b5)['catch'](()=>({'success':![],'visible':![]}));_0x5c768e=_0x44fbde[_0x139f14(0x42d)]&&_0x44fbde['visible'],_0x301aa7='protectedRoute='+_0x2f0ef3['verifyAuth']['protectedRoute']+_0x139f14(0x666)+JSON['stringify'](_0x2371b5)+'\x20visible='+_0x5c768e;}else _0x301aa7=_0x139f14(0x74e)+_0x2f0ef3[_0x139f14(0x753)][_0x139f14(0x5c7)];_0x19b2bd['push']({'kind':'verify-observation','message':'verifyAuth:\x20'+(_0x5c768e?'user-marker\x20visible\x20on\x20protected\x20route':_0x139f14(0x951)),'detail':_0x301aa7,'flowId':_0x574bce});}if(_0x2f0ef3[_0x139f14(0x90b)]){const _0x5c7c95=_0x2f0ef3[_0x139f14(0x90b)]['selectorHint'];let _0x5eee7d=![],_0x6c73f9;if(_0x5c7c95){if(_0x139f14(0x5f3)!=='xnVzn'){const _0x4d7c01=await this['screen'][_0x139f14(0x4de)](_0x5c7c95)['catch'](()=>({'success':![],'visible':![]}));_0x5eee7d=_0x4d7c01[_0x139f14(0x42d)]&&_0x4d7c01['visible'],_0x6c73f9='destination='+_0x2f0ef3[_0x139f14(0x90b)][_0x139f14(0x7c0)]+_0x139f14(0x196)+JSON['stringify'](_0x5c7c95)+_0x139f14(0x9a8)+_0x5eee7d;}else _0x4b6595=_0x4249a8>=0x0?_0x4ea973:_0x55cffb,_0x49a7a8=!![];}else _0x6c73f9='destination='+_0x2f0ef3[_0x139f14(0x90b)][_0x139f14(0x7c0)];_0x19b2bd['push']({'kind':'verify-observation','message':_0x139f14(0x556)+(_0x5eee7d?_0x139f14(0x1d7):_0x139f14(0x242)),'detail':_0x6c73f9,'flowId':_0x574bce});}if(_0x2f0ef3[_0x139f14(0x4fb)]){const _0x1783e5=_0x2f0ef3[_0x139f14(0x4fb)]['expectedSelectors']??_0x2f0ef3['verifyProfileTransition'][_0x139f14(0x48b)][_0x139f14(0x986)](_0x33e0cc=>({'text':_0x33e0cc,'route':_0x33e0cc}));_0x4bc56f=await this['runReloadRecoveryWitness']({'expectedSelectors':_0x1783e5});}return{'witnesses':_0x19b2bd,'reload':_0x4bc56f};}async[_0x3ee7d6(0x61c)](_0x507839){const _0x23f00f=_0x3ee7d6,_0x33a9dd=0x190,_0x1fe253=0x5,_0x33d9ad=_0x51ab77(_0x507839[_0x23f00f(0x472)]);let _0xe2f9df=null;for(let _0x31984d=0x0;_0x31984d<_0x1fe253;_0x31984d++){const _0x17f108=await this[_0x23f00f(0xd3)](_0x507839[_0x23f00f(0x56e)]);if(_0x17f108!==null){if('UdlAj'==='IrDiS'){if(!this['entry'])return null;if(this['entry']['epoch']!==_0x4d7968)return null;return this['entry'][_0x23f00f(0x94f)];}else{_0xe2f9df=_0x17f108;const _0x534acc=_0x51ab77(_0x17f108);if(_0x12cbf9(_0x33d9ad,_0x534acc,_0x507839[_0x23f00f(0x472)])){if('mgRmC'===_0x23f00f(0x440)){const _0x4a7ae1=[_0x23f00f(0x665),_0x23f00f(0x64d),_0x23f00f(0x157),_0x23f00f(0x68b)],_0xae663f=_0x290c59['changed']['filter'](_0x145b2f=>_0x4a7ae1['some'](_0x1aaea0=>_0x145b2f[_0x23f00f(0x83f)](_0x1aaea0)));_0xae663f[_0x23f00f(0x945)]>0x0&&_0x5aee29['push']('Native\x20dependency\x20versions\x20changed:\x20'+_0xae663f['join'](',\x20')+_0x23f00f(0x193));}else return null;}}}_0x31984d<_0x1fe253-0x1&&await new Promise(_0xfa2bee=>setTimeout(_0xfa2bee,_0x33a9dd));}if(_0xe2f9df===null)return null;const _0x12099d=['selector='+JSON[_0x23f00f(0x2c1)](_0x507839[_0x23f00f(0x56e)]),_0x23f00f(0x668)+JSON[_0x23f00f(0x2c1)](_0x507839['responseValue']),_0x23f00f(0x8f0)+JSON['stringify'](_0xe2f9df)];if(_0x507839[_0x23f00f(0x8f1)])_0x12099d[_0x23f00f(0x558)](_0x23f00f(0x711)+_0x507839['responseField']);return _0x12099d['join']('\x20');}async['readSelectorText'](_0x492b5a){const _0x451159=_0x3ee7d6;if(typeof this[_0x451159(0x5e9)]['fetchSourceTree']!=='function'||typeof this[_0x451159(0x5e9)][_0x451159(0x6a3)]!==_0x451159(0x8b5))return null;const _0x5d7548=await this['screen']['fetchSourceTree']()[_0x451159(0x4ba)](()=>null);if(!_0x5d7548)return null;const _0x91ae32=this['screen']['findElementFromTree'](_0x5d7548,_0x492b5a),_0x48e26e=_0x91ae32[0x0];if(!_0x48e26e)return null;const _0x401f4f=typeof _0x48e26e[_0x451159(0x84f)]===_0x451159(0x7fd)&&_0x48e26e['value']||typeof _0x48e26e[_0x451159(0x10d)]==='string'&&_0x48e26e['label']||typeof _0x48e26e['name']===_0x451159(0x7fd)&&_0x48e26e['name']||'';if(_0x492b5a[_0x451159(0x5d9)]!==void 0x0&&_0x401f4f===_0x492b5a[_0x451159(0x5d9)]&&(typeof _0x48e26e['value']!==_0x451159(0x7fd)||!_0x48e26e[_0x451159(0x84f)])&&(typeof _0x48e26e[_0x451159(0x10d)]!=='string'||!_0x48e26e[_0x451159(0x10d)]))return null;return _0x401f4f;}async[_0x3ee7d6(0x1d5)](_0x18f3fb){const _0x29cfc4=_0x3ee7d6,_0xf17405=_0x18f3fb['expectedSelectors'][_0x29cfc4(0x986)]((_0x169a7c,_0x3b1178)=>_0x169a7c[_0x29cfc4(0x308)]??_0x169a7c['text']??_0x169a7c['accessibilityLabel']??_0x169a7c['type']??'selector-'+_0x3b1178),_0x1f048a=await this['snapshotReachable'](_0x18f3fb['expectedSelectors'])[_0x29cfc4(0x4ba)](()=>null);if(_0x1f048a===null)return{'kind':_0x29cfc4(0x226),'outcome':'inconclusive','expectedRoutes':_0xf17405,'reachableBeforeReload':[],'reason':'Pre-reload\x20snapshot\x20failed\x20(WDA\x20unreachable\x20or\x20source\x20error)','reloadMechanism':_0x29cfc4(0x8e1)};if(_0x1f048a['length']===_0xf17405[_0x29cfc4(0x945)])return{'kind':'reload-recovery','outcome':'reload-not-needed','expectedRoutes':_0xf17405,'reachableBeforeReload':_0x1f048a,'reloadMechanism':'dev-settings-reload'};const _0x599799=await this[_0x29cfc4(0x5e9)]['openUrl'](_0x29cfc4(0x3b0));if(!_0x599799[_0x29cfc4(0x42d)])return{'kind':_0x29cfc4(0x226),'outcome':_0x29cfc4(0x1de),'expectedRoutes':_0xf17405,'reachableBeforeReload':_0x1f048a,'reason':_0x29cfc4(0x1fa)+(_0x599799['error']??'unknown'),'reloadMechanism':_0x29cfc4(0x8e1)};const _0x385cfa=_0x18f3fb[_0x29cfc4(0x764)]??0x2710,_0x165d40=await this[_0x29cfc4(0x9f7)](_0x385cfa);if(!_0x165d40)return{'kind':_0x29cfc4(0x226),'outcome':'inconclusive','expectedRoutes':_0xf17405,'reachableBeforeReload':_0x1f048a,'reason':'App\x20did\x20not\x20respond\x20on\x20WDA\x20within\x20'+_0x385cfa+'ms\x20after\x20reload','reloadMechanism':_0x29cfc4(0x8e1)};const _0x46123f=await this[_0x29cfc4(0x443)](_0x18f3fb[_0x29cfc4(0x19d)])[_0x29cfc4(0x4ba)](()=>null);if(_0x46123f===null)return{'kind':'reload-recovery','outcome':'inconclusive','expectedRoutes':_0xf17405,'reachableBeforeReload':_0x1f048a,'reason':_0x29cfc4(0x3b1),'reloadMechanism':_0x29cfc4(0x8e1)};if(_0x46123f['length']===_0xf17405['length'])return{'kind':_0x29cfc4(0x226),'outcome':_0x29cfc4(0x4e7),'expectedRoutes':_0xf17405,'reachableBeforeReload':_0x1f048a,'reachableAfterReload':_0x46123f,'reloadMechanism':'dev-settings-reload'};return{'kind':'reload-recovery','outcome':'stale-unrecoverable','expectedRoutes':_0xf17405,'reachableBeforeReload':_0x1f048a,'reachableAfterReload':_0x46123f,'reloadMechanism':_0x29cfc4(0x8e1)};}async['snapshotReachable'](_0x161204){const _0x17fdb7=_0x3ee7d6,_0x2d88e9=[];for(let _0x223364=0x0;_0x223364<_0x161204['length'];_0x223364++){const _0x50a227=_0x161204[_0x223364],_0x44e4e8=_0x50a227['route']??_0x50a227['text']??_0x50a227[_0x17fdb7(0x478)]??_0x50a227['type']??_0x17fdb7(0x788)+_0x223364,_0x2eccba=await this[_0x17fdb7(0x5e9)][_0x17fdb7(0x4de)]({'text':_0x50a227[_0x17fdb7(0x5d9)],'accessibilityLabel':_0x50a227[_0x17fdb7(0x478)],'type':_0x50a227['type']})[_0x17fdb7(0x4ba)](()=>({'success':![],'visible':![]}));if(_0x2eccba['success']&&_0x2eccba['visible'])_0x2d88e9[_0x17fdb7(0x496)](_0x44e4e8);}return _0x2d88e9;}async[_0x3ee7d6(0x9f7)](_0x369049){const _0x5abf6b=_0x3ee7d6,_0x16b65f=Date['now']();while(Date['now']()-_0x16b65f<_0x369049){const _0x42fd2a=await this[_0x5abf6b(0x5e9)][_0x5abf6b(0x655)]()['catch'](()=>![]);if(_0x42fd2a)return!![];await new Promise(_0x32712c=>setTimeout(_0x32712c,0xc8));}return![];}async[_0x3ee7d6(0x8f3)](_0x197def){const _0x324516=_0x3ee7d6,_0x330f02=[];let _0x2a208a;if(_0x197def!=null)'MNlfe'==='MNlfe'?_0x2a208a=_0x197def:this[_0x324516(0x464)]=_0x945c50;else try{const _0x170d26=await this['screen'][_0x324516(0x8c5)]();if(!_0x170d26['success']||!_0x170d26['source'])return[];_0x2a208a=_0x170d26['source'];}catch{return[];}const _0x4bc579=/\b(error|failed|invalid|denied|something went wrong)\b/i,_0x16ae54=/alert|status/i,_0xd7feb5=new Set(),_0x2b7261=_0x36865=>{const _0x8a7e7c=_0x324516;if(!_0x36865||typeof _0x36865!=='object')return;const _0xbe8a0e=_0x36865,_0x38056a=String(_0xbe8a0e['value']??_0xbe8a0e['label']??_0xbe8a0e['name']??'')['trim'](),_0x438e79=String(_0xbe8a0e[_0x8a7e7c(0x10d)]??_0xbe8a0e['name']??_0xbe8a0e[_0x8a7e7c(0x85c)]??'<unnamed>'),_0x11445d=(_0xbe8a0e[_0x8a7e7c(0x85c)]??'')+'::'+_0x438e79+'::'+_0x38056a;if(_0xbe8a0e['type']==='XCUIElementTypeAlert')!_0xd7feb5[_0x8a7e7c(0x21c)](_0x11445d)&&(_0xd7feb5[_0x8a7e7c(0x5c1)](_0x11445d),_0x330f02['push']({'label':_0x438e79,'text':_0x1ac3bd(_0x38056a,0xc8),'matchedSignal':_0x8a7e7c(0x86c)}));else{if(_0x38056a[_0x8a7e7c(0x945)]>0x0&&(_0x16ae54[_0x8a7e7c(0x364)](_0x438e79)||_0x16ae54['test'](_0x38056a)))!_0xd7feb5['has'](_0x11445d)&&(_0xd7feb5['add'](_0x11445d),_0x330f02['push']({'label':_0x438e79,'text':_0x1ac3bd(_0x38056a,0xc8),'matchedSignal':_0x8a7e7c(0x86c)}));else _0x38056a['length']>0x0&&_0x4bc579[_0x8a7e7c(0x364)](_0x38056a)&&(!_0xd7feb5[_0x8a7e7c(0x21c)](_0x11445d)&&(_0xd7feb5['add'](_0x11445d),_0x330f02[_0x8a7e7c(0x496)]({'label':_0x438e79,'text':_0x1ac3bd(_0x38056a,0xc8),'matchedSignal':_0x8a7e7c(0x5b4)})));}if(Array['isArray'](_0xbe8a0e[_0x8a7e7c(0x9c3)])){for(const _0x130cc2 of _0xbe8a0e[_0x8a7e7c(0x9c3)])_0x2b7261(_0x130cc2);}};try{_0x2b7261(_0x2a208a);}catch{}return _0x330f02;}};function _0x22ae2a(_0x37002e){const _0x39fa3a=_0x3ee7d6,_0x4cd502=[];if(_0x37002e['elementKey'])_0x4cd502['push']('key='+_0x37002e['elementKey']);if(typeof _0x37002e[_0x39fa3a(0x4a2)]===_0x39fa3a(0x7fd))_0x4cd502['push'](_0x39fa3a(0x7b6)+_0x1ac3bd(_0x37002e[_0x39fa3a(0x4a2)],0x50));if(typeof _0x37002e['nextText']==='string')_0x4cd502[_0x39fa3a(0x496)]('next='+_0x1ac3bd(_0x37002e[_0x39fa3a(0x63f)],0x50));if(typeof _0x37002e[_0x39fa3a(0x8ad)]==='number')_0x4cd502[_0x39fa3a(0x496)]('durationMs='+_0x37002e['durationMs']);return _0x4cd502[_0x39fa3a(0x945)]>0x0?_0x4cd502['join']('\x20'):void 0x0;}function _0x1ac3bd(_0x69ed20,_0x18a2df){const _0x163889=_0x3ee7d6;return _0x69ed20[_0x163889(0x945)]<=_0x18a2df?_0x69ed20:_0x69ed20[_0x163889(0x63b)](0x0,_0x18a2df)+'…';}function _0x1391af(_0x5df977){const _0x115009=_0x3ee7d6;if(_0x5df977['length']===0x0)return void 0x0;const _0x1fb302=_0x5df977[_0x115009(0x63b)](0x0,0x5)['map'](_0x9100c0=>{const _0x12ac6a=_0x115009;if(_0x12ac6a(0x421)==='EmlHo')throw new _0x2efb3c(_0x12ac6a(0x840));else{const _0x423711=_0x9100c0['nodeId']?_0x12ac6a(0x1fe)+_0x1ac3bd(_0x9100c0['nodeId'],0x20):'';return _0x9100c0['kind']+'/'+_0x9100c0[_0x12ac6a(0x460)]+_0x423711;}}),_0x4da579=_0x5df977['length']>_0x1fb302['length']?'\x20+'+(_0x5df977[_0x115009(0x945)]-_0x1fb302['length'])+'\x20more':'';return''+_0x1fb302['join'](',\x20')+_0x4da579;}function _0x51ab77(_0x286fa7){return String(_0x286fa7)['trim']();}function _0x12cbf9(_0x4754d6,_0x3ab4d6,_0xe3c3ca){const _0x151675=_0x3ee7d6;if(typeof _0xe3c3ca===_0x151675(0x513)){const _0x6f7683=Number(_0x3ab4d6);return Number['isFinite'](_0x6f7683)&&_0x6f7683===_0xe3c3ca;}if(_0x4754d6[_0x151675(0x945)]===0x0)return _0x3ab4d6['length']===0x0;return _0x3ab4d6[_0x151675(0x17e)]()['includes'](_0x4754d6[_0x151675(0x17e)]());}function _0x2e4690(_0x827205){const _0x3ef1fc=_0x3ee7d6;if(typeof _0x827205['text']!==_0x3ef1fc(0x7fd)||!_0x469277(_0x827205[_0x3ef1fc(0x5d9)]))return;const _0x20f5b5=_0x3d1131(_0x827205[_0x3ef1fc(0x5d9)]);_0x20f5b5&&(_0x827205['source']=_0x20f5b5['pathSlug']+':'+_0x20f5b5['line']+':'+_0x20f5b5[_0x3ef1fc(0x1c3)]);}function _0xcf7605(_0x3ffcdd){const _0x2a9dee=_0x3ee7d6;switch(_0x3ffcdd['action']){case'type':{const _0x29bdd5={'value':_0x3ffcdd[_0x2a9dee(0x84f)]};if(_0x3ffcdd[_0x2a9dee(0x5fc)]){if(_0x2a9dee(0x5b8)!==_0x2a9dee(0x53e)){const _0x156a5a={};if(_0x3ffcdd['into'][_0x2a9dee(0x5d9)]!==void 0x0)_0x156a5a[_0x2a9dee(0x5d9)]=_0x3ffcdd['into'][_0x2a9dee(0x5d9)];_0x3ffcdd['into']['accessibilityLabel']!==void 0x0&&(_0x156a5a['accessibilityLabel']=_0x3ffcdd['into']['accessibilityLabel']);_0x2e4690(_0x156a5a);if(Object['keys'](_0x156a5a)[_0x2a9dee(0x945)]>0x0)_0x29bdd5[_0x2a9dee(0x555)]=_0x156a5a;}else{const _0x359295=_0x2a106f['match'](/\n(\s+)"/),_0xce5751=_0x359295?.[0x1]??'\x20\x20',_0x213713=_0x1c7fb6[_0x2a9dee(0x3f0)]('\x0a'),_0x113895=_0xf87878['stringify'](_0x59b200,null,_0xce5751);return _0x213713?_0x113895+'\x0a':_0x113895;}}return _0x29bdd5;}case'tap':case _0x2a9dee(0x78b):case _0x2a9dee(0x425):case'scrollTo':case _0x2a9dee(0x85e):case _0x2a9dee(0x4de):case'assertNotVisible':{const _0x396c6d={};if(_0x2a9dee(0x5d9)in _0x3ffcdd&&_0x3ffcdd['text']!==void 0x0)_0x396c6d[_0x2a9dee(0x5d9)]=_0x3ffcdd[_0x2a9dee(0x5d9)];_0x2a9dee(0x478)in _0x3ffcdd&&_0x3ffcdd[_0x2a9dee(0x478)]!==void 0x0&&(_0x396c6d['accessibilityLabel']=_0x3ffcdd[_0x2a9dee(0x478)]);if('type'in _0x3ffcdd&&_0x3ffcdd[_0x2a9dee(0x85c)]!==void 0x0)_0x396c6d['type']=_0x3ffcdd['type'];return _0x2e4690(_0x396c6d),Object[_0x2a9dee(0x208)](_0x396c6d)[_0x2a9dee(0x945)]>0x0?{'target':_0x396c6d}:{};}case'pressKey':return{'value':_0x3ffcdd[_0x2a9dee(0x2fe)]};case _0x2a9dee(0x81d):return{'value':_0x3ffcdd['direction']};default:return{};}}import{spawn as _0x330a36}from'child_process';var _0x5e6b5e=0x1fa4,_0x4c2174=0x1fa4,_0x3ab123=0x32;function _0x2c91da(_0x198703){return new Promise(_0x57fd90=>{const _0x3fb122=_0x4a5a;let _0x2efd99='',_0x170567=![];const _0x5e7529=_0x330a36('which',[_0x198703],{'stdio':['ignore','pipe','ignore']});_0x5e7529['stdout']['on'](_0x3fb122(0x978),_0x277247=>{_0x2efd99+=_0x277247['toString']();}),_0x5e7529['on']('error',()=>{!_0x170567&&(_0x170567=!![],_0x57fd90(null));}),_0x5e7529['on'](_0x3fb122(0x41e),_0x28db69=>{const _0x46d8e6=_0x3fb122;if(_0x170567)return;_0x170567=!![];if(_0x28db69!==0x0)_0x57fd90(null);else{const _0x425407=_0x2efd99[_0x46d8e6(0x5da)]();_0x57fd90(_0x425407['length']>0x0?_0x425407:null);}});});}var _0xf8466e=class{['child']=null;[_0x3ee7d6(0x737)]=null;[_0x3ee7d6(0x6ef)];['devicePort'];[_0x3ee7d6(0x4ee)]=[];[_0x3ee7d6(0x9ab)];[_0x3ee7d6(0x78f)];[_0x3ee7d6(0x18c)]=null;constructor(_0x2674e0={}){const _0x4e6d5f=_0x3ee7d6;this['localPort']=_0x2674e0[_0x4e6d5f(0x6ef)]??_0x5e6b5e,this[_0x4e6d5f(0x909)]=_0x2674e0['devicePort']??_0x4c2174,this['spawnFn']=_0x2674e0[_0x4e6d5f(0x9ab)]??_0x330a36,this['whichFn']=_0x2674e0['whichFn']??_0x2c91da;}[_0x3ee7d6(0x12e)](){const _0x527acf=_0x3ee7d6;return this['child']!==null&&this[_0x527acf(0x91b)][_0x527acf(0x186)]===null;}async['start'](_0x5cd7eb){const _0x45d30f=_0x3ee7d6;while(!![]){if(_0x45d30f(0x625)!=='xqhPA'){const _0x3d0b33=_0xf28091?_0x45d30f(0x585):_0x45d30f(0x224),_0x30c245=_0x2609c7?'`retry`\x20or\x20`halt`':_0x45d30f(0x44e);return{'runId':_0x5db58f,'status':'error','initialObservation':_0x91eb20['initialObservation'],'completedSegments':_0xf491ae['completed'],'error':_0x45d30f(0x61a)+_0x71388b+'\x22\x20is\x20not\x20valid\x20for\x20pause\x20state\x20\x22'+_0x3d0b33+'\x22.\x20Re-issue\x20rn_test_chain_continue\x20with\x20'+_0x30c245+'.'};}else{if(this[_0x45d30f(0x12e)]())return{'ok':![],'reason':_0x45d30f(0x98b),'pid':this[_0x45d30f(0x91b)]?.['pid']};if(!this['startInFlight'])break;await this[_0x45d30f(0x18c)][_0x45d30f(0x4ba)](()=>void 0x0);}}const _0x59c08f=this[_0x45d30f(0x6ee)](_0x5cd7eb);this['startInFlight']=_0x59c08f;try{return await _0x59c08f;}finally{this['startInFlight']===_0x59c08f&&(this[_0x45d30f(0x18c)]=null);}}async['startInner'](_0x4cffd3){const _0x302c33=_0x3ee7d6;if(this['isRunning']())return{'ok':![],'reason':'already-running','pid':this['child']?.['pid']};const _0x4e82c9=await this[_0x302c33(0x78f)](_0x302c33(0x95a));if(!_0x4e82c9)return{'ok':![],'reason':_0x302c33(0x828)};this['udid']=_0x4cffd3,this[_0x302c33(0x4ee)]=[];let _0x3547d3;try{_0x3547d3=this[_0x302c33(0x9ab)](_0x4e82c9,[String(this[_0x302c33(0x6ef)]),String(this[_0x302c33(0x909)]),'-u',_0x4cffd3],{'stdio':['ignore','pipe','pipe']});}catch(_0x21353a){return this['appendStderr']('iproxy\x20spawn\x20threw:\x20'+(_0x21353a instanceof Error?_0x21353a[_0x302c33(0x92e)]:String(_0x21353a))),{'ok':![],'reason':_0x302c33(0x1e1),'stderr':[...this[_0x302c33(0x4ee)]]};}_0x3547d3[_0x302c33(0x870)]?.['on']('data',_0x41da71=>{const _0x41f707=_0x302c33,_0x302421=_0x41da71['toString']();for(const _0x98e973 of _0x302421[_0x41f707(0x814)](/\r?\n/)){if(_0x98e973[_0x41f707(0x5da)]()['length']===0x0)continue;this[_0x41f707(0x8de)](_0x98e973);}}),_0x3547d3['stdout']?.['on'](_0x302c33(0x978),_0x45210b=>{const _0x36525f=_0x302c33,_0x50f825=_0x45210b['toString']();for(const _0x1ea7e8 of _0x50f825[_0x36525f(0x814)](/\r?\n/)){if(_0x36525f(0x86f)!==_0x36525f(0x603)){if(_0x1ea7e8[_0x36525f(0x5da)]()['length']===0x0)continue;this[_0x36525f(0x8de)](_0x36525f(0x574)+_0x1ea7e8);}else return this['testDataManager'];}});const _0x47320c=await this[_0x302c33(0x7c6)](_0x3547d3,0x32);if(_0x47320c){if('Rpshv'!==_0x302c33(0x9af))return this[_0x302c33(0x91b)]=null,{'ok':![],'reason':'spawn-failed','stderr':[...this[_0x302c33(0x4ee)]]};else{const _0x56fc9d=_0x592785['action'],_0x47d07e=_0x351076[_0x302c33(0x125)]??'unspecified\x20failure';return _0x56fc9d+_0x302c33(0x9f8)+_0x47d07e;}}return this[_0x302c33(0x91b)]=_0x3547d3,_0x3547d3['on']('exit',()=>{this['child']===_0x3547d3&&(this['child']=null);}),{'ok':!![],'pid':_0x3547d3['pid'],'stderr':[...this[_0x302c33(0x4ee)]]};}async[_0x3ee7d6(0x2bf)](){const _0x44cb97=_0x3ee7d6;this[_0x44cb97(0x18c)]&&await this[_0x44cb97(0x18c)]['catch'](()=>void 0x0);const _0x15d4e3=this['child'];if(!_0x15d4e3)return;this['child']=null;if(_0x15d4e3[_0x44cb97(0x186)]!==null)return;return new Promise(_0x5c21cc=>{const _0x1ad7a2=_0x44cb97;if(_0x1ad7a2(0x95f)==='MQUkt'){const _0x24811c=_0x42fa2b(_0x5a5b62['PRODUCT_BUNDLE_IDENTIFIER']);if(_0x24811c)return _0x24811c;}else{let _0x11d188=![],_0xbb5997=null,_0x3eccf4=null;const _0x47b65c=()=>{if(_0x11d188)return;_0x11d188=!![];if(_0xbb5997)clearTimeout(_0xbb5997);if(_0x3eccf4)clearTimeout(_0x3eccf4);_0x5c21cc();};_0x15d4e3[_0x1ad7a2(0x9b5)](_0x1ad7a2(0x41e),_0x47b65c);try{_0x15d4e3['kill']('SIGTERM');}catch{if('imQSd'===_0x1ad7a2(0x8d5)){if(_0x8490e0['isCallExpression'](_0x118aa2)){const _0x3fea63=_0x475cea['getExpression']();_0x1aa2cf[_0x1ad7a2(0x9c8)](_0x3fea63)&&_0x3fea63[_0x1ad7a2(0x326)]()===_0x1ad7a2(0x5bc)&&_0x1190fa[_0x1ad7a2(0x496)](_0x46cec3);}}else{_0x47b65c();return;}}_0xbb5997=setTimeout(()=>{const _0x512bbf=_0x1ad7a2;if(_0x11d188)return;try{_0x15d4e3[_0x512bbf(0x142)]('SIGKILL');}catch{}_0x3eccf4=setTimeout(_0x47b65c,0x64),_0x3eccf4['unref']();},0x3e8),_0xbb5997['unref']();}});}async['restart'](_0x26d3bc){const _0x21ec77=_0x3ee7d6;return await this[_0x21ec77(0x2bf)](),this['start'](_0x26d3bc??this['udid']??'');}['getStderr'](){return[...this['stderrBuffer']];}[_0x3ee7d6(0x8de)](_0x5936d7){const _0x520269=_0x3ee7d6;this[_0x520269(0x4ee)]['push'](_0x5936d7),this['stderrBuffer'][_0x520269(0x945)]>_0x3ab123&&this[_0x520269(0x4ee)][_0x520269(0x936)]();}['detectEarlyExit'](_0x56d3f6,_0x3a5d48){return new Promise(_0xc7eb87=>{const _0x990727=_0x4a5a;let _0x40ebbc=![];const _0x4aafdf=_0x847da8=>{if(_0x40ebbc)return;_0x40ebbc=!![],_0xc7eb87(_0x847da8);},_0x15cb3b=()=>_0x4aafdf(!![]);_0x56d3f6[_0x990727(0x9b5)](_0x990727(0x41e),_0x15cb3b),setTimeout(()=>{const _0x49f2b5=_0x990727;_0x56d3f6[_0x49f2b5(0x74c)]('exit',_0x15cb3b),_0x4aafdf(![]);},_0x3a5d48)[_0x990727(0x60e)]();});}};import{join as _0x4b2a43}from'path';var _0x3874b5=/<<([A-Z][A-Z0-9_]*)>>/g;function _0x5ab885(_0x35710d,_0xf408c1=process.env,_0x485e11={}){const _0x17b45e=new Set(),_0x5766bb=_0x1e0b17(_0x35710d,_0xf408c1,_0x17b45e,_0x485e11);return{'value':_0x5766bb,'missing':_0x17b45e};}function _0x1e0b17(_0x1b2291,_0x55f1b9,_0x30815e,_0x1a654b){const _0x55dfb8=_0x3ee7d6;if(typeof _0x1b2291==='string')return'nWKnL'!=='nWKnL'?_0x1e5939(_0x55dfb8(0x20c),_0x3cc9fa):_0x1b2291['replace'](_0x3874b5,(_0x3ea602,_0x310e95)=>{const _0x176f4d=_0x55dfb8,_0x389d05=_0x1a654b[_0x310e95];if(typeof _0x389d05===_0x176f4d(0x7fd)&&_0x389d05['length']>0x0){if('NiXrM'==='iRziR'){if(_0x1146b2['getArguments']()[_0x176f4d(0x945)]>0x0)return![];const _0x3acfde=_0x3b5cf5(_0x1d922b);return _0x36ec87['addArgument'](_0x176f4d(0x8ae)+_0x3acfde+_0x176f4d(0x6b5)),!![];}else return _0x389d05;}const _0x3f0350=_0x55f1b9[_0x310e95];if(typeof _0x3f0350!=='string'||_0x3f0350['length']===0x0)return _0x30815e[_0x176f4d(0x5c1)](_0x310e95),'<<'+_0x310e95+'>>';return _0x3f0350;});if(Array[_0x55dfb8(0x246)](_0x1b2291))return _0x1b2291[_0x55dfb8(0x986)](_0x137738=>_0x1e0b17(_0x137738,_0x55f1b9,_0x30815e,_0x1a654b));if(_0x1b2291&&typeof _0x1b2291===_0x55dfb8(0x5ab)){const _0xe2775a={};for(const [_0x5ed1ae,_0x4924be]of Object[_0x55dfb8(0x6b0)](_0x1b2291)){_0xe2775a[_0x5ed1ae]=_0x1e0b17(_0x4924be,_0x55f1b9,_0x30815e,_0x1a654b);}return _0xe2775a;}return _0x1b2291;}function _0x330e47(_0x53aad3){const _0x16f235=_0x3ee7d6;if(!_0x53aad3)return{};const _0xd25067=_0x53aad3[_0x16f235(0x3ce)]();if(!_0xd25067)return{};return{'CERAPH_TEST_EMAIL':_0xd25067['email'],'CERAPH_TEST_PASSWORD':_0xd25067['password']};}var _0x398db5=0x30d40,_0x3eb3a8=0xc8,_0x3974fd='Authentication\x20required.\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20first\x20to\x20sign\x20in.',_0x506c7=_0x3ee7d6(0x420);function _0x1c1e11(_0x2aecf3){const _0x3d3eae=_0x3ee7d6,_0x3f03a9={};if(!_0x2aecf3)return _0x3f03a9;return typeof _0x2aecf3[_0x3d3eae(0x5d9)]===_0x3d3eae(0x7fd)&&_0x2aecf3['text']['length']>0x0&&(_0x3f03a9['text']=_0x2aecf3[_0x3d3eae(0x5d9)]),typeof _0x2aecf3[_0x3d3eae(0x9bb)]==='string'&&_0x2aecf3['testID']['length']>0x0&&(_0x3f03a9['accessibilityLabel']=_0x2aecf3[_0x3d3eae(0x9bb)]),typeof _0x2aecf3['role']===_0x3d3eae(0x7fd)&&_0x2aecf3[_0x3d3eae(0x1a1)]['length']>0x0&&(_0x3f03a9['type']=_0x2aecf3[_0x3d3eae(0x1a1)]),_0x3f03a9;}function _0x37dd38(_0x414beb){const _0x178b04=_0x3ee7d6,_0x1dda90=_0x414beb;switch(_0x1dda90[_0x178b04(0x1ec)]){case'tap':case'longPress':case _0x178b04(0x69f):case'clearText':case _0x178b04(0x85e):case _0x178b04(0x4de):case'assertNotVisible':return{..._0x1dda90,..._0x1c1e11(_0x1dda90['target'])};case'type':{if(!_0x1dda90[_0x178b04(0x555)])return _0x1dda90;const _0x3de72c=_0x1c1e11(_0x1dda90['target']),_0xeaa251={};if(_0x3de72c[_0x178b04(0x5d9)]!==void 0x0)_0xeaa251['text']=_0x3de72c[_0x178b04(0x5d9)];return _0x3de72c[_0x178b04(0x478)]!==void 0x0&&(_0xeaa251[_0x178b04(0x478)]=_0x3de72c[_0x178b04(0x478)]),{..._0x1dda90,'into':_0xeaa251,'value':_0x1dda90['value']??''};}case _0x178b04(0x356):return _0x1dda90[_0x178b04(0x7d0)]?{..._0x1dda90,'x':_0x1dda90[_0x178b04(0x7d0)]['x'],'y':_0x1dda90[_0x178b04(0x7d0)]['y']}:_0x1dda90;case'screenshot':return _0x1dda90['name']!==void 0x0?{..._0x1dda90,'label':_0x1dda90['name']}:_0x1dda90;default:return _0x1dda90;}}function _0x55d206(_0x31dedc,_0x4979fa={}){const _0x16fb92=_0x3ee7d6,_0x17f126=_0x5ab885({'steps':_0x31dedc[_0x16fb92(0x22d)]['map'](_0x37dd38),'beforeAll':_0x31dedc[_0x16fb92(0x1d9)]},process.env,_0x4979fa),_0x16b236=(_0x31dedc['requiresEnv']??[])['filter'](_0x53b4fd=>{const _0x4e52f6=_0x16fb92,_0x421d3c=_0x4979fa[_0x53b4fd];if(typeof _0x421d3c==='string'&&_0x421d3c[_0x4e52f6(0x945)]>0x0)return![];const _0xca518c=process.env[_0x53b4fd];return _0xca518c===void 0x0||_0xca518c==='';}),_0x27b1f2=new Set([..._0x17f126[_0x16fb92(0x641)],..._0x16b236]);return{'source':_0x31dedc,'expandedSteps':_0x17f126['value']['steps'],'expandedBeforeAll':_0x17f126['value']['beforeAll'],'missingEnv':_0x27b1f2};}async function _0x13a77e(_0x374601,_0x4c1856,_0x4b24bc,_0x5ad43d,_0x81aae){const _0x47f511=_0x3ee7d6;await _0x4b24bc?.[_0x47f511(0x165)]();const _0x38d6c5=_0x374601['runId'];if(_0x374601['status']===_0x47f511(0x173)||_0x374601[_0x47f511(0x1f5)]['length']===0x0||_0x38d6c5===null)return{'runId':_0x374601[_0x47f511(0x297)],'status':'no-flows','results':[],'hint':_0x374601[_0x47f511(0x384)]??'No\x20flows\x20to\x20run.'};const _0x31842d=_0x374601[_0x47f511(0xd7)]&&_0x374601['affectedFlowNames'][_0x47f511(0x945)]>0x0?new Set(_0x374601[_0x47f511(0xd7)]):void 0x0,_0x2d433b=_0x81aae||_0x31842d?{'runId':_0x38d6c5,..._0x81aae?{'store':_0x81aae}:{},..._0x31842d?{'affectedFlowNames':_0x31842d}:{}}:void 0x0,_0x4e33ce=[],_0xf5f6da=new Set();let _0x31ac3c;const _0x1ba62c=_0x374601['flows']['length'],_0x175e9a=new Map(),_0xf8927c=_0x330e47(_0x5ad43d);for(const _0x568882 of _0x374601['flows']){_0x175e9a[_0x47f511(0x3b6)](_0x568882['flowId'],_0x55d206(_0x568882,_0xf8927c));}const _0x25642e=new Map(),_0x414f04=new Set();for(const _0x4869d5 of _0x374601[_0x47f511(0x685)]??[]){if(_0x47f511(0x826)===_0x47f511(0x826)){if(_0x4869d5['flowIds'][_0x47f511(0x945)]<0x2)continue;const _0x1db3ce=[];let _0x554113=!![];for(const _0x4d2dfd of _0x4869d5['flowIds']){const _0x41b7b4=_0x175e9a['get'](_0x4d2dfd);if(!_0x41b7b4){_0x554113=![];break;}if(_0x41b7b4[_0x47f511(0x439)][_0x47f511(0x1bb)]>0x0){_0x554113=![];break;}_0x1db3ce['push'](_0x41b7b4);}if(!_0x554113)continue;_0x25642e[_0x47f511(0x3b6)](_0x4869d5[_0x47f511(0x49b)][0x0],{'entry':_0x4869d5,'flows':_0x1db3ce});for(const _0x22d3d1 of _0x4869d5['flowIds'])_0x414f04[_0x47f511(0x5c1)](_0x22d3d1);}else this['screen'][_0x47f511(0x655)]()['catch'](()=>void 0x0);}for(let _0x4cce66=0x0;_0x4cce66<_0x374601['flows'][_0x47f511(0x945)];_0x4cce66++){const _0xc2f5b6=_0x374601[_0x47f511(0x1f5)][_0x4cce66],_0x5f2092=_0x175e9a['get'](_0xc2f5b6[_0x47f511(0x416)]),_0x364a66=_0x25642e[_0x47f511(0x47a)](_0xc2f5b6['flowId']);if(_0x364a66){const _0x3f7f1a={'chainId':_0x364a66[_0x47f511(0x392)]['chainId'],'flows':_0x364a66[_0x47f511(0x1f5)][_0x47f511(0x986)](_0x31c019=>({'flowId':_0x31c019['source'][_0x47f511(0x416)],'name':_0x31c019[_0x47f511(0x827)][_0x47f511(0x4d1)],'steps':_0x31c019['expandedSteps'],'beforeAll':_0x31c019[_0x47f511(0x821)],'timeoutMs':_0x31c019['source'][_0x47f511(0x5aa)]})),'bridges':_0x364a66[_0x47f511(0x392)]['bridges']},_0x253dbe=await _0x4c1856[_0x47f511(0x919)](_0x3f7f1a,_0x2d433b);let _0x1b8944=![];for(const _0x58ad4a of _0x253dbe[_0x47f511(0x7c7)]){if('kAKfj'!==_0x47f511(0x9d9)){_0x4e33ce['push'](_0x58ad4a);const _0x20cc12=_0x374601[_0x47f511(0x1f5)]['findIndex'](_0x5a281b=>_0x5a281b['flowId']===_0x58ad4a[_0x47f511(0x416)]);await _0x4b24bc?.['write']({'flow':_0x58ad4a['flow'],'index':_0x20cc12>=0x0?_0x20cc12:_0x4cce66,'total':_0x1ba62c,'success':_0x58ad4a[_0x47f511(0x42d)],'durationMs':_0x58ad4a['totalDurationMs'],'timestamp':new Date()[_0x47f511(0x4a0)]()}),!_0x58ad4a[_0x47f511(0x42d)]&&!_0x1b8944&&(_0x31ac3c=_0x20cc12>=0x0?_0x20cc12:_0x4cce66,_0x1b8944=!![]);}else return{'success':![],'apps':[],'error':'No\x20real\x20iOS\x20device\x20connected.\x20Connect\x20a\x20device\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac.'};}if(_0x1b8944)break;continue;}if(_0x414f04['has'](_0xc2f5b6[_0x47f511(0x416)]))continue;const _0x4d47ac=Date['now']();if(_0x5f2092['missingEnv'][_0x47f511(0x1bb)]>0x0){for(const _0xf0f7dd of _0x5f2092[_0x47f511(0x439)])_0xf5f6da['add'](_0xf0f7dd);_0x4e33ce['push']({'flow':_0xc2f5b6[_0x47f511(0x4d1)],'flowId':_0xc2f5b6[_0x47f511(0x416)],'skipped':!![],'requiresEnv':Array['from'](_0x5f2092['missingEnv'])['sort']()}),await _0x4b24bc?.[_0x47f511(0x65a)]({'flow':_0xc2f5b6['name'],'index':_0x4cce66,'total':_0x1ba62c,'success':![],'durationMs':Date[_0x47f511(0x3d1)]()-_0x4d47ac,'timestamp':new Date()['toISOString']()});continue;}const _0x724267=await _0x4c1856[_0x47f511(0x725)]({'flowId':_0xc2f5b6[_0x47f511(0x416)],'name':_0xc2f5b6['name'],'steps':_0x5f2092[_0x47f511(0x163)],'beforeAll':_0x5f2092['expandedBeforeAll'],'timeoutMs':_0xc2f5b6[_0x47f511(0x5aa)]},_0x2d433b);_0x4e33ce['push'](_0x724267),await _0x4b24bc?.['write']({'flow':_0xc2f5b6[_0x47f511(0x4d1)],'index':_0x4cce66,'total':_0x1ba62c,'success':_0x724267['success'],'durationMs':_0x724267[_0x47f511(0x661)],'timestamp':new Date()[_0x47f511(0x4a0)]()});if(!_0x724267['success']){_0x31ac3c=_0x4cce66;break;}}const _0x6b0d37={'runId':_0x38d6c5,'status':_0x374601['status'],'results':_0x4e33ce,'failedAt':_0x31ac3c,'hint':_0x374601['hint']};return _0xf5f6da['size']>0x0&&(_0x6b0d37['requiresEnv']=Array['from'](_0xf5f6da)['sort']()),_0x6b0d37;}function _0x41d0d3(_0x646454){const _0x513633=_0x3ee7d6;return'WARNING:\x20the\x20working\x20tree\x20was\x20too\x20large\x20to\x20attach\x20to\x20this\x20request\x20('+_0x646454[_0x513633(0x6d9)]+'),\x20so\x20flows\x20were\x20resolved\x20against\x20the\x20committed\x20graph,\x20NOT\x20your\x20local\x20edits.\x20flowIds\x20minted\x20from\x20a\x20dirty-tree\x20preview\x20may\x20come\x20back\x20as\x20unknown-flow-ids\x20—\x20if\x20that\x20happens,\x20re-pick\x20ids\x20from\x20the\x20error\x27s\x20`available`\x20list.\x20Flow\x20ids\x20are\x20content-addressed,\x20so\x20a\x20flow\x20whose\x20steps\x20your\x20local\x20edits\x20changed\x20carries\x20a\x20different\x20id:\x20genuinely\x20divergent\x20flows\x20fail\x20explicitly\x20with\x20unknown-flow-ids\x20rather\x20than\x20silently\x20executing\x20the\x20stale\x20committed\x20steps.\x20Committing\x20your\x20changes\x20restores\x20full\x20working-tree\x20resolution.';}async function _0x4575e2(_0x1275f3){const _0x3eee3b=_0x3ee7d6;if(!_0x1275f3['getWorkingTreeDiff']||!_0x1275f3[_0x3eee3b(0x24c)]||!_0x1275f3[_0x3eee3b(0x593)])return void 0x0;const _0x49ad3a=_0x1275f3[_0x3eee3b(0x2fd)]?await _0x1275f3[_0x3eee3b(0x2fd)](_0x1275f3[_0x3eee3b(0x346)]):'main',[_0x4ad33c,_0xbdb23f,_0x3f9bf8]=await Promise[_0x3eee3b(0x9a6)]([_0x1275f3[_0x3eee3b(0x2bc)](_0x1275f3[_0x3eee3b(0x346)],_0x49ad3a),_0x1275f3[_0x3eee3b(0x35e)](_0x1275f3[_0x3eee3b(0x346)],_0x49ad3a),_0x1275f3[_0x3eee3b(0x24c)](_0x1275f3['cwd'],_0x49ad3a)]);if(!_0x4ad33c[_0x3eee3b(0x5da)]()&&_0x3f9bf8[_0x3eee3b(0x945)]===0x0)return void 0x0;if(_0x4ad33c['length']>_0x398db5)return{'omitted':'diff-too-large','detail':_0x3eee3b(0x8f6)+_0x49ad3a+_0x3eee3b(0x3d4)+_0x4ad33c[_0x3eee3b(0x945)]+_0x3eee3b(0x29f)+_0x398db5};if(_0x3f9bf8[_0x3eee3b(0x945)]>_0x3eb3a8)return{'omitted':_0x3eee3b(0x610),'detail':_0x3f9bf8['length']+'\x20files\x20changed\x20vs\x20'+_0x49ad3a+_0x3eee3b(0x7b5)+_0x3eb3a8};const _0x22ae5c=await _0x1275f3[_0x3eee3b(0x593)](_0x1275f3[_0x3eee3b(0x346)],_0x3f9bf8);return{'baseSha':_0xbdb23f,'diff':_0x4ad33c,'changedFiles':_0x3f9bf8,'appFiles':_0x22ae5c};}async function _0x1f93a6(_0x1176e8,_0x27aa66){const _0x178bd0=_0x3ee7d6,_0xeb5ec4=await _0x27aa66[_0x178bd0(0x656)]();if(!_0xeb5ec4)throw new Error(_0x3974fd);if(_0x1176e8['flowIds']['length']===0x0)throw new Error('flowIds\x20is\x20required\x20and\x20must\x20not\x20be\x20empty.');let _0x5abf7f,_0x544428;try{({owner:_0x5abf7f,repo:_0x544428}=await _0x27aa66['resolveRepo'](_0x27aa66[_0x178bd0(0x346)]));}catch{throw new Error(_0x506c7);}const [_0x374f92,_0x452658]=await Promise[_0x178bd0(0x9a6)]([_0x27aa66[_0x178bd0(0x693)](_0x27aa66[_0x178bd0(0x346)]),_0x27aa66['getGitSha'](_0x27aa66['cwd'],_0x178bd0(0x1ae))]);let _0x30b0df,_0x399a6f;try{const _0x3d2e55=await _0x4575e2(_0x27aa66);_0x3d2e55&&_0x178bd0(0x448)in _0x3d2e55?_0x399a6f=_0x41d0d3(_0x3d2e55):_0x30b0df=_0x3d2e55;}catch(_0x5c47be){await _0x27aa66[_0x178bd0(0x238)]?.['clear']();throw _0x5c47be;}await _0x27aa66['ensureGraph']?.();const _0x4ed8a5=_0x27aa66['getTestIdReady']?await _0x27aa66[_0x178bd0(0x312)]():![],_0x5a3da2=await _0x27aa66[_0x178bd0(0x20e)](_0x178bd0(0x7ba),{'repoOwner':_0x5abf7f,'repoName':_0x544428,'branch':_0x374f92,'headSha':_0x452658,'flowIds':_0x1176e8['flowIds'],..._0x30b0df??{},..._0x4ed8a5?{'testIdReady':!![]}:{}},_0xeb5ec4),_0x2db37d=await _0x13a77e(_0x5a3da2,_0x27aa66['flowRunner'],_0x27aa66['progressWriter'],_0x27aa66[_0x178bd0(0x41c)],_0x27aa66[_0x178bd0(0x43b)]);return _0x399a6f?{..._0x2db37d,'warning':_0x399a6f}:_0x2db37d;}async function _0x4123b7(_0x496acf,_0x5b0a61){const _0x48835f=_0x3ee7d6,_0x43a28c=await _0x5b0a61['loadAuth']();if(!_0x43a28c)throw new Error(_0x3974fd);if(_0x496acf['query'][_0x48835f(0x5da)]()[_0x48835f(0x945)]===0x0){if(_0x48835f(0x576)==='HJMKk')return{'ext':'png','mime':_0x48835f(0x694)};else throw new Error(_0x48835f(0x169));}let _0x5a046d,_0x153ac2;try{if(_0x48835f(0x5e1)===_0x48835f(0x5e1))({owner:_0x5a046d,repo:_0x153ac2}=await _0x5b0a61['resolveRepo'](_0x5b0a61[_0x48835f(0x346)]));else return this['child']=null,{'ok':![],'reason':_0x48835f(0x1e1),'stderr':[...this['stderrBuffer']]};}catch{throw new Error(_0x506c7);}const [_0x162bab,_0x216994]=await Promise[_0x48835f(0x9a6)]([_0x5b0a61['getCurrentBranch'](_0x5b0a61['cwd']),_0x5b0a61[_0x48835f(0x35e)](_0x5b0a61['cwd'],'HEAD')]),_0x194bc2=await _0x4575e2(_0x5b0a61);let _0x235189,_0x3f2f48;_0x194bc2&&'omitted'in _0x194bc2?_0x3f2f48=_0x41d0d3(_0x194bc2):'adNti'!==_0x48835f(0x667)?_0x3f9de9=!![]:_0x235189=_0x194bc2;await _0x5b0a61[_0x48835f(0x7b2)]?.();const _0xaad829=_0x5b0a61['getTestIdReady']?await _0x5b0a61['getTestIdReady']():![],_0x152f25=await _0x5b0a61['fetcher'](_0x48835f(0x306),{'repoOwner':_0x5a046d,'repoName':_0x153ac2,'branch':_0x162bab,'headSha':_0x216994,'query':_0x496acf[_0x48835f(0x660)],..._0x235189??{},..._0xaad829?{'testIdReady':!![]}:{}},_0x43a28c);return _0x3f2f48?{..._0x152f25,'warning':_0x3f2f48}:_0x152f25;}async function _0x432da2(_0x2658ae,_0x3d9dcf){const _0x166e33=_0x3ee7d6,_0x402df9=await _0x3d9dcf[_0x166e33(0x656)]();if(!_0x402df9)throw new Error(_0x3974fd);let _0x315b24,_0x44915d;try{({owner:_0x315b24,repo:_0x44915d}=await _0x3d9dcf[_0x166e33(0x9cc)](_0x3d9dcf[_0x166e33(0x346)]));}catch{throw new Error(_0x506c7);}const _0x9054b6=_0x2658ae['filePaths']?Array['isArray'](_0x2658ae[_0x166e33(0x882)])?_0x2658ae[_0x166e33(0x882)]:[_0x2658ae[_0x166e33(0x882)]]:void 0x0;if(_0x9054b6&&_0x9054b6['length']>_0x3eb3a8)throw new Error('Too\x20many\x20file\x20paths\x20('+_0x9054b6[_0x166e33(0x945)]+_0x166e33(0x405)+_0x3eb3a8+').\x20Narrow\x20the\x20scope.');const [_0x1c6db7,_0x4b5017]=await Promise[_0x166e33(0x9a6)]([_0x3d9dcf[_0x166e33(0x693)](_0x3d9dcf[_0x166e33(0x346)]),_0x3d9dcf[_0x166e33(0x35e)](_0x3d9dcf[_0x166e33(0x346)],_0x166e33(0x1ae))]);let _0x201aa5,_0x5e41c7;if(_0x9054b6&&_0x9054b6['length']>0x0){const _0x2d03b8=_0x3d9dcf['readChangedFileContents']?await _0x3d9dcf['readChangedFileContents'](_0x3d9dcf[_0x166e33(0x346)],_0x9054b6):void 0x0;_0x201aa5={'repoOwner':_0x315b24,'repoName':_0x44915d,'branch':_0x1c6db7,'headSha':_0x4b5017,'filePaths':_0x9054b6,..._0x2d03b8?{'appFiles':_0x2d03b8}:{}};}else{if(!_0x3d9dcf['getWorkingTreeDiff']||!_0x3d9dcf[_0x166e33(0x24c)]||!_0x3d9dcf[_0x166e33(0x593)])throw new Error(_0x166e33(0x840));const _0x5aa2b1=_0x2658ae['base']??(_0x3d9dcf['getDefaultBranch']?await _0x3d9dcf['getDefaultBranch'](_0x3d9dcf[_0x166e33(0x346)]):_0x166e33(0x32f));_0x5e41c7=_0x5aa2b1;const [_0x296bbd,_0x5721d2,_0x701e50]=await Promise[_0x166e33(0x9a6)]([_0x3d9dcf['getWorkingTreeDiff'](_0x3d9dcf['cwd'],_0x5aa2b1),_0x3d9dcf['getGitSha'](_0x3d9dcf['cwd'],_0x5aa2b1),_0x3d9dcf[_0x166e33(0x24c)](_0x3d9dcf[_0x166e33(0x346)],_0x5aa2b1)]);if(_0x296bbd['length']>_0x398db5)throw new Error('Diff\x20exceeds\x20'+_0x398db5+'\x20byte\x20limit\x20('+_0x296bbd['length']+'\x20bytes).\x20Commit\x20your\x20changes\x20in\x20smaller\x20chunks.');if(_0x701e50['length']>_0x3eb3a8)throw new Error('Too\x20many\x20changed\x20files\x20('+_0x701e50['length']+'\x20>\x20'+_0x3eb3a8+').\x20Preview\x20a\x20narrower\x20scope\x20with\x20filePaths.');const _0x4291a3=await _0x3d9dcf[_0x166e33(0x593)](_0x3d9dcf['cwd'],_0x701e50);_0x201aa5={'repoOwner':_0x315b24,'repoName':_0x44915d,'branch':_0x1c6db7,'headSha':_0x4b5017,'baseSha':_0x5721d2,'diff':_0x296bbd,'changedFiles':_0x701e50,'appFiles':_0x4291a3};}await _0x3d9dcf['ensureGraph']?.();const _0x5cb4d0=_0x3d9dcf[_0x166e33(0x312)]?await _0x3d9dcf[_0x166e33(0x312)]():![];_0x5cb4d0&&(_0x201aa5['testIdReady']=!![]);const _0x38844a=await _0x3d9dcf['fetcher']('/rn-list-flows',_0x201aa5,_0x402df9),_0x4a0fa8={};return _0x9054b6&&_0x9054b6[_0x166e33(0x945)]>0x0?_0x4a0fa8[_0x166e33(0x882)]=_0x9054b6:_0x4a0fa8['base']=_0x5e41c7??_0x166e33(0x32f),{'flows':_0x38844a['flows']??[],'totalCount':_0x38844a['totalCount']??(_0x38844a[_0x166e33(0x1f5)]?.['length']??0x0),'scope':_0x4a0fa8,..._0x38844a['truncated']?{'truncated':!![]}:{},..._0x38844a['hint']?{'hint':_0x38844a['hint']}:{}};}var _0x8e3a73=0x1e*0x3c*0x3e8,_0x3a240c=0x5dc,_0x1759a4=0x1f4,_0x588a94=0x64,_0xf9270c=0x32*0x400,_0x1438ec=0x7d0,_0x269bb3=0x3a98,_0x46472e=0x5*0x400,_0x333c79=0x0;function _0x489ed9(){const _0x1eb96f=_0x3ee7d6;return _0x333c79+=0x1,_0x1eb96f(0x47b)+Date['now']()[_0x1eb96f(0x510)](0x24)+'-'+_0x333c79['toString'](0x24);}var _0x49bbd7=0x0;function _0x28ffb2(){const _0x22099d=_0x3ee7d6;_0x49bbd7+=0x1;const _0x517183=Math['random']()[_0x22099d(0x510)](0x24)[_0x22099d(0x63b)](0x2,0xa);return'sack-'+Date[_0x22099d(0x3d1)]()[_0x22099d(0x510)](0x24)+'-'+_0x49bbd7['toString'](0x24)+'-'+_0x517183;}function _0x2fe7cf(_0x2be0cc){const _0x28b193=_0x3ee7d6;if(!_0x2be0cc)return[];return _0x2be0cc['filter'](_0x10819a=>typeof _0x10819a==='string'&&_0x10819a[_0x28b193(0x945)]>0x0&&!_0x10819a['includes'](','));}function _0x2babf9(_0x39efbc,_0x1a707d,_0x1ec83d,_0x1c0c29,_0x20ca38){const _0x3cba5c=_0x3ee7d6,_0xbf34e9=_0x1ec83d['readSet'];if(!_0xbf34e9)return'llm-decides';if(_0xbf34e9['status']===_0x3cba5c(0x776))return _0x3cba5c(0x134);if(_0xbf34e9['hasFullyDynamicRead']){if(_0x39efbc['size']>0x0||_0x1a707d)return _0x3cba5c(0x150);}for(const _0x526ca7 of _0xbf34e9[_0x3cba5c(0x208)]){const _0x6efde8=_0x526ca7[_0x3cba5c(0x3ea)]+':'+_0x526ca7[_0x3cba5c(0x2fe)];if(_0x39efbc[_0x3cba5c(0x21c)](_0x6efde8))return _0x3cba5c(0x150);if(_0x526ca7['wildcard']){if(_0x1a707d)return'recreate';if(_0x526ca7[_0x3cba5c(0x2fe)]===''){const _0x528bcc=_0x526ca7['kind']+':';for(const _0xaca18d of _0x39efbc){if(_0xaca18d['startsWith'](_0x528bcc))return _0x3cba5c(0x150);}}if(_0x526ca7[_0x3cba5c(0x2fe)]){const _0x719bf7=_0x526ca7[_0x3cba5c(0x3ea)]+':'+_0x526ca7['key'];for(const _0x5be652 of _0x39efbc){if(_0x5be652[_0x3cba5c(0x3f0)](':*'))continue;if(_0x5be652[_0x3cba5c(0x887)](_0x719bf7))return'recreate';}}}for(const _0x3d2f11 of _0x39efbc){if(!_0x3d2f11['endsWith'](':*'))continue;const _0x2fe4f1=_0x3d2f11['slice'](0x0,-0x2),_0x3b382b=_0x2fe4f1[_0x3cba5c(0x747)](':');if(_0x3b382b<0x0)continue;const _0x3eb3cc=_0x2fe4f1[_0x3cba5c(0x63b)](0x0,_0x3b382b);if(_0x3eb3cc!==_0x526ca7[_0x3cba5c(0x3ea)])continue;const _0x30e9d2=_0x2fe4f1['slice'](_0x3b382b+0x1);if(_0x30e9d2==='')return'recreate';if(_0x526ca7[_0x3cba5c(0x2fe)][_0x3cba5c(0x887)](_0x30e9d2))return'recreate';if(_0x526ca7[_0x3cba5c(0x9d7)]&&_0x526ca7[_0x3cba5c(0x2fe)]&&_0x30e9d2[_0x3cba5c(0x887)](_0x526ca7['key']))return'recreate';}}if(_0x1ec83d[_0x3cba5c(0x3ed)]&&_0x1ec83d[_0x3cba5c(0x3ed)]['length']>0x0){const _0x2d4bcc=new Set(_0x20ca38);for(const _0x2bdeae of _0x1ec83d['mutexWith']){if(_0x2d4bcc[_0x3cba5c(0x21c)](_0x2bdeae))return'recreate';}}return _0x3cba5c(0x531);}var _0x451a74=class{constructor(_0x2b48e1,_0x3fa53f,_0x389877,_0x596aff,_0x2b0716={}){const _0x8940c=_0x3ee7d6;this[_0x8940c(0x205)]=_0x2b48e1,this['screen']=_0x3fa53f,this['apps']=_0x389877,this[_0x8940c(0x7c3)]=_0x2b0716[_0x8940c(0x7c3)]??_0x8e3a73,this[_0x8940c(0x3c8)]=_0x2b0716['resetDelayMs']??_0x3a240c,this['bootDebounceMs']=_0x2b0716[_0x8940c(0x990)]??_0x1438ec,this[_0x8940c(0x581)]=_0x2b0716['bootMaxWaitMs']??_0x269bb3,this['bootSource']=_0x596aff,this[_0x8940c(0x43b)]=_0x2b0716[_0x8940c(0x43b)],this[_0x8940c(0x41c)]=_0x2b0716[_0x8940c(0x41c)],this['videoRecorderFactory']=_0x2b0716[_0x8940c(0x464)];}[_0x3ee7d6(0x22c)]=new Map();[_0x3ee7d6(0x7c3)];[_0x3ee7d6(0x3c8)];['bootDebounceMs'];[_0x3ee7d6(0x581)];[_0x3ee7d6(0x1c5)];[_0x3ee7d6(0x43b)];['testDataManager'];['videoRecorderFactory'];['accumulatedBootDrains']=null;[_0x3ee7d6(0x1dc)]=Promise['resolve']();['setVideoRecorderFactory'](_0x5d83cd){this['videoRecorderFactory']=_0x5d83cd;}[_0x3ee7d6(0xee)](_0x1fec15){this['testDataManager']=_0x1fec15;}['getTestDataManager'](){return this['testDataManager'];}async['start'](_0x349261){const _0x5896ae=_0x3ee7d6;this[_0x5896ae(0x822)]();const _0x14b4e8=Array[_0x5896ae(0x70f)](this[_0x5896ae(0x22c)]['values']())[_0x5896ae(0x7bd)](_0x912ba9=>_0x912ba9['busy']);if(_0x14b4e8)return{'runId':'','status':_0x5896ae(0x125),'completedSegments':[],'error':_0x5896ae(0x938)+_0x14b4e8[_0x5896ae(0x297)]+_0x5896ae(0x718)};if(this[_0x5896ae(0x41c)]){if('TChFV'!=='Vmanb')void this['testDataManager']['cleanupJit']()['catch'](()=>void 0x0);else return![];}const _0x2224e4=_0x484ae6(_0x349261);if(_0x2224e4)return{'runId':'','status':'error','completedSegments':[],'error':_0x2224e4};const _0x54add4=_0x489ed9(),_0x5b0981=Date['now'](),_0x40b5b0={'runId':_0x54add4,'chain':_0x349261,'nextFlowIndex':0x0,'completed':[],'mutations':[],'lastTouchedMs':_0x5b0981,'startedAt':_0x5b0981,'busy':!![],'accumulatedWriteKeys':new Set(),'accumulatedHasFullyDynamicWrite':![],'authWallRetries':new Map(),'videoRecorder':null,'videoPath':null,'videoStartError':null,..._0x349261[_0x5896ae(0xd7)]&&_0x349261[_0x5896ae(0xd7)]['length']>0x0?{'affectedFlowNames':new Set(_0x349261['affectedFlowNames'])}:{}};this['runs']['set'](_0x54add4,_0x40b5b0);if(this[_0x5896ae(0x464)])try{if('OOBbJ'===_0x5896ae(0x544))this[_0x5896ae(0x5e9)]=_0x115313,this[_0x5896ae(0x7dd)]=_0x2f5df9,this[_0x5896ae(0x90d)]=_0x27767c,this[_0x5896ae(0x217)]=_0x458a96;else{const _0x457cd9=this['videoRecorderFactory']({'runId':_0x54add4}),_0x337ece=await _0x457cd9[_0x5896ae(0x41b)]();if(_0x337ece['ok'])_0x40b5b0['videoRecorder']=_0x457cd9;else{if('OAFss'!==_0x5896ae(0x802)){if(_0x5741a3[_0x5896ae(0x4dc)]!=='IPv4')return null;if(_0x1d233e['internal'])return null;if(_0x3f887b[_0x5896ae(0x26c)]['startsWith']('127.'))return null;if(_0x34725c[_0x5896ae(0x26c)]['startsWith']('169.254.'))return null;let _0x144138;if(_0x119c5a['has'](_0x188aa6))_0x144138='wifi';else{if(_0x2a384d['has'](_0xdd1c8c))_0x144138=_0x5896ae(0x7af);else return null;}return{'interfaceName':_0x38ddfe,'address':_0x47ee6c['address'],'kind':_0x144138};}else _0x40b5b0['videoStartError']=_0x337ece[_0x5896ae(0x125)],process['stderr']['write'](_0x5896ae(0x85d)+_0x54add4+':\x20'+_0x337ece[_0x5896ae(0x125)]+'\x0a');}}}catch(_0x49e238){const _0x4bc962=_0x49e238 instanceof Error?_0x49e238[_0x5896ae(0x92e)]:String(_0x49e238);_0x40b5b0[_0x5896ae(0x22e)]=_0x4bc962,process['stderr']['write'](_0x5896ae(0x1a5)+_0x54add4+':\x20'+_0x4bc962+'\x0a');}try{return _0x40b5b0['initialObservation']=await this[_0x5896ae(0x64c)](()=>this['captureInitialObservation'](_0x349261['bootRequestPatterns'])),await this['advanceUntilPauseOrEnd'](_0x40b5b0);}catch(_0x13a0d3){const _0x3caaf0=_0x13a0d3 instanceof Error?_0x13a0d3[_0x5896ae(0x92e)]:String(_0x13a0d3);return _0x40b5b0[_0x5896ae(0x2a3)]=_0x5896ae(0x8c1)+_0x3caaf0,await this['buildErrorResponse'](_0x40b5b0);}finally{_0x40b5b0['busy']=![];}}async[_0x3ee7d6(0x64c)](_0x5a8ed9){const _0x10591e=_0x3ee7d6,_0x5be40f=this['bootCaptureTail'];let _0x5b43b9;this[_0x10591e(0x1dc)]=new Promise(_0x378db4=>{_0x5b43b9=_0x378db4;});try{return await _0x5be40f[_0x10591e(0x4ba)](()=>void 0x0),await _0x5a8ed9();}finally{_0x5b43b9();}}async[_0x3ee7d6(0x673)](_0x15d980,_0x2a0e57){const _0x102b50=_0x3ee7d6;this['evictExpired']();const _0x84d386=this[_0x102b50(0x22c)][_0x102b50(0x47a)](_0x15d980);if(!_0x84d386)return{'runId':_0x15d980,'status':_0x102b50(0x125),'completedSegments':[],'error':_0x102b50(0x92d)};_0x84d386[_0x102b50(0x118)]=Date[_0x102b50(0x3d1)]();if(_0x84d386[_0x102b50(0x2a3)])return{'runId':_0x15d980,'status':'error','initialObservation':_0x84d386['initialObservation'],'completedSegments':_0x84d386['completed'],'error':_0x84d386[_0x102b50(0x2a3)],..._0x84d386[_0x102b50(0x714)]?{'videoPath':_0x84d386['videoPath']}:{}};if(_0x84d386['busy'])return{'runId':_0x15d980,'status':'error','initialObservation':_0x84d386['initialObservation'],'completedSegments':_0x84d386['completed'],'error':'Chain\x20run\x20is\x20busy\x20advancing\x20a\x20prior\x20call.\x20Wait\x20for\x20the\x20in-flight\x20response\x20before\x20issuing\x20another\x20rn_test_chain_continue.'};const _0x3cdd87=_0x84d386['awaitingErrorDecision']!==void 0x0,_0x59987e=_0x2a0e57===_0x102b50(0x11e)||_0x2a0e57==='halt';if(_0x3cdd87!==_0x59987e){const _0x5c43d8=_0x3cdd87?'awaiting_error_decision':'awaiting_decision',_0x54a030=_0x3cdd87?_0x102b50(0x897):_0x102b50(0x44e);return{'runId':_0x15d980,'status':'error','initialObservation':_0x84d386['initialObservation'],'completedSegments':_0x84d386['completed'],'error':_0x102b50(0x61a)+_0x2a0e57+'\x22\x20is\x20not\x20valid\x20for\x20pause\x20state\x20\x22'+_0x5c43d8+_0x102b50(0x4ef)+_0x54a030+'.'};}_0x84d386['busy']=!![];try{if(_0x84d386['awaitingErrorDecision']){if(_0x102b50(0x680)!==_0x102b50(0x680)){const _0x3a6522=_0x5993a9['pop'](),_0x3a7271=_0x3a6522['rawIdentifier'];if(typeof _0x3a7271===_0x102b50(0x7fd)&&_0x3a7271[_0x102b50(0x17e)]()['includes']('redbox'))return!![];if(_0x5a4c1e['isArray'](_0x3a6522['children'])){for(const _0x3f6850 of _0x3a6522[_0x102b50(0x9c3)])_0x4b90a9['push'](_0x3f6850);}}else{const _0x18baed=_0x84d386['awaitingErrorDecision'];if(_0x2a0e57==='halt'){const _0x42cfb4=_0x84d386[_0x102b50(0x712)][_0x84d386['completed']['length']-0x1];return _0x84d386['errorMessage']=_0x102b50(0x3b3)+(_0x42cfb4?.[_0x102b50(0x2d7)]??'?')+'\x22\x20('+(_0x42cfb4?.[_0x102b50(0x50a)]??'no\x20details')+').',_0x84d386[_0x102b50(0x2e0)]=void 0x0,await this[_0x102b50(0x642)](_0x84d386),await this['updateRunIndex'](_0x84d386,!![])[_0x102b50(0x4ba)](()=>void 0x0),await this[_0x102b50(0x72c)](_0x84d386);}return _0x18baed['retriesUsed']+=0x1,_0x84d386[_0x102b50(0x712)]['pop'](),await this[_0x102b50(0x132)](_0x84d386);}}return _0x2a0e57==='recreate'&&await this['applyRecreate'](_0x84d386),await this['advanceUntilPauseOrEnd'](_0x84d386);}catch(_0x5b7399){const _0x3195e6=_0x5b7399 instanceof Error?_0x5b7399[_0x102b50(0x92e)]:String(_0x5b7399);return _0x84d386['errorMessage']='Chain\x20crashed\x20while\x20advancing:\x20'+_0x3195e6,await this['stopVideoRecording'](_0x84d386),await this[_0x102b50(0x72c)](_0x84d386);}finally{_0x84d386['busy']=![];}}async[_0x3ee7d6(0x132)](_0x33d1d5){const _0x52053b=_0x3ee7d6;while(_0x33d1d5[_0x52053b(0x46f)]<_0x33d1d5[_0x52053b(0x5be)]['flows'][_0x52053b(0x945)]){const _0x24fd9a=_0x33d1d5['nextFlowIndex'],_0x6e7579=_0x33d1d5['chain'][_0x52053b(0x1f5)][_0x24fd9a];if(_0x24fd9a>0x0){const _0x4c15af=await this[_0x52053b(0x1ea)](_0x33d1d5[_0x52053b(0x5be)]['bridges'][_0x24fd9a-0x1]??[]);if(!_0x4c15af['ok']){const _0x1b7482=this[_0x52053b(0x71e)](_0x6e7579['name'],0x0,_0x52053b(0x78d),_0x52053b(0x6a6),_0x33d1d5);return _0x33d1d5[_0x52053b(0x712)]['push'](_0x1b7482),_0x33d1d5['errorMessage']=_0x52053b(0x3d3)+_0x1b7482['errorSummary'],await this[_0x52053b(0x642)](_0x33d1d5),await this[_0x52053b(0x72c)](_0x33d1d5);}}const _0x2eae1c=_0x33d1d5['affectedFlowNames']&&_0x33d1d5['affectedFlowNames']['size']>0x0?_0x33d1d5[_0x52053b(0xd7)]:void 0x0,_0x2b773e=this['runsStore']||_0x2eae1c?{'runId':_0x33d1d5[_0x52053b(0x297)],...this[_0x52053b(0x43b)]?{'store':this['runsStore']}:{},..._0x2eae1c?{'affectedFlowNames':_0x2eae1c}:{}}:void 0x0,_0x467f3d=_0x33d1d5['mutations'][_0x52053b(0x945)],_0x16eab5=this[_0x52053b(0x1a6)](_0x6e7579),_0x3c5ad8=await this[_0x52053b(0x205)][_0x52053b(0x725)](_0x16eab5,_0x2b773e),_0x13a922=this[_0x52053b(0x820)](_0x3c5ad8,_0x33d1d5,_0x24fd9a);_0x33d1d5['completed']['push'](_0x13a922),_0x33d1d5[_0x52053b(0x118)]=Date['now'](),await this['updateRunIndex'](_0x33d1d5)['catch'](()=>void 0x0);_0x3c5ad8[_0x52053b(0x42d)]&&_0x33d1d5[_0x52053b(0x2e0)]?.['failedFlowIndex']===_0x24fd9a&&(_0x33d1d5['awaitingErrorDecision']=void 0x0);this['recordMutations'](_0x6e7579,_0x33d1d5),this[_0x52053b(0x7b9)](_0x33d1d5,_0x6e7579);if(!_0x3c5ad8[_0x52053b(0x42d)]){const _0x5a5b4e=_0x13a922[_0x52053b(0x25f)],_0x1c964f=_0x6e7579['flowId']??_0x6e7579[_0x52053b(0x4d1)],_0x485a47=_0x33d1d5['authWallRetries']['get'](_0x1c964f)??0x0;if(_0x5a5b4e==='auth_wall'&&this['testDataManager']&&_0x485a47<0x1){_0x33d1d5['authWallRetries'][_0x52053b(0x3b6)](_0x1c964f,_0x485a47+0x1),process['stderr'][_0x52053b(0x65a)](_0x52053b(0x809)+_0x6e7579[_0x52053b(0x4d1)]+'\x22\x20—\x20attempting\x20JIT\x20recovery\x0a'),await this['applyRecreate'](_0x33d1d5),_0x33d1d5[_0x52053b(0x712)]['pop']();_0x33d1d5[_0x52053b(0x530)][_0x52053b(0x945)]>_0x467f3d&&(_0x33d1d5['mutations']['length']=_0x467f3d);continue;}if(_0x5a5b4e===_0x52053b(0x5ec)&&this['testDataManager']&&_0x485a47>=0x1)return _0x33d1d5[_0x52053b(0x2a3)]=_0x52053b(0x6e4)+_0x6e7579['name']+'\x22\x20failed\x20at\x20auth\x20wall\x20after\x20JIT\x20recovery\x20attempt\x20—\x20verify\x20your\x20auth\x20provider\x20is\x20configured\x20correctly\x20in\x20ceraph.config.js',await this[_0x52053b(0x642)](_0x33d1d5),await this[_0x52053b(0x1b2)](_0x33d1d5,!![])[_0x52053b(0x4ba)](()=>void 0x0),await this[_0x52053b(0x72c)](_0x33d1d5);const _0x3b15ac=_0x33d1d5[_0x52053b(0x2e0)];if(_0x3b15ac&&_0x3b15ac[_0x52053b(0x4c6)]===_0x24fd9a&&_0x3b15ac[_0x52053b(0x8a6)]>=0x1)return _0x33d1d5[_0x52053b(0x2a3)]='Chain\x20aborted\x20at\x20flow\x20\x22'+_0x6e7579['name']+'\x22\x20('+(_0x13a922['errorSummary']??_0x52053b(0x653))+_0x52053b(0x290)+_0x13a922['durationMs']+'ms\x20—\x20second\x20failure\x20after\x20LLM-issued\x20retry.',_0x33d1d5['awaitingErrorDecision']=void 0x0,await this['stopVideoRecording'](_0x33d1d5),await this[_0x52053b(0x1b2)](_0x33d1d5,!![])[_0x52053b(0x4ba)](()=>void 0x0),await this['buildErrorResponse'](_0x33d1d5);return _0x33d1d5['mutations'][_0x52053b(0x945)]>_0x467f3d&&(_0x33d1d5['mutations'][_0x52053b(0x945)]=_0x467f3d),_0x33d1d5['awaitingErrorDecision']=_0x3b15ac??{'failedFlowIndex':_0x24fd9a,'retriesUsed':0x0},await this['updateRunIndex'](_0x33d1d5)['catch'](()=>void 0x0),{'runId':_0x33d1d5[_0x52053b(0x297)],'status':_0x52053b(0x585),'initialObservation':_0x33d1d5['initialObservation'],'completedSegments':_0x33d1d5['completed'],'errorEvent':{'flow':_0x6e7579['name'],'failureCause':_0x5a5b4e,'errorSummary':_0x13a922[_0x52053b(0x50a)]??'No\x20failure\x20detail\x20recorded.'}};}_0x33d1d5[_0x52053b(0x46f)]+=0x1;if(_0x33d1d5[_0x52053b(0x5be)][_0x52053b(0x66a)][_0x52053b(0x83f)](_0x24fd9a)&&_0x33d1d5['nextFlowIndex']<_0x33d1d5['chain']['flows']['length']){const _0x15872c=_0x33d1d5['chain'][_0x52053b(0x1f5)][_0x33d1d5[_0x52053b(0x46f)]],_0x214b07=_0x33d1d5[_0x52053b(0x5be)][_0x52053b(0x143)]?.[_0x33d1d5['nextFlowIndex']]??[],_0x1b4ac3=_0x33d1d5[_0x52053b(0x712)][_0x52053b(0x986)](_0x3715d7=>_0x3715d7['flow']),_0x4fa48c=_0x2babf9(_0x33d1d5['accumulatedWriteKeys'],_0x33d1d5[_0x52053b(0x9b4)],_0x15872c,_0x214b07,_0x1b4ac3);if(_0x4fa48c===_0x52053b(0x531))continue;if(_0x4fa48c==='recreate'){if('ArXYY'!==_0x52053b(0x284))return _0x5f2249();else{await this[_0x52053b(0x149)](_0x33d1d5);continue;}}const _0x55f866=this['buildSnapPoint'](_0x33d1d5,_0x6e7579,_0x24fd9a);if(_0x55f866)return{'runId':_0x33d1d5['runId'],'status':_0x52053b(0x113),'initialObservation':_0x33d1d5['initialObservation'],'completedSegments':_0x33d1d5[_0x52053b(0x712)],'snapPoint':_0x55f866};}}await this['stopVideoRecording'](_0x33d1d5),await this['updateRunIndex'](_0x33d1d5,!![])['catch'](()=>void 0x0),this[_0x52053b(0x22c)][_0x52053b(0x14d)](_0x33d1d5[_0x52053b(0x297)]);this[_0x52053b(0x41c)]&&void this[_0x52053b(0x41c)][_0x52053b(0x6de)]()['catch'](()=>void 0x0);const _0x438cff=_0x33d1d5[_0x52053b(0x712)]['reduce']((_0x41b62f,_0x1294bb)=>_0x41b62f+_0x1294bb['durationMs'],0x0);return{'runId':_0x33d1d5['runId'],'status':_0x52053b(0x429),'initialObservation':_0x33d1d5[_0x52053b(0x363)],'completedSegments':_0x33d1d5['completed'],'finalResult':{'success':_0x33d1d5[_0x52053b(0x712)]['every'](_0x1466e5=>_0x1466e5[_0x52053b(0x42d)]),'totalDurationMs':_0x438cff},..._0x33d1d5['videoPath']?{'videoPath':_0x33d1d5['videoPath']}:{}};}async[_0x3ee7d6(0x72c)](_0x92f497){const _0x217e19=_0x3ee7d6;return _0x92f497['lastTouchedMs']=Date[_0x217e19(0x3d1)](),await this['stopVideoRecording'](_0x92f497),{'runId':_0x92f497[_0x217e19(0x297)],'status':'error','initialObservation':_0x92f497['initialObservation'],'completedSegments':_0x92f497[_0x217e19(0x712)],'error':_0x92f497[_0x217e19(0x2a3)]??_0x217e19(0x331),..._0x92f497[_0x217e19(0x714)]?{'videoPath':_0x92f497[_0x217e19(0x714)]}:{}};}async['stopVideoRecording'](_0x16b9da){const _0xcec8c3=_0x3ee7d6,_0x510cef=_0x16b9da['videoRecorder'];if(!_0x510cef)return;_0x16b9da[_0xcec8c3(0x65f)]=null;try{await _0x510cef['stop']();if(!_0x16b9da['videoPath']){const _0x62cbfa=this['runsStore']?_0x4b2a43(this['runsStore']['rootDir'],_0x16b9da[_0xcec8c3(0x297)]):null;if(_0x62cbfa)_0x16b9da['videoPath']=_0x4b2a43(_0x62cbfa,'chain.mp4');}}catch(_0x248405){process[_0xcec8c3(0x870)][_0xcec8c3(0x65a)]('[ceraph]\x20video\x20recorder\x20stop\x20failed:\x20'+(_0x248405 instanceof Error?_0x248405[_0xcec8c3(0x92e)]:String(_0x248405))+'\x0a');}}['buildSnapPoint'](_0x54bb3f,_0x4b3f00,_0x326804){const _0x5a7eb5=_0x3ee7d6,_0x41c56f=_0x4b3f00['steps'][_0x5a7eb5(0x7bd)](_0x4c2ba5=>_0x4c2ba5['verifyMutation']&&_0x55045b(_0x4c2ba5['verifyMutation']));if(!_0x41c56f?.['verifyMutation'])return null;const _0x1a8af2=_0x54bb3f[_0x5a7eb5(0x712)][_0x5a7eb5(0x986)](_0x16e9e9=>_0x16e9e9['flow']),_0x3c2c2e=_0x54bb3f[_0x5a7eb5(0x5be)][_0x5a7eb5(0x1f5)][_0x5a7eb5(0x63b)](_0x326804+0x1)[_0x5a7eb5(0x986)]((_0x2efe8a,_0x3bd201)=>{const _0x4c32ad=_0x5a7eb5,_0x41692a=_0x326804+0x1+_0x3bd201,_0xd1ce66=_0x54bb3f['chain']['perFlowStatedDependencies']?.[_0x41692a]??[],_0xffb038=_0x54bb3f['chain'][_0x4c32ad(0x337)]?.[_0x41692a],_0x5ed098=_0x2babf9(_0x54bb3f[_0x4c32ad(0x9da)],_0x54bb3f[_0x4c32ad(0x9b4)],_0x2efe8a,_0xd1ce66,_0x1a8af2);return{'flow':_0x2efe8a[_0x4c32ad(0x4d1)],'statedDependencies':_0xd1ce66,..._0xffb038&&_0xffb038[_0x4c32ad(0x945)]>0x0?{'mutexWith':_0xffb038}:{},'staticDecision':_0x5ed098};});return{'flow':_0x4b3f00['name'],'flowIndex':_0x326804,'mutation':{'method':_0x41c56f[_0x5a7eb5(0x636)]['sourceMethod']['toUpperCase'](),'endpoint':_0x41c56f['verifyMutation']['sourceEndpoint'],..._0x41c56f[_0x5a7eb5(0x636)][_0x5a7eb5(0x6bd)]?{'affectedDisplayRoute':_0x41c56f['verifyMutation']['affectedDisplayRoute']}:{}},'remainingChain':_0x3c2c2e,'nextFlowStatedDependencies':_0x3c2c2e[0x0]?.[_0x5a7eb5(0x52b)]??[]};}['buildFlowReport'](_0x898f95,_0x2802eb,_0x4bbd7c){const _0x907537=_0x3ee7d6,_0x171f60=_0x898f95['steps'][_0x907537(0x6e5)]((_0x2e12c7,_0x5a3dcc)=>_0x2e12c7+(_0x5a3dcc['screenshotBase64']?0x1:0x0),0x0),_0x3d1d06=_0x898f95[_0x907537(0x852)]??0x0,_0x537be4=_0x50401f(_0x898f95);if(_0x898f95['success'])return{'flow':_0x898f95[_0x907537(0x2d7)],'success':!![],'durationMs':_0x898f95[_0x907537(0x661)],'screenshotCount':_0x171f60,'screenshotsAvailable':_0x3d1d06,..._0x537be4};const _0x2220e0=_0x2802eb['chain']['perFlowStatedDependencies']?.[_0x4bbd7c]??[],_0x3f023e=_0x43b054(_0x898f95,_0x2220e0),_0x4aa93d=_0x605049(_0x898f95);return{'flow':_0x898f95['flow'],'success':![],'durationMs':_0x898f95['totalDurationMs'],'errorSummary':_0x4aa93d,'screenshotCount':_0x171f60,'screenshotsAvailable':_0x3d1d06,'failureCause':_0x3f023e,..._0x3f023e===_0x907537(0x87d)?{'expectedState':{'statedDependencies':_0x2220e0},'actualState':{'screen':this[_0x907537(0x98f)](_0x898f95)}}:{},'precedingMutations':_0x2802eb[_0x907537(0x530)][_0x907537(0x945)]>0x0?[..._0x2802eb['mutations']]:void 0x0,..._0x537be4};}['buildFailureReport'](_0x5e6951,_0x3b5882,_0x1643cd,_0x1b75ed,_0x28dd4e){const _0x53be14=_0x3ee7d6;return{'flow':_0x5e6951,'success':![],'durationMs':_0x3b5882,'errorSummary':_0x1643cd,'screenshotCount':0x0,'screenshotsAvailable':0x0,'failureCause':_0x1b75ed,'precedingMutations':_0x28dd4e['mutations'][_0x53be14(0x945)]>0x0?[..._0x28dd4e['mutations']]:void 0x0};}async['updateRunIndex'](_0x4f59b2,_0x106658=![]){const _0x2166e3=_0x3ee7d6;if(!this['runsStore'])return;const _0x2b9072=_0x4f59b2['completed'][_0x2166e3(0x986)](_0x469ccb=>{const _0x5ebc17=_0x2166e3,_0x56782d=_0x469ccb[_0x5ebc17(0x42d)]?'success':_0x5ebc17(0x621),_0x59111a=_0x4f59b2['mutations'][_0x5ebc17(0x2a5)](_0x202356=>_0x202356['flow']===_0x469ccb[_0x5ebc17(0x2d7)]);return{'flowName':_0x469ccb[_0x5ebc17(0x2d7)],'stepCount':_0x469ccb[_0x5ebc17(0x852)],'mutates':_0x59111a,'status':_0x56782d};}),_0x359d39={'runId':_0x4f59b2[_0x2166e3(0x297)],'startedAt':_0x4f59b2['startedAt'],..._0x106658?{'finishedAt':Date['now']()}:{},'flows':_0x2b9072,..._0x4f59b2['videoPath']?{'videoPath':_0x4f59b2['videoPath']}:{}};await this['runsStore']['saveRunIndex'](_0x4f59b2[_0x2166e3(0x297)],_0x359d39);}[_0x3ee7d6(0x98f)](_0x138fd6){const _0x2187f5=_0x3ee7d6;for(let _0xc6376a=_0x138fd6[_0x2187f5(0x22d)]['length']-0x1;_0xc6376a>=0x0;_0xc6376a--){const _0x29a161=_0x138fd6['steps'][_0xc6376a];if(_0x29a161['action']!=='assertVisible')continue;const _0x3e7bf4=_0x29a161[_0x2187f5(0x220)],_0x260691=_0x3e7bf4?.['element']?.[_0x2187f5(0x4d1)];if(typeof _0x260691==='string'&&_0x260691['length']>0x0)return _0x260691;}return null;}['accumulateWriteSet'](_0x321957,_0xa463d9){const _0x513b9f=_0x3ee7d6;if(!_0xa463d9['writeSet']||_0xa463d9[_0x513b9f(0x231)][_0x513b9f(0x9d0)]===_0x513b9f(0x776))return;_0xa463d9['writeSet'][_0x513b9f(0x509)]&&(_0x321957['accumulatedHasFullyDynamicWrite']=!![]);for(const _0x4795ae of _0xa463d9[_0x513b9f(0x231)][_0x513b9f(0x208)]){_0x4795ae[_0x513b9f(0x9d7)]?_0x321957['accumulatedWriteKeys'][_0x513b9f(0x5c1)](_0x4795ae[_0x513b9f(0x3ea)]+':'+_0x4795ae['key']+':*'):'UTQhO'==='SWLhJ'?this[_0x513b9f(0x864)]=_0x100b1e:_0x321957[_0x513b9f(0x9da)]['add'](_0x4795ae['kind']+':'+_0x4795ae['key']);}}[_0x3ee7d6(0x1a6)](_0x1da3c2){const _0x1a1c65=_0x3ee7d6,_0xa94e73=_0x330e47(this[_0x1a1c65(0x41c)]),{value:_0x380d61}=_0x5ab885({'steps':_0x1da3c2['steps'],'beforeAll':_0x1da3c2[_0x1a1c65(0x1d9)]},process.env,_0xa94e73);return{..._0x1da3c2,'steps':_0x380d61[_0x1a1c65(0x22d)],'beforeAll':_0x380d61['beforeAll']};}[_0x3ee7d6(0x58d)](_0x151f0e,_0x1fd002){const _0x5f571b=_0x3ee7d6;for(const _0x3950c6 of _0x151f0e[_0x5f571b(0x22d)]){if(!_0x3950c6['verifyMutation'])continue;if(!_0x55045b(_0x3950c6[_0x5f571b(0x636)]))continue;_0x1fd002['mutations']['push']({'method':_0x3950c6[_0x5f571b(0x636)]['sourceMethod']['toUpperCase'](),'endpoint':_0x3950c6['verifyMutation']['sourceEndpoint'],'flow':_0x151f0e['name']});}}async[_0x3ee7d6(0x1ea)](_0x3de17a){const _0x262c79=_0x3ee7d6;for(const _0x2c478b of _0x3de17a){const _0x57723d=_0x2c478b['triggerLabel']??_0x2c478b['toRoute'],_0x262387=await this['flowRunner'][_0x262c79(0x255)]({'action':'tap','text':_0x57723d});if(!_0x262387['success'])return{'ok':![],'failedHopTarget':_0x57723d};}return{'ok':!![]};}async[_0x3ee7d6(0x53d)](_0x5c1911,_0x4feff0){const _0x43ab74=_0x3ee7d6,_0x229809=Date[_0x43ab74(0x3d1)]();while(Date['now']()-_0x229809<_0x4feff0){const _0x20b736=await this['apps']['getActiveApp']()[_0x43ab74(0x4ba)](()=>null);if(_0x20b736&&_0x20b736['success']&&_0x20b736[_0x43ab74(0x708)]!==_0x5c1911)return;await new Promise(_0x51cd2b=>setTimeout(_0x51cd2b,_0x588a94));}}async[_0x3ee7d6(0x526)](_0x375ce3,_0x412d8a){const _0x2a659e=_0x3ee7d6,_0xf8eb93=Date[_0x2a659e(0x3d1)]();while(Date[_0x2a659e(0x3d1)]()-_0xf8eb93<_0x412d8a){const _0x1cfbda=await this[_0x2a659e(0x7dd)][_0x2a659e(0x899)]()[_0x2a659e(0x4ba)](()=>null);if(_0x1cfbda&&_0x1cfbda[_0x2a659e(0x42d)]&&_0x1cfbda[_0x2a659e(0x708)]===_0x375ce3)return;await new Promise(_0x2e45b7=>setTimeout(_0x2e45b7,_0x588a94));}}async['applyRecreate'](_0x46b83e){const _0x24c7f6=_0x3ee7d6,_0x2e99ac=_0x46b83e[_0x24c7f6(0x712)][_0x46b83e[_0x24c7f6(0x712)]['length']-0x1]?.[_0x24c7f6(0x25f)],_0x20c821=_0x46b83e[_0x24c7f6(0x5be)][_0x24c7f6(0x1f5)][_0x46b83e[_0x24c7f6(0x46f)]],_0xa2e6cb=_0x20c821?.[_0x24c7f6(0x1d9)]?.['ensureLaunched']??_0x46b83e['chain'][_0x24c7f6(0x1f5)][_0x46b83e[_0x24c7f6(0x46f)]>0x0?_0x46b83e['nextFlowIndex']-0x1:0x0]?.[_0x24c7f6(0x1d9)]?.['ensureLaunched']??_0x46b83e['chain']['flows'][0x0]?.[_0x24c7f6(0x1d9)]?.['ensureLaunched'];if(this[_0x24c7f6(0x41c)]&&this['testDataManager'][_0x24c7f6(0x676)]()&&_0x2e99ac==='auth_wall')try{if(_0x24c7f6(0x349)==='ccuha'){if(_0xcf17d9['size']>0x0||_0x39bafb)return _0x24c7f6(0x150);}else await this['testDataManager']['provisionJit']();}catch(_0x343d18){console['error'](_0x24c7f6(0x213)+(_0x343d18?.[_0x24c7f6(0x92e)]??String(_0x343d18)));}const _0x42a3b3=_0x2fe7cf(_0x20c821?.['requiresCleanKeys']),_0x328539=Boolean(_0x42a3b3['length']>0x0&&_0xa2e6cb);let _0x41d286=![];_0x328539&&(_0x41d286=await this[_0x24c7f6(0x14a)](_0x42a3b3,_0xa2e6cb)['catch'](()=>![])===!![]),_0xa2e6cb&&(await this['apps']['terminateApp'](_0xa2e6cb)[_0x24c7f6(0x4ba)](()=>void 0x0),await this[_0x24c7f6(0x53d)](_0xa2e6cb,_0x1759a4),await this['apps']['launchApp'](_0xa2e6cb)['catch'](()=>void 0x0)),!_0x328539&&await this[_0x24c7f6(0x5e9)]['openUrl']('ceraph://reset')['catch'](()=>void 0x0),_0x328539&&_0x41d286&&_0xa2e6cb?await this[_0x24c7f6(0x526)](_0xa2e6cb,this[_0x24c7f6(0x3c8)]):await new Promise(_0x5b5880=>setTimeout(_0x5b5880,this['resetDelayMs']));}async[_0x3ee7d6(0x14a)](_0x5b4998,_0x2969c9){const _0x2be65b=_0x3ee7d6;if(!_0x5b4998[_0x2be65b(0x945)])return![];const _0x1f5252=_0x2fe7cf(_0x5b4998);if(!_0x1f5252['length'])return![];const _0xe1268f=_0x28ffb2(),_0x116882=encodeURIComponent(_0x1f5252['join'](',')),_0x5e3dba=_0x2be65b(0x6c9)+_0x116882+_0x2be65b(0x79f)+encodeURIComponent(_0xe1268f),_0x42b168=this['bootSource']?.['waitForStorageAck']?.['bind'](this['bootSource']);try{if(!_0x42b168)return process['stderr'][_0x2be65b(0x65a)]('[ceraph][ceraph-infra]\x20deleteAsyncStorageKeys:\x20no\x20waitForStorageAck\x20on\x20boot\x20source;\x20dispatched\x20delete\x20without\x20ACK\x20confirmation\x0a'),await this[_0x2be65b(0x5e9)]['openUrl'](_0x5e3dba),![];const _0x59a29d=_0x42b168(0x7d0,_0xe1268f)[_0x2be65b(0x4ba)](()=>null);await this[_0x2be65b(0x5e9)]['openUrl'](_0x5e3dba);const _0x46cd83=await _0x59a29d;if(!_0x46cd83?.[_0x2be65b(0x42d)])return process[_0x2be65b(0x870)]['write'](_0x2be65b(0x37d)+_0x1f5252[_0x2be65b(0x221)](',')+'\x0a'),![];return!![];}catch(_0x50b854){return process[_0x2be65b(0x870)][_0x2be65b(0x65a)]('[ceraph][ceraph-infra]\x20deleteAsyncStorageKeys\x20dispatch\x20error:\x20'+(_0x50b854 instanceof Error?_0x50b854['message']:String(_0x50b854))+'\x0a'),![];}}async['captureInitialObservation'](_0x78dc46){const _0x4af4b2=_0x3ee7d6;let _0x2e2003='unknown',_0x55ff93=null,_0x5faaa=[],_0x4cdfb6=[],_0x488e69=![],_0x215487;if(this['bootSource'])try{this['bootSource']['setBootCaptureMode'](!![]);}catch{}try{const _0x29f77a=await this['screen']['getSource']()[_0x4af4b2(0x4ba)](()=>null),_0x1ce8c1=await this['apps'][_0x4af4b2(0x899)]()[_0x4af4b2(0x4ba)](()=>null);_0x55ff93=_0x1ce8c1&&_0x1ce8c1[_0x4af4b2(0x42d)]?_0x1ce8c1['bundleId']??null:null;_0x29f77a?.['success']&&_0x29f77a[_0x4af4b2(0x827)]&&(_0x2e2003=_0x55be68(_0x29f77a['source']));this[_0x4af4b2(0x1c5)]&&await this[_0x4af4b2(0x7a2)]();const _0x47353c=await this[_0x4af4b2(0x5e9)]['getSource']()['catch'](()=>null);if(_0x47353c?.['success']&&_0x47353c[_0x4af4b2(0x827)])_0x5faaa=_0x51c924(_0x47353c[_0x4af4b2(0x827)]);else _0x29f77a?.[_0x4af4b2(0x42d)]&&_0x29f77a['source']&&(_0x5faaa=_0x51c924(_0x29f77a[_0x4af4b2(0x827)]));if(this['bootSource']){const _0xdd342=this['accumulatedBootDrains']??[];this[_0x4af4b2(0x690)]=null;const _0x4e056e=[..._0xdd342,...this['bootSource'][_0x4af4b2(0x456)]()],_0x5b1f0d=_0x1ed562(_0x4e056e,_0x78dc46??[],_0xf9270c);_0x4cdfb6=_0x5b1f0d['entries'],_0x488e69=_0x5b1f0d[_0x4af4b2(0x896)];if(typeof this[_0x4af4b2(0x1c5)][_0x4af4b2(0x972)]==='function')try{_0x215487=this['bootSource'][_0x4af4b2(0x972)]();}catch{_0x215487=void 0x0;}}}catch{}finally{if(this[_0x4af4b2(0x1c5)])try{this[_0x4af4b2(0x1c5)][_0x4af4b2(0x937)](![]),this['bootSource']['clearBootRequests']();}catch{}}return{'sessionMode':_0x2e2003,'screen':_0x55ff93,'accessibilityTree':_0x5faaa,'bootRequests':_0x4cdfb6,..._0x488e69?{'bootRequestsFiltered':!![]}:{},..._0x215487!==void 0x0?{'asyncStorageReads':_0x215487}:{}};}async[_0x3ee7d6(0x7a2)](){const _0x248da2=_0x3ee7d6;if(!this[_0x248da2(0x1c5)])return;let _0x19f339=0x0;const _0x2766dd=()=>{const _0x2ac29c=_0x248da2;if(typeof this['bootSource'][_0x2ac29c(0x277)]==='function')return this[_0x2ac29c(0x1c5)]['bootWriteCounter']();const _0x4ec6f5=this['bootSource'][_0x2ac29c(0x456)]();if(_0x4ec6f5['length']>0x0){if(!this['accumulatedBootDrains'])this[_0x2ac29c(0x690)]=[];this['accumulatedBootDrains']['push'](..._0x4ec6f5),_0x19f339+=_0x4ec6f5[_0x2ac29c(0x945)];}return _0x19f339;},_0x56cc98=Date[_0x248da2(0x3d1)]();let _0x535397=_0x2766dd(),_0x49e026=Date['now']();const _0x137f2e=0x64;while(!![]){const _0x57a6b3=Date[_0x248da2(0x3d1)]();if(_0x57a6b3-_0x56cc98>=this[_0x248da2(0x581)])return;if(_0x57a6b3-_0x49e026>=this['bootDebounceMs'])return;await new Promise(_0x3c9ae7=>setTimeout(_0x3c9ae7,_0x137f2e));const _0x2402a9=_0x2766dd();_0x2402a9!==_0x535397&&(_0x535397=_0x2402a9,_0x49e026=Date[_0x248da2(0x3d1)]());}}[_0x3ee7d6(0x822)](){const _0x42c3b4=_0x3ee7d6,_0x5a3899=Date[_0x42c3b4(0x3d1)]();for(const [_0x2cc32e,_0x14bdec]of this['runs']['entries']()){if(_0x14bdec[_0x42c3b4(0x3a3)])continue;if(_0x5a3899-_0x14bdec[_0x42c3b4(0x118)]>this[_0x42c3b4(0x7c3)]){const _0x22429c=_0x14bdec[_0x42c3b4(0x65f)];_0x22429c&&(_0x42c3b4(0x839)===_0x42c3b4(0x682)?(_0x1aba4f=!![],_0x235c97=_0x12e50d):(_0x14bdec[_0x42c3b4(0x65f)]=null,void _0x22429c['stop']()['catch'](_0x229732=>{const _0xb71ff2=_0x42c3b4;process[_0xb71ff2(0x870)]['write'](_0xb71ff2(0x48a)+(_0x229732 instanceof Error?_0x229732['message']:String(_0x229732))+'\x0a');}))),this['runs'][_0x42c3b4(0x14d)](_0x2cc32e);}}}['size'](){const _0x289b0d=_0x3ee7d6;return this[_0x289b0d(0x822)](),this[_0x289b0d(0x22c)][_0x289b0d(0x1bb)];}async['shutdown'](){const _0x48815f=_0x3ee7d6,_0x16838c=[];for(const _0xafaa50 of this[_0x48815f(0x22c)][_0x48815f(0x88a)]()){const _0x526630=_0xafaa50[_0x48815f(0x65f)];_0x526630&&(_0xafaa50['videoRecorder']=null,_0x16838c['push'](_0x526630['stop']()['catch'](_0x181db6=>{const _0x21b84c=_0x48815f;process['stderr'][_0x21b84c(0x65a)]('[ceraph]\x20video\x20recorder\x20shutdown\x20stop\x20failed:\x20'+(_0x181db6 instanceof Error?_0x181db6[_0x21b84c(0x92e)]:String(_0x181db6))+'\x0a');})));}await Promise[_0x48815f(0x9a6)](_0x16838c);}['getVideoStartError'](_0x5bc3b4){const _0x3e95b9=_0x3ee7d6;return this['runs'][_0x3e95b9(0x47a)](_0x5bc3b4)?.['videoStartError']??void 0x0;}};function _0x51c924(_0x3f7315){const _0x2a6389=[];let _0x3bde5f=0x2;const _0x4f435d=_0x135c57=>{const _0x267be9=_0x4a5a;if(!_0x135c57||typeof _0x135c57!==_0x267be9(0x5ab))return;const _0x18be56=_0x135c57,_0x54b5bb=_0x55cb9c(_0x18be56[_0x267be9(0x85c)]);if(_0x54b5bb){if(_0x267be9(0x56d)!=='zHVZb'){const _0x4c233a=_0x1a1d69(_0x18be56);if(_0x4c233a){const _0x4ae92d={'kind':_0x54b5bb,'text':_0x4c233a},_0x355f17=_0x2a6389[_0x2a6389[_0x267be9(0x945)]-0x1],_0x1433e9=_0x355f17&&_0x355f17[_0x267be9(0x3ea)]===_0x4ae92d[_0x267be9(0x3ea)]&&_0x355f17['text']===_0x4ae92d['text'],_0x22bcc4=JSON['stringify'](_0x4ae92d)['length']+0x1;!_0x1433e9&&_0x3bde5f+_0x22bcc4<=_0x46472e&&(_0x2a6389[_0x267be9(0x496)](_0x4ae92d),_0x3bde5f+=_0x22bcc4);}}else return null;}if(Array['isArray'](_0x18be56['children'])){for(const _0x3bcf9d of _0x18be56[_0x267be9(0x9c3)])_0x4f435d(_0x3bcf9d);}};return _0x4f435d(_0x3f7315),_0x2a6389;}function _0x55cb9c(_0x330ddd){const _0x38fb56=_0x3ee7d6;if(!_0x330ddd)return null;const _0x2c7751=_0x330ddd[_0x38fb56(0x27d)](/^XCUIElementType/,'');if(_0x2c7751===_0x38fb56(0x1b1))return'button';if(_0x2c7751==='TextField'||_0x2c7751==='SecureTextField'||_0x2c7751==='SearchField')return'input';if(_0x2c7751===_0x38fb56(0x32c))return _0x38fb56(0x7d9);if(_0x2c7751===_0x38fb56(0x34e))return'text';return null;}function _0x1a1d69(_0x573df6){const _0x342f5a=_0x3ee7d6,_0x26d426=[_0x573df6[_0x342f5a(0x4d1)],_0x573df6['label'],_0x573df6['value'],_0x573df6[_0x342f5a(0x91f)]];for(const _0x2cea3a of _0x26d426){if(typeof _0x2cea3a==='string'&&_0x2cea3a[_0x342f5a(0x5da)]()[_0x342f5a(0x945)]>0x0)return _0x2cea3a[_0x342f5a(0x5da)]();}return'';}function _0x55be68(_0x20afba){if(!_0x20afba||typeof _0x20afba!=='object')return'unknown';let _0x58fd23=![],_0x40c865=![];const _0x56280f=_0x54e8bc=>{const _0x1b4855=_0x4a5a;if(_0x58fd23&&_0x40c865)return;if(!_0x54e8bc||typeof _0x54e8bc!==_0x1b4855(0x5ab))return;const _0x4265f3=_0x54e8bc,_0x51f1ce=_0x1a1d69(_0x4265f3)['toLowerCase']();if(_0x51f1ce){if(_0x1fd84a[_0x1b4855(0x364)](_0x51f1ce))_0x58fd23=!![];}if(_0x4265f3[_0x1b4855(0x85c)]==='XCUIElementTypeTextField'||_0x4265f3[_0x1b4855(0x85c)]===_0x1b4855(0x716)){const _0x355570=((_0x4265f3[_0x1b4855(0x4d1)]??'')+'\x20'+(_0x4265f3['label']??'')+'\x20'+(_0x4265f3['placeholder']??''))['toLowerCase']();(_0x4265f3['type']===_0x1b4855(0x716)||_0x1b22f4['test'](_0x355570))&&(_0x40c865=!![]);}if(Array['isArray'](_0x4265f3[_0x1b4855(0x9c3)])){for(const _0x92dacb of _0x4265f3['children'])_0x56280f(_0x92dacb);}};_0x56280f(_0x20afba);if(_0x58fd23||_0x40c865)return'fresh';return'existing';}var _0x1fd84a=/\b(sign in|sign up|log in|login|signup|welcome back|create account)\b/i,_0x1b22f4=/\b(email|password|e-mail)\b/i;function _0x43b054(_0x4cec43,_0x303c36){const _0x3d0510=_0x3ee7d6,_0x529023=_0x4cec43['objectiveSignals']??[];if(_0x529023[_0x3d0510(0x2a5)](_0x1db4c3))return'timeout';if(_0x529023['some'](_0x40cdbd))return'auth_wall';if(_0x529023[_0x3d0510(0x945)]>0x0&&_0x303c36&&_0x303c36['length']>0x0){if(_0x3d0510(0x2f8)==='PpONs'){if(_0x4116e7(_0x4cec43,_0x303c36))return'unexpected_state';}else return null;}if(_0x529023[_0x3d0510(0x945)]>0x0)return _0x3d0510(0x686);return'assertion';}function _0x1db4c3(_0x2ae0a9){const _0x4bf62a=_0x3ee7d6,_0x56a6c0=_0x2ae0a9['message']['toLowerCase']();if(!_0x56a6c0[_0x4bf62a(0x83f)]('timeout')&&!_0x56a6c0[_0x4bf62a(0x83f)](_0x4bf62a(0x6b6)))return![];return _0x2ae0a9[_0x4bf62a(0x3ea)]===_0x4bf62a(0x117)||_0x2ae0a9[_0x4bf62a(0x3ea)]==='network-failure';}function _0x40cdbd(_0x51e798){const _0x46cd61=_0x3ee7d6;if(_0x51e798[_0x46cd61(0x3ea)]!==_0x46cd61(0x5fd)&&_0x51e798[_0x46cd61(0x3ea)]!==_0x46cd61(0x343))return![];const _0x5243ce=_0x51e798['detail']??'';return/\bstatus=(401|403)\b/[_0x46cd61(0x364)](_0x5243ce);}function _0x4116e7(_0x2b4905,_0x5864da){const _0x52e3f6=_0x3ee7d6,_0x219ad9=new Set();for(const _0x1c19ee of _0x5864da){for(const _0x2b4cf2 of _0x1c19ee['split'](/[^A-Za-z0-9]+/)){if(_0x2b4cf2[_0x52e3f6(0x945)]<0x3)continue;_0x219ad9[_0x52e3f6(0x5c1)](_0x2b4cf2[_0x52e3f6(0x17e)]());}}if(_0x219ad9['size']===0x0)return![];for(const _0x299d77 of _0x2b4905[_0x52e3f6(0x22d)]){if(_0x299d77[_0x52e3f6(0x42d)])continue;const _0x3532de=_0x50b643(_0x299d77)['toLowerCase']();if(!_0x3532de)continue;const _0x5ba119=new Set();for(const _0x5b57f1 of _0x3532de['split'](/[^a-z0-9]+/)){if(_0x5b57f1[_0x52e3f6(0x945)]<0x3)continue;_0x5ba119['add'](_0x5b57f1);}for(const _0x30db4d of _0x219ad9){if(_0x52e3f6(0xfc)!=='fpZqG'){if(_0x5ba119['has'](_0x30db4d))return!![];}else{if(_0xd9b53c[_0x52e3f6(0x1ec)]===_0x52e3f6(0x96b)||_0x5e64e4[_0x52e3f6(0x1ec)]===_0x52e3f6(0x4c8)||_0x550b41[_0x52e3f6(0x1ec)]==='reset')return!![];if(_0x25de3c[_0x52e3f6(0x1ec)]===_0x52e3f6(0x861)&&_0x1dccc1[_0x52e3f6(0x2fe)]===_0x52e3f6(0x2dd))return!![];if(_0x284adc[_0x52e3f6(0x1ec)]==='tap')return!![];if(_0x1e45b8[_0x52e3f6(0x1ec)]===_0x52e3f6(0x85c)&&_0x1a684d['into'])return!![];if(_0x53bc16['verifyNavigation'])return!![];if(_0x29db18['verifyProfileTransition'])return!![];if(_0x2e02b3['verifyMutation']){if(_0x1ba6da['verifyMutation']['mutationKind']==='storage')return!![];const _0xdb42fd=_0x328615[_0x52e3f6(0x636)][_0x52e3f6(0x3f5)]['toUpperCase']();return _0xdb42fd==='POST'||_0xdb42fd==='PUT'||_0xdb42fd===_0x52e3f6(0x198)||_0xdb42fd==='DELETE';}return![];}}}return![];}function _0x50b643(_0x5cbd68){const _0x350ffe=_0x3ee7d6;if(_0x5cbd68[_0x350ffe(0x555)]){if(typeof _0x5cbd68[_0x350ffe(0x555)]['text']===_0x350ffe(0x7fd)&&_0x5cbd68[_0x350ffe(0x555)][_0x350ffe(0x5d9)]['length']>0x0)return _0x5cbd68[_0x350ffe(0x555)][_0x350ffe(0x5d9)];if(typeof _0x5cbd68[_0x350ffe(0x555)]['accessibilityLabel']===_0x350ffe(0x7fd)&&_0x5cbd68['target'][_0x350ffe(0x478)]['length']>0x0)return _0x5cbd68[_0x350ffe(0x555)][_0x350ffe(0x478)];}const _0x4e039d=_0x5cbd68['details'];return _0x4e039d?.['element']?.[_0x350ffe(0x4d1)]??_0x4e039d?.['element']?.[_0x350ffe(0x10d)]??'';}function _0x484ae6(_0x1a2ced){const _0x585845=_0x3ee7d6;if(!_0x1a2ced||typeof _0x1a2ced!==_0x585845(0x5ab))return'PlannedChainInput\x20must\x20be\x20an\x20object.';if(!Array[_0x585845(0x246)](_0x1a2ced['flows']))return'PlannedChainInput.flows\x20must\x20be\x20an\x20array.';if(_0x1a2ced['flows']['length']===0x0)return _0x585845(0x27e);if(!Array['isArray'](_0x1a2ced['bridges']))return _0x585845(0x1f4);if(_0x1a2ced['bridges']['length']>Math['max'](0x0,_0x1a2ced[_0x585845(0x1f5)][_0x585845(0x945)]-0x1))return'PlannedChainInput.bridges\x20length\x20('+_0x1a2ced['bridges'][_0x585845(0x945)]+_0x585845(0x9d2)+(_0x1a2ced[_0x585845(0x1f5)]['length']-0x1)+').';if(!Array[_0x585845(0x246)](_0x1a2ced['snapPointFlowIndices']))return _0x585845(0x9cb);for(const _0x4e8eea of _0x1a2ced[_0x585845(0x66a)]){if(typeof _0x4e8eea!==_0x585845(0x513)||!Number[_0x585845(0x93a)](_0x4e8eea)||_0x4e8eea<0x0)return'PlannedChainInput.snapPointFlowIndices\x20contains\x20non-integer\x20or\x20negative\x20entry:\x20'+String(_0x4e8eea)+'.';if(_0x4e8eea>=_0x1a2ced['flows'][_0x585845(0x945)]-0x1)return _0x585845(0x7ef)+_0x4e8eea+_0x585845(0x6df)+_0x1a2ced['flows'][_0x585845(0x945)]+').';}if(_0x1a2ced['affectedFlowNames']!==void 0x0){if(!Array['isArray'](_0x1a2ced[_0x585845(0xd7)]))return'PlannedChainInput.affectedFlowNames\x20must\x20be\x20an\x20array.';const _0x3afe8a=new Set(_0x1a2ced['flows'][_0x585845(0x986)](_0x19b2dc=>_0x19b2dc['name'])),_0x3bc516=_0x1a2ced['affectedFlowNames'][_0x585845(0x65c)](_0x1badc3=>typeof _0x1badc3!=='string'||!_0x3afe8a['has'](_0x1badc3));if(_0x3bc516[_0x585845(0x945)]>0x0){const _0x5783b0=_0x3bc516[_0x585845(0x986)](_0xf7b285=>String(_0xf7b285))[_0x585845(0x221)](',\x20');process['stderr']['write'](_0x585845(0x634)+_0x3bc516['length']+'\x20unknown\x20affectedFlowName(s)\x20from\x20PlannedChainInput:\x20'+_0x5783b0+_0x585845(0x31b)),_0x1a2ced['affectedFlowNames']=_0x1a2ced['affectedFlowNames']['filter'](_0x2c48c5=>typeof _0x2c48c5==='string'&&_0x3afe8a[_0x585845(0x21c)](_0x2c48c5));}}return null;}function _0x440b18(_0x6f8755){const _0x2d3a3a=_0x3ee7d6,_0x5980ec=_0x6f8755['toUpperCase']();return _0x5980ec===_0x2d3a3a(0x2a0)||_0x5980ec==='PUT'||_0x5980ec===_0x2d3a3a(0x198)||_0x5980ec==='DELETE';}function _0x55045b(_0x34d75d){const _0x55218d=_0x3ee7d6;if(_0x34d75d['mutationKind']===_0x55218d(0x96e))return!![];return _0x440b18(_0x34d75d[_0x55218d(0x3f5)]);}function _0x2feffa(_0x354b43,_0x3e0ac8){const _0x40921f=_0x3ee7d6;for(const _0x4e8e9e of _0x3e0ac8){if(_0x4e8e9e['length']===0x0)continue;const _0x5e84fb=_0x45064d(_0x4e8e9e[_0x40921f(0x141)](0x0)),_0x5e0bf1=_0x45064d(_0x4e8e9e['charCodeAt'](_0x4e8e9e['length']-0x1));let _0x3ce1b4=0x0;while(_0x3ce1b4<=_0x354b43['length']){const _0x289d80=_0x354b43[_0x40921f(0x747)](_0x4e8e9e,_0x3ce1b4);if(_0x289d80<0x0)break;const _0x8e3b11=_0x289d80+_0x4e8e9e['length'],_0x3ee94b=_0x289d80===0x0||_0x5e84fb||_0x45064d(_0x354b43[_0x40921f(0x141)](_0x289d80-0x1)),_0x5bf502=_0x8e3b11===_0x354b43[_0x40921f(0x945)]||_0x5e0bf1||_0x45064d(_0x354b43['charCodeAt'](_0x8e3b11));if(_0x3ee94b&&_0x5bf502)return!![];_0x3ce1b4=_0x289d80+0x1;}}return![];}function _0x45064d(_0x5a4ecf){return _0x5a4ecf===0x2f||_0x5a4ecf===0x3f||_0x5a4ecf===0x23||_0x5a4ecf===0x2e;}function _0x3a8a75(_0x20e246){const _0x5bdccb=_0x3ee7d6;let _0x23ed77=_0x20e246;const _0x60628b=_0x23ed77[_0x5bdccb(0x747)]('?');if(_0x60628b>=0x0)_0x23ed77=_0x23ed77['slice'](0x0,_0x60628b);const _0x2ea1a5=_0x23ed77[_0x5bdccb(0x747)]('#');if(_0x2ea1a5>=0x0)_0x23ed77=_0x23ed77['slice'](0x0,_0x2ea1a5);return _0x23ed77;}function _0x1ed562(_0x55e46f,_0x5ea44a,_0x529ea3){const _0xca2557=_0x3ee7d6;if(_0x55e46f[_0xca2557(0x945)]===0x0)return{'entries':[],'truncated':![]};const _0x2192c6=Array[_0xca2557(0x246)](_0x5ea44a)?_0x5ea44a:[],_0x58437a=_0x2192c6[_0xca2557(0x986)](_0x5bacdf=>typeof _0x5bacdf==='string'?_0x5bacdf['toLowerCase']():'')['filter'](_0x23fdc9=>_0x23fdc9[_0xca2557(0x5da)]()['length']>0x0),_0xec5ffb=_0x58437a[_0xca2557(0x945)]===0x0,_0x9dc695=_0x55e46f[_0xca2557(0x986)](_0x31f2df=>{const _0x55ec94=_0xca2557,_0x4e97ed=typeof _0x31f2df[_0x55ec94(0x4ff)]==='string'?_0x31f2df[_0x55ec94(0x4ff)]:'',_0x332c0b=_0x3a8a75(_0x4e97ed[_0x55ec94(0x17e)]()),_0x3ee5b1=_0xec5ffb||_0x2feffa(_0x332c0b,_0x58437a);if(!_0x3ee5b1){const {response:_0x40bc52,..._0x76ee05}=_0x31f2df;return void _0x40bc52,{'entry':_0x76ee05,'matched':![],'bodyBytes':0x0};}const _0x893095=_0x31f2df['response']?Buffer['byteLength'](_0x31f2df[_0x55ec94(0x856)],_0x55ec94(0x140)):0x0;return{'entry':_0x31f2df,'matched':!![],'bodyBytes':_0x893095};});let _0x200e37=_0x9dc695['reduce']((_0x27ffd9,_0xe74e12)=>_0x27ffd9+(_0xe74e12['matched']?_0xe74e12['bodyBytes']:0x0),0x0),_0x16a6da=![];if(_0x200e37>_0x529ea3){if('cKTMJ'==='cBYqp')return this['child']!==null&&this[_0xca2557(0x91b)][_0xca2557(0x186)]===null;else for(let _0x20d87c=0x0;_0x20d87c<_0x9dc695['length']&&_0x200e37>_0x529ea3;_0x20d87c++){const _0x55b9be=_0x9dc695[_0x20d87c];if(!_0x55b9be['matched']||_0x55b9be[_0xca2557(0x2f1)]===0x0)continue;const {response:_0xccd2dd,..._0x59c532}=_0x55b9be[_0xca2557(0x392)];void _0xccd2dd,_0x55b9be[_0xca2557(0x392)]=_0x59c532,_0x200e37-=_0x55b9be['bodyBytes'],_0x55b9be[_0xca2557(0x2f1)]=0x0,_0x16a6da=!![];}}return{'entries':_0x9dc695[_0xca2557(0x986)](_0x3b4b9e=>_0x3b4b9e['entry']),'truncated':_0x16a6da};}function _0x50401f(_0x317e30){const _0x486e60=_0x3ee7d6;return{..._0x317e30[_0x486e60(0x3b9)]&&_0x317e30[_0x486e60(0x3b9)][_0x486e60(0x945)]>0x0?{'witnesses':_0x317e30['witnesses']}:{},..._0x317e30['objectiveSignals']&&_0x317e30['objectiveSignals'][_0x486e60(0x945)]>0x0?{'objectiveSignals':_0x317e30[_0x486e60(0x45f)]}:{},..._0x317e30['reloadRecoveryWitnesses']&&_0x317e30[_0x486e60(0x430)][_0x486e60(0x945)]>0x0?{'reloadRecoveryWitnesses':_0x317e30[_0x486e60(0x430)]}:{}};}function _0x605049(_0x2ddbc0){const _0x2daf54=_0x3ee7d6;if((_0x2ddbc0['objectiveSignals']?.[_0x2daf54(0x945)]??0x0)>0x0){const _0x1c6d37=_0x2ddbc0[_0x2daf54(0x45f)][0x0];return _0x1c6d37['kind']+':\x20'+_0x1c6d37[_0x2daf54(0x92e)];}for(const _0x285b59 of _0x2ddbc0['steps']){if(!_0x285b59['success']){const _0x551603=_0x285b59['action'],_0x1f7b3d=_0x285b59['error']??_0x2daf54(0x30e);return _0x551603+'\x20failed:\x20'+_0x1f7b3d;}}return _0x2daf54(0x7f8);}import{z}from'zod';var _0x2c58ec=z[_0x3ee7d6(0x5ab)]({'text':z[_0x3ee7d6(0x7fd)]()[_0x3ee7d6(0x4ac)](),'accessibilityLabel':z[_0x3ee7d6(0x7fd)]()['optional'](),'type':z[_0x3ee7d6(0x7fd)]()[_0x3ee7d6(0x4ac)](),'index':z[_0x3ee7d6(0x513)]()[_0x3ee7d6(0x22a)]()['nonnegative']()[_0x3ee7d6(0x4ac)]()});function _0x49186b(_0x4d838f){const _0x2abd65=_0x3ee7d6;if(!_0x4d838f[_0x2abd65(0x5d9)]&&!_0x4d838f[_0x2abd65(0x478)]&&!_0x4d838f[_0x2abd65(0x85c)]&&_0x4d838f['index']===void 0x0)return'Each\x20query\x20needs\x20at\x20least\x20one\x20of\x20text,\x20accessibilityLabel,\x20type,\x20or\x20index.';return null;}function _0x3586ff(_0x3055ff,_0x50b05d){const _0x4e9245=_0x3ee7d6,{screenManager:_0x48dc9c,toolErrorContent:_0x375955,jsonText:_0x19779d,requireWDA:_0x2de12b}=_0x50b05d;_0x3055ff[_0x4e9245(0x8dc)]('screen_tap_and_verify','Compound\x20primitive:\x20find\x20an\x20element\x20by\x20text/accessibilityLabel/type,\x20tap\x20its\x20center,\x20and\x20optionally\x20assert\x20a\x20follow-up\x20selector\x20becomes\x20visible\x20—\x20all\x20in\x20one\x20logical\x20step.\x20Sends\x20the\x20tap\x20via\x20the\x20W3C\x20bulk-actions\x20endpoint\x20when\x20WDA\x20supports\x20it\x20(batched:\x20true)\x20and\x20falls\x20back\x20to\x20the\x20legacy\x20serial\x20tap\x20path\x20otherwise\x20(batched:\x20false).',{'text':z['string']()[_0x4e9245(0x4ac)](),'accessibilityLabel':z['string']()['optional'](),'type':z['string']()[_0x4e9245(0x4ac)](),'index':z[_0x4e9245(0x513)]()['int']()['nonnegative']()['optional'](),'verifySelector':_0x2c58ec['optional']()['describe'](_0x4e9245(0x891))},async _0x440ff3=>{const _0x331b1a=_0x4e9245;if(_0x331b1a(0x7f4)===_0x331b1a(0x7f4))try{const _0xf92d78=await _0x2de12b();if(!_0xf92d78['ok'])return{..._0x19779d(_0xf92d78[_0x331b1a(0x836)]),'isError':!![]};const _0x4ea98b=_0x440ff3,_0x41655e=_0x49186b(_0x4ea98b);if(_0x41655e)return{..._0x19779d({'success':![],'error':_0x41655e}),'isError':!![]};const _0x50128d={'text':_0x4ea98b['text'],'accessibilityLabel':_0x4ea98b[_0x331b1a(0x478)],'type':_0x4ea98b[_0x331b1a(0x85c)],'index':_0x4ea98b['index']},_0x10b34a=_0x4ea98b['verifySelector'];if(_0x10b34a){if('uwJjT'===_0x331b1a(0x31d)){const _0x3cb78b=_0x49186b(_0x10b34a);if(_0x3cb78b)return{..._0x19779d({'success':![],'error':'verifySelector:\x20'+_0x3cb78b}),'isError':!![]};}else return{..._0xcb7104({'ok':![],'error':_0x331b1a(0x442)+(_0x3ec26b instanceof _0x394685?_0x1c368e['message']:_0x3f7081(_0x29cfed))}),'isError':!![]};}const _0x4e75a1=await _0x48dc9c[_0x331b1a(0x7f9)](_0x50128d,{'verifySelector':_0x10b34a});return{..._0x19779d(_0x4e75a1),'isError':!_0x4e75a1[_0x331b1a(0x42d)]};}catch(_0x2f009e){return _0x375955(_0x331b1a(0x691),_0x2f009e);}else return new _0x4a670f(_0x240984=>{const _0x4c9a52=_0x331b1a,_0x103860=_0x1a2168(_0x318d08['bin'],_0x533636[_0x4c9a52(0x719)],{'cwd':_0x1a3a09[_0x4c9a52(0x346)],'stdio':[_0x4c9a52(0x317),_0x4c9a52(0x406),_0x4c9a52(0x406)]});_0x103860['stdout']?.['on'](_0x4c9a52(0x978),()=>void 0x0),_0x103860['stderr']?.['on']('data',()=>void 0x0),_0x103860['on'](_0x4c9a52(0x125),()=>_0x240984({'exitCode':0x7f})),_0x103860['on'](_0x4c9a52(0x41e),_0x4c775c=>_0x240984({'exitCode':_0x4c775c??0x1}));});}),_0x3055ff['tool']('screen_type_into_field',_0x4e9245(0x811),{'fieldQuery':_0x2c58ec['describe']('Query\x20identifying\x20the\x20input\x20field\x20to\x20focus.'),'text':z[_0x4e9245(0x7fd)]()['describe']('Text\x20to\x20type\x20into\x20the\x20focused\x20field.'),'clearFirst':z['boolean']()[_0x4e9245(0x4ac)]()[_0x4e9245(0x9de)]('When\x20true,\x20clear\x20the\x20field\x27s\x20current\x20value\x20before\x20typing.\x20Defaults\x20to\x20false.')},async _0x1cbfe0=>{const _0xae0c63=_0x4e9245;try{const _0x6ba301=await _0x2de12b();if(!_0x6ba301['ok'])return{..._0x19779d(_0x6ba301[_0xae0c63(0x836)]),'isError':!![]};const _0x1f3228=_0x1cbfe0,_0x4cfc9e=_0x49186b(_0x1f3228['fieldQuery']);if(_0x4cfc9e)return{..._0x19779d({'success':![],'error':_0xae0c63(0x982)+_0x4cfc9e}),'isError':!![]};const _0xb1c4ec=await _0x48dc9c[_0xae0c63(0x8d9)](_0x1f3228[_0xae0c63(0x7eb)],_0x1f3228[_0xae0c63(0x5d9)],{'clearFirst':_0x1f3228[_0xae0c63(0x3c2)]});return{..._0x19779d(_0xb1c4ec),'isError':!_0xb1c4ec[_0xae0c63(0x42d)]};}catch(_0x141031){return _0x375955(_0xae0c63(0x3f7),_0x141031);}}),_0x3055ff['tool']('screen_tap_chain',_0x4e9245(0x27c),{'queries':z['array'](_0x2c58ec)[_0x4e9245(0x71d)](0x1)['describe'](_0x4e9245(0x748))},async _0x2827bd=>{const _0x3b2081=_0x4e9245;try{const _0x420128=await _0x2de12b();if(!_0x420128['ok'])return{..._0x19779d(_0x420128['payload']),'isError':!![]};const _0x1fbbed=_0x2827bd;for(let _0x22a350=0x0;_0x22a350<_0x1fbbed[_0x3b2081(0x1b0)]['length'];_0x22a350++){const _0x5f5170=_0x49186b(_0x1fbbed['queries'][_0x22a350]);if(_0x5f5170)return{..._0x19779d({'success':![],'error':'queries['+_0x22a350+']:\x20'+_0x5f5170}),'isError':!![]};}const _0x43db0c=await _0x48dc9c['tapChain'](_0x1fbbed[_0x3b2081(0x1b0)]);return{..._0x19779d(_0x43db0c),'isError':!_0x43db0c['success']};}catch(_0x1a964a){return _0x375955(_0x3b2081(0x179),_0x1a964a);}});}import{lstat,mkdir as _0x4a609c,readdir as _0x586a4d,readFile as _0x1f98a5,rename,rm,writeFile as _0x55b941}from'fs/promises';import{randomBytes}from'crypto';import{dirname,join as _0x3942e5}from'path';var _0x41c06a=_0x3ee7d6(0x5d3),_0x4eaf72='runs',_0x57ee55=class extends Error{constructor(_0x423c9a){const _0x4063a8=_0x3ee7d6;super(_0x423c9a),this['name']=_0x4063a8(0x54b);}};function _0x5268d3(_0x17ef1c){const _0x22989a=_0x3ee7d6;return _0x17ef1c[_0x22989a(0x17e)]()[_0x22989a(0x27d)](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'')['slice'](0x0,0x50)||'flow';}function _0x4cd518(_0x217939){const _0x4503c6=_0x3ee7d6;if(typeof _0x217939!=='string'||_0x217939['length']===0x0)throw new _0x57ee55('runId\x20must\x20be\x20a\x20non-empty\x20string.');if(_0x217939[_0x4503c6(0x945)]>0x80)throw new _0x57ee55('runId\x20exceeds\x20128\x20characters.');if(_0x217939[_0x4503c6(0x887)]('.'))throw new _0x57ee55('runId\x20\x22'+_0x217939+_0x4503c6(0x495));if(!/^[A-Za-z0-9._-]+$/['test'](_0x217939))throw new _0x57ee55('runId\x20\x22'+_0x217939+'\x22\x20must\x20match\x20[A-Za-z0-9._-]+\x20(no\x20separators,\x20control\x20chars,\x20or\x20unicode).');return _0x217939;}function _0x69e610(_0x3f448a){const _0x1f84a5=_0x3ee7d6;if(typeof _0x3f448a!==_0x1f84a5(0x7fd)||_0x3f448a[_0x1f84a5(0x945)]===0x0)throw new _0x57ee55(_0x1f84a5(0x739));if(_0x3f448a['length']>0x100){if(_0x1f84a5(0x59e)==='owCoB')throw new _0x57ee55(_0x1f84a5(0x309));else return{'success':![],'error':_0x218a78>=_0x36cd56[_0x1f84a5(0x945)]?'Index\x20'+_0x293119+_0x1f84a5(0x853)+_0x3022cd['length']+'\x20matching\x20element(s).':_0x1f84a5(0x5ce),'batched':![]};}return _0x3f448a;}function _0x164e3d(_0x46361f){const _0xa577b8=_0x3ee7d6;if(typeof _0x46361f!=='number'||!Number['isFinite'](_0x46361f)||!Number[_0xa577b8(0x93a)](_0x46361f)||_0x46361f<0x0||_0x46361f>0xf4240)throw new _0x57ee55(_0xa577b8(0x52e)+String(_0x46361f)+').');return _0x46361f;}var _0x9e06d9=class{[_0x3ee7d6(0xd9)];constructor(_0x2cf674){const _0x35b906=_0x3ee7d6;this['root']=_0x3942e5(_0x2cf674[_0x35b906(0x1f7)],_0x41c06a,_0x4eaf72);}get[_0x3ee7d6(0x7f2)](){return this['root'];}async['saveStepScreenshot'](_0x33de07,_0x4930da,_0x53edce,_0x21e485){const _0x1a1c10=_0x3ee7d6,_0x1f2ec1=_0x4cd518(_0x33de07),_0x42f424=_0x69e610(_0x4930da),_0x1de695=_0x164e3d(_0x53edce),_0x457671=this['stepPath'](_0x1f2ec1,_0x42f424,_0x1de695);await _0x4a609c(dirname(_0x457671),{'recursive':!![]});const _0x96c4fe=Buffer[_0x1a1c10(0x70f)](_0x21e485,'base64');return await _0x113a03(_0x457671,_0x96c4fe),{'path':_0x457671};}async['saveRunIndex'](_0x4b7e23,_0x1d6594){const _0x2c0027=_0x3ee7d6,_0x52c6bf=_0x4cd518(_0x4b7e23),_0x3d23e2=this[_0x2c0027(0x649)](_0x52c6bf);await _0x4a609c(_0x3d23e2,{'recursive':!![]});const _0x35226a=_0x3942e5(_0x3d23e2,'run.json');await _0x113a03(_0x35226a,Buffer['from'](JSON[_0x2c0027(0x2c1)](_0x1d6594,null,0x2)));}async['getRunIndex'](_0x16efbf){const _0x3b66bb=_0x3ee7d6,_0x26eaa6=_0x4cd518(_0x16efbf),_0x20c75c=_0x3942e5(this['runDir'](_0x26eaa6),'run.json');try{const _0x1352a5=await _0x1f98a5(_0x20c75c,_0x3b66bb(0x140)),_0x54e6bc=JSON['parse'](_0x1352a5);if(_0x54e6bc&&typeof _0x54e6bc[_0x3b66bb(0x297)]===_0x3b66bb(0x7fd)&&typeof _0x54e6bc['startedAt']===_0x3b66bb(0x513)&&Array['isArray'](_0x54e6bc['flows']))return _0x54e6bc;return null;}catch(_0x5451b2){if(_0x3f7879(_0x5451b2))return null;return null;}}async['listRuns'](){const _0x294455=_0x3ee7d6;let _0x2df637;try{_0x2df637=await _0x586a4d(this[_0x294455(0xd9)]);}catch(_0xe4b4c5){if(_0x3f7879(_0xe4b4c5))return[];throw _0xe4b4c5;}const _0x1c10d4=[];for(const _0x50ee3f of _0x2df637){try{_0x4cd518(_0x50ee3f);}catch{continue;}const _0x3474d0=_0x3942e5(this[_0x294455(0xd9)],_0x50ee3f);let _0x18fb81;try{if('MbHJD'!=='OBCuu')_0x18fb81=await lstat(_0x3474d0);else return{'content':[{'type':_0x294455(0x5d9),'text':_0x788db6[_0x294455(0x2c1)]({'stopped':[],'message':_0x294455(0x374)})}]};}catch{if('mUWdG'!=='Qqpuh')continue;else for(const _0x128035 of _0x4c1ea5){const _0x26a31b=_0x1e5ab9(_0x128035);if(_0x26a31b)return _0x26a31b;}}if(!_0x18fb81[_0x294455(0x42a)]())continue;const _0x5f3bfa=await this[_0x294455(0x773)](_0x50ee3f),_0x23e457=_0x5f3bfa?.[_0x294455(0x4b4)]??_0x18fb81['mtime']?.['getTime']()??0x0,_0x21df0c=await this[_0x294455(0x423)](_0x3474d0);_0x1c10d4[_0x294455(0x496)]({'runId':_0x50ee3f,'startedAt':_0x23e457,'bytes':_0x21df0c,'path':_0x3474d0});}return _0x1c10d4[_0x294455(0x837)]((_0x400cf7,_0xad9c30)=>_0xad9c30['startedAt']-_0x400cf7[_0x294455(0x4b4)]),_0x1c10d4;}async[_0x3ee7d6(0x399)](_0x1c669c){const _0xe0d60b=_0x4cd518(_0x1c669c),_0x331638=this['runDir'](_0xe0d60b);await rm(_0x331638,{'recursive':!![],'force':!![]});}async['sweepOlderThan'](_0x50f9ac){const _0x4eab77=_0x3ee7d6,_0x3868d3=await this['listRuns'](),_0x3ac082=Date[_0x4eab77(0x3d1)]()-_0x50f9ac,_0x48adc5=[];let _0x52c665=0x0;for(const _0x3f1798 of _0x3868d3){if(_0x3f1798[_0x4eab77(0x4b4)]<_0x3ac082)try{_0x4eab77(0x76a)!==_0x4eab77(0x76a)?this['inflight']=null:(await this[_0x4eab77(0x399)](_0x3f1798[_0x4eab77(0x297)]),_0x48adc5['push'](_0x3f1798[_0x4eab77(0x297)]),_0x52c665+=_0x3f1798['bytes']);}catch{}}return{'swept':_0x48adc5,'freedBytes':_0x52c665};}async[_0x3ee7d6(0x474)](_0x5afd3f){const _0xb677b7=_0x3ee7d6,_0x72ac5a=await this[_0xb677b7(0xef)]();let _0x33f87f=_0x72ac5a['reduce']((_0x10c358,_0x3ea4f7)=>_0x10c358+_0x3ea4f7['bytes'],0x0);if(_0x33f87f<=_0x5afd3f)return{'evicted':[],'freedBytes':0x0};const _0x551e69=[..._0x72ac5a]['sort']((_0x599699,_0x14dced)=>_0x599699[_0xb677b7(0x4b4)]-_0x14dced['startedAt']),_0x3176fa=[];let _0x5a0bc1=0x0;for(const _0x54d076 of _0x551e69){if(_0x33f87f<=_0x5afd3f)break;try{await this[_0xb677b7(0x399)](_0x54d076['runId']),_0x3176fa[_0xb677b7(0x496)](_0x54d076[_0xb677b7(0x297)]),_0x5a0bc1+=_0x54d076[_0xb677b7(0x107)],_0x33f87f-=_0x54d076[_0xb677b7(0x107)];}catch{}}return{'evicted':_0x3176fa,'freedBytes':_0x5a0bc1};}[_0x3ee7d6(0x649)](_0x290398){const _0x206f46=_0x3ee7d6;return _0x3942e5(this[_0x206f46(0xd9)],_0x290398);}[_0x3ee7d6(0x6c8)](_0x1e0b92,_0x1fc0ce,_0x195457){const _0x281c55=_0x5268d3(_0x1fc0ce);return _0x3942e5(this['runDir'](_0x1e0b92),_0x281c55,'step-'+_0x195457+'.png');}async['dirBytes'](_0x151a56){const _0x4a91a0=_0x3ee7d6;let _0x3be952=0x0,_0x2e926a;try{_0x2e926a=await _0x586a4d(_0x151a56);}catch{return 0x0;}for(const _0x104368 of _0x2e926a){if(_0x4a91a0(0x2c0)===_0x4a91a0(0x187))_0x5e2fa0[_0x4a91a0(0x870)][_0x4a91a0(0x65a)]('[ceraph]\x20video\x20recorder\x20stop\x20failed:\x20'+(_0x8b0455 instanceof _0x4b14fd?_0x20bf90[_0x4a91a0(0x92e)]:_0x31d989(_0x2996c5))+'\x0a');else{const _0x515205=_0x3942e5(_0x151a56,_0x104368);let _0x2c23df;try{_0x2c23df=await lstat(_0x515205);}catch{continue;}if(_0x2c23df['isDirectory']())_0x3be952+=await this['dirBytes'](_0x515205);else _0x2c23df['isFile']()&&(_0x3be952+=_0x2c23df['size']);}}return _0x3be952;}};function _0x3f7879(_0x162243){return typeof _0x162243==='object'&&_0x162243!==null&&'code'in _0x162243&&_0x162243['code']==='ENOENT';}async function _0x113a03(_0x3ebac8,_0x525937){const _0x3bd38e=_0x3ee7d6,_0xb9e34d=_0x3ebac8+'.'+randomBytes(0x8)['toString'](_0x3bd38e(0x20f))+'.tmp';try{if(_0x3bd38e(0x455)==='iPkJz')await _0x55b941(_0xb9e34d,_0x525937),await rename(_0xb9e34d,_0x3ebac8);else return{'success':!![],'visible':!![],'element':{'type':_0x7a85f0['element'][_0x3bd38e(0x85c)]??'unknown','label':_0x3b6c0e['element']['label']??_0x2bae91[_0x3bd38e(0x8ff)]['name']??'','bounds':_0x2698c8['element'][_0x3bd38e(0x578)]}};}catch(_0x11e3a8){await rm(_0xb9e34d,{'force':!![]})[_0x3bd38e(0x4ba)](()=>void 0x0);throw _0x11e3a8;}}async function _0x576e14(_0x4a5091,_0x6e5673){const _0x17f609=_0x3ee7d6,_0x225cc2=_0x6e5673[_0x17f609(0x86d)]??_0x17f609(0x2ab);if(_0x225cc2==='all'){const _0x288efa=await _0x4a5091['listRuns']();let _0x573c33=0x0,_0x202221=0x0;const _0x21dab3=[];for(const _0x5bde11 of _0x288efa){if(_0x17f609(0x243)!==_0x17f609(0x69e))try{await _0x4a5091[_0x17f609(0x399)](_0x5bde11[_0x17f609(0x297)]),_0x21dab3[_0x17f609(0x496)](_0x5bde11['runId']),_0x573c33+=_0x5bde11['bytes'];}catch{_0x202221++;}else _0x25ba55['source']=_0x5838a3['pathSlug']+':'+_0x9c9c2c['line']+':'+_0x3fdbea['col'];}const _0x276ca4=(await _0x4a5091['listRuns']())['length'];return{'swept':_0x21dab3,'freedBytes':_0x573c33,'remainingRuns':_0x276ca4,'failedToPurge':_0x202221};}const _0x23d8e6=_0x225cc2===_0x17f609(0x3a2)?0x1e*0x18*0x3c*0x3c*0x3e8:0xe*0x18*0x3c*0x3c*0x3e8,{swept:_0x55f2da,freedBytes:_0x236d25}=await _0x4a5091['sweepOlderThan'](_0x23d8e6),_0x197b7d=(await _0x4a5091[_0x17f609(0xef)]())[_0x17f609(0x945)];return{'swept':_0x55f2da,'freedBytes':_0x236d25,'remainingRuns':_0x197b7d,'failedToPurge':0x0};}import{spawn as _0x38bbff}from'child_process';import{readdir as _0x93f4d,readFile as _0x44a1ca}from'fs/promises';import{join as _0x12b4ee,relative as _0x140207,sep}from'path';import{spawn as _0x3ecef1}from'child_process';import{mkdir as _0x346370,rm as _0x20f5c3,stat as _0xbe1507}from'fs/promises';import{dirname as _0x38d5d8,join as _0x4964f8}from'path';var _0x24cbc3=0xbb8,_0x12e72e=0x1000,_0x2caceb=new Map(),_0x411061=_0x3ee7d6(0x639),_0x1dde94=null;function _0x3caa26(){return _0x411061;}var _0x3547fc=class{['resolver'];['outputPath'];['spawnFn'];['setTimeoutFn'];['mkdirFn'];['statFn'];[_0x3ee7d6(0x85f)];[_0x3ee7d6(0x91b)]=null;[_0x3ee7d6(0x3fb)]=null;[_0x3ee7d6(0x4e8)]=![];[_0x3ee7d6(0x6af)]=![];constructor(_0x32c5b9){const _0x53e577=_0x3ee7d6;this['resolver']=_0x32c5b9['resolver'],this['outputPath']=_0x32c5b9['outputPath'],this[_0x53e577(0x9ab)]=_0x32c5b9['spawnFn']??_0x3ecef1,this['setTimeoutFn']=_0x32c5b9[_0x53e577(0x5a3)]??setTimeout,this[_0x53e577(0x19f)]=_0x32c5b9['mkdirFn']??_0x346370,this['statFn']=_0x32c5b9['statFn']??_0xbe1507,this[_0x53e577(0x85f)]=_0x32c5b9['rmFn']??_0x20f5c3;}async[_0x3ee7d6(0x7cf)](_0x240ab0){return _0xbd101(_0x240ab0,{'statFn':this['statFn'],'rmFn':this['rmFn']});}async[_0x3ee7d6(0x41b)](){const _0x226485=_0x3ee7d6;if(this[_0x226485(0x4e8)])return{'ok':![],'error':_0x226485(0x7d7)};if(this[_0x226485(0x6af)])return{'ok':![],'error':'VideoRecorder\x20already\x20stopped;\x20construct\x20a\x20fresh\x20recorder.'};this[_0x226485(0x4e8)]=!![];try{await this['mkdirFn'](_0x38d5d8(this[_0x226485(0x426)]),{'recursive':!![]});}catch(_0x3d2d2b){if('yzplo'!=='yzplo')_0x494753(_0xfd7b02);else return{'ok':![],'error':_0x226485(0x6d1)+_0xed8d43(_0x3d2d2b)};}const _0x2f7847=await this['resolver'][_0x226485(0x75f)]()[_0x226485(0x4ba)](_0x5cc842=>{return{'error':_0xed8d43(_0x5cc842)};});if('error'in _0x2f7847)return{'ok':![],'error':_0x226485(0x587)+_0x2f7847['error']};const _0x292f11=await this[_0x226485(0x707)](_0x2f7847);if(!_0x292f11['ok'])return{'ok':![],'error':_0x292f11[_0x226485(0x125)]};let _0x1260be;try{'ClPhB'===_0x226485(0x948)?_0x1260be=this['spawnFn'](_0x292f11['argv0'],_0x292f11['args'],{'stdio':[_0x226485(0x317),'pipe','pipe']}):(_0x57d872[_0x226485(0x496)]({'region':_0x185dff(_0x2ea11f[_0x226485(0x94c)]),'kind':'removed','severity':_0x10ce77('removed',_0x3d9b74,_0x5d68f9['bounds']),'nodeId':_0x15ca52}),_0x8045e5[_0x226485(0x496)](_0x964134['kind']??_0x226485(0x8a3)));}catch(_0x46182f){return{'ok':![],'error':_0x226485(0x5cc)+_0x292f11[_0x226485(0x4a4)]+':\x20'+_0xed8d43(_0x46182f)};}return this['child']=_0x1260be,this[_0x226485(0x3fb)]=new Promise(_0x552719=>{const _0x11f3fe=_0x226485,_0x323199=()=>_0x552719();_0x1260be[_0x11f3fe(0x9b5)](_0x11f3fe(0x41e),_0x323199),_0x1260be[_0x11f3fe(0x9b5)]('error',_0x323199);}),{'ok':!![],'path':this['outputPath']};}async['stop'](){const _0x5776e0=_0x3ee7d6;if(!this['hasStarted']){this['hasStopped']=!![];return;}if(this[_0x5776e0(0x6af)])return;this['hasStopped']=!![];const _0x356c6c=this['child'],_0x424e55=this['childExit'];this['child']=null,this['childExit']=null;if(!_0x356c6c||_0x356c6c[_0x5776e0(0x186)]!==null)return;try{_0x356c6c['kill']('SIGINT');}catch{}let _0x33fe88=null;const _0x166d87=new Promise(_0x72bc9e=>{const _0x2f43eb=_0x5776e0;if(_0x2f43eb(0x706)!=='DuXOJ'){const _0x2a7074=_0x95de3a?.[_0x2f43eb(0x4d1)],_0x4c92=_0x47db11?.[_0x2f43eb(0x92e)]??_0x2f4f55(_0x5acbae);if(_0x2a7074===_0x2f43eb(0x567)||/UserNotFoundException|user does not exist|not[\s_-]?found/i[_0x2f43eb(0x364)](_0x4c92))return;throw new _0x46e7b8('api-error',_0x2f43eb(0x8f9)+_0x4c92,_0x396f7b);}else _0x33fe88=this[_0x2f43eb(0x5a3)](()=>{const _0x37be37=_0x2f43eb;try{_0x356c6c[_0x37be37(0x142)]('SIGKILL');}catch{}_0x72bc9e();},_0x24cbc3),_0x33fe88?.['unref']?.();});try{await Promise[_0x5776e0(0x5a8)]([_0x424e55??Promise[_0x5776e0(0x75f)](),_0x166d87]);if(_0x424e55)await _0x424e55;}finally{if(_0x5776e0(0x4c2)==='BoeaA'){if(_0x33fe88)clearTimeout(_0x33fe88);}else return{'success':![],'transport':'devicectl','error':'devicectl\x20launch\x20failed:\x20'+_0x15f0f0[_0x5776e0(0x5da)]()};}}async[_0x3ee7d6(0x707)](_0x564216){const _0x7a5549=_0x3ee7d6;if(_0x564216['target']===_0x7a5549(0x21f)){const _0x422430=this['resolver']['getSimulatorWdaUdid']()??_0x564216[_0x7a5549(0x737)]??null;if(!_0x422430)return{'ok':![],'error':'Simulator\x20UDID\x20unavailable\x20—\x20call\x20`rn_wda_start`\x20to\x20bind\x20a\x20simulator\x20before\x20starting\x20a\x20chain\x20so\x20the\x20recorder\x20can\x20address\x20it\x20explicitly.\x20Using\x20`booted`\x20is\x20unsafe\x20with\x20multiple\x20booted\x20simulators.'};return{'ok':!![],'argv0':_0x7a5549(0x2d3),'args':[_0x7a5549(0x5c3),'io',_0x422430,'recordVideo','--type=mp4',this['outputPath']]};}const _0x16371b=_0x564216[_0x7a5549(0x737)];if(!_0x16371b)return{'ok':![],'error':_0x7a5549(0x4b3)};const _0x7a90e7=await _0x107894(_0x16371b);if(_0x7a90e7===null)return{'ok':![],'error':'Could\x20not\x20resolve\x20AVFoundation\x20index\x20for\x20device\x20'+_0x16371b+_0x7a5549(0x93c)};return{'ok':!![],'argv0':_0x7a5549(0x532),'args':['-f',_0x7a5549(0x28e),'-framerate','30','-i',_0x7a90e7+':',_0x7a5549(0x285),'h264','-y',this['outputPath']]};}},_0xf33b5b={'spawnFn':_0x3ecef1};async function _0x107894(_0x5e805f){const _0x37bbef=_0x3ee7d6,_0x199216=_0x2caceb[_0x37bbef(0x47a)](_0x5e805f);if(_0x199216!==void 0x0)return _0x199216;const _0x231fe7=await _0x427bf8()['catch'](()=>[]);if(_0x231fe7['length']===0x0)return null;const _0x5ccff5=await _0xe24a90(_0x5e805f)['catch'](()=>null);if(!_0x5ccff5)return null;const _0x40a5f6=_0x5ccff5[_0x37bbef(0x4d1)]['toLowerCase']();let _0x4e8bc3=_0x231fe7[_0x37bbef(0x7bd)](_0x47b471=>_0x47b471[_0x37bbef(0x4d1)]===_0x5ccff5[_0x37bbef(0x4d1)]);!_0x4e8bc3&&(_0x37bbef(0x749)==='IjnuJ'?this['realDeviceHookInflight'][_0x37bbef(0x14d)](_0x2500c1):_0x4e8bc3=_0x231fe7[_0x37bbef(0x7bd)](_0x198283=>_0x198283[_0x37bbef(0x4d1)][_0x37bbef(0x17e)]()===_0x40a5f6));if(!_0x4e8bc3)return null;return _0x2caceb[_0x37bbef(0x3b6)](_0x5e805f,_0x4e8bc3[_0x37bbef(0x1c4)]),_0x4e8bc3[_0x37bbef(0x1c4)];}async function _0x427bf8(){const _0x4d9490=_0x3ee7d6,_0x420718=await _0x245602('ffmpeg',['-hide_banner','-f',_0x4d9490(0x28e),'-list_devices','true','-i','']),_0x1b540e=_0x420718[_0x4d9490(0x870)]||_0x420718[_0x4d9490(0x91a)];return _0x13110c(_0x1b540e);}function _0x13110c(_0x1b95fb){const _0x1312ed=_0x3ee7d6,_0x4e8988=[];let _0x50c063=![];const _0x14f5b2=/^(?:\[AVFoundation[^\]]*\]\s+)?\[(\d+)\]\s+(.+?)\s*$/;for(const _0x3ed0bf of _0x1b95fb['split'](/\r?\n/)){const _0x235b1e=_0x3ed0bf[_0x1312ed(0x5da)]();if(/AVFoundation\s+video\s+devices/i[_0x1312ed(0x364)](_0x235b1e)){_0x50c063=!![];continue;}if(/AVFoundation\s+audio\s+devices/i['test'](_0x235b1e)){if(_0x1312ed(0x2da)!=='nzVMd')_0xebc0a5+=_0x376652[_0x1312ed(0x510)]();else{_0x50c063=![];continue;}}if(!_0x50c063)continue;const _0x550319=_0x14f5b2[_0x1312ed(0x66c)](_0x235b1e);if(!_0x550319)continue;_0x4e8988[_0x1312ed(0x496)]({'index':_0x550319[0x1],'name':_0x550319[0x2]});}return _0x4e8988;}async function _0xe24a90(_0x84d3c3){const _0x2faf54=_0x3ee7d6,_0x275a5d=await _0x245602(_0x2faf54(0x2b9),[_0x2faf54(0x48d),_0x2faf54(0x924)]);if(_0x275a5d[_0x2faf54(0x845)]!==0x0&&!_0x275a5d[_0x2faf54(0x91a)])return null;try{const _0x4040b5=JSON['parse'](_0x275a5d['stdout']);return _0x17d1f0(_0x4040b5['SPUSBDataType'],_0x84d3c3);}catch{return null;}}function _0x17d1f0(_0x24e40d,_0x531815){const _0x347a22=_0x3ee7d6;if(_0x24e40d===null||_0x24e40d===void 0x0)return null;if(Array['isArray'](_0x24e40d)){for(const _0x4c90cc of _0x24e40d){const _0x1dddaf=_0x17d1f0(_0x4c90cc,_0x531815);if(_0x1dddaf)return _0x1dddaf;}return null;}if(typeof _0x24e40d!==_0x347a22(0x5ab))return null;const _0x369020=_0x24e40d,_0x360a46=_0x369020['serial_num'];if(typeof _0x360a46==='string'&&_0x360a46['toLowerCase']()===_0x531815['toLowerCase']()){const _0x1eec24=typeof _0x369020['_name']==='string'?_0x369020[_0x347a22(0x9d8)]:_0x531815;return{'name':_0x1eec24,'serial':_0x360a46};}for(const _0x4acab8 of Object['values'](_0x369020)){if(Array['isArray'](_0x4acab8)||typeof _0x4acab8==='object'&&_0x4acab8!==null){const _0x5f28ac=_0x17d1f0(_0x4acab8,_0x531815);if(_0x5f28ac)return _0x5f28ac;}}return null;}async function _0xbd101(_0x23bf06,_0x164c8f={}){const _0x323abf=_0x3ee7d6;if(_0x411061===_0x323abf(0x906))return{'status':_0x323abf(0x906),'message':''};if(_0x411061===_0x323abf(0x7e8))return{'status':'denied','message':_0x6bd395};if(_0x1dde94){const _0x42a7c0=await _0x1dde94;return{'status':_0x42a7c0,'message':_0x42a7c0===_0x323abf(0x906)?'':_0x6bd395};}const _0x2a0d7b=((async()=>{const _0x177315=_0x323abf;try{return await _0x489e47(_0x23bf06,_0x164c8f);}finally{_0x177315(0x6d6)!==_0x177315(0x6d6)?this['pendingStorageAckResolvers']['delete'](_0x376916):_0x1dde94=null;}})());_0x1dde94=_0x2a0d7b;const _0xdfa3d1=await _0x2a0d7b;return _0x411061=_0xdfa3d1,{'status':_0xdfa3d1,'message':_0xdfa3d1==='granted'?'':_0x6bd395};}var _0x6bd395=_0x3ee7d6(0x20a);async function _0x489e47(_0x3c5bc1,_0x3b4c92={}){const _0x3f6e63=_0x3ee7d6,_0x4e4688=_0x3b4c92[_0x3f6e63(0x300)]??_0xbe1507,_0xc59479=_0x3b4c92['rmFn']??_0x20f5c3,_0x4225bf=await _0x107894(_0x3c5bc1);if(_0x4225bf===null)return'denied';const _0x15d24c=_0x4964f8('/tmp','ceraph-permission-dryrun-'+process[_0x3f6e63(0x135)]+'-'+Date['now']()+'.mp4'),_0x379cb9=await _0x245602(_0x3f6e63(0x532),['-hide_banner','-f',_0x3f6e63(0x28e),_0x3f6e63(0x4dd),'30','-i',_0x4225bf+':',_0x3f6e63(0x285),'h264','-t','1','-y',_0x15d24c]);let _0x3369e8=![];if(_0x379cb9[_0x3f6e63(0x845)]===0x0){if('FHgTj'==='avbEi')_0x24ac63=_0xd23851(_0x2898b5,_0x346856,{'stdio':[_0x3f6e63(0x317),'pipe','pipe']});else try{const _0x790495=await _0x4e4688(_0x15d24c);_0x3369e8=_0x790495['size']>=_0x12e72e;}catch{_0x3369e8=![];}}return await _0xc59479(_0x15d24c,{'force':!![]})['catch'](()=>void 0x0),_0x3369e8?'granted':'denied';}async function _0x245602(_0x2953b8,_0x37b931){return new Promise(_0x393c15=>{const _0x174fe1=_0x4a5a;let _0x4e3cec='',_0x345847='',_0xe0ce75;try{_0xe0ce75=_0xf33b5b['spawnFn'](_0x2953b8,_0x37b931,{'stdio':['ignore',_0x174fe1(0x406),_0x174fe1(0x406)]});}catch(_0xe9bc96){if(_0x174fe1(0x94e)!==_0x174fe1(0x94e))return this['bootBuffer'][_0x174fe1(0x63b)]();else{_0x393c15({'code':0x7f,'stdout':'','stderr':_0xed8d43(_0xe9bc96)});return;}}const _0x11b3ab=setTimeout(()=>{const _0x56cb23=_0x174fe1;try{if(_0x56cb23(0x6e1)!==_0x56cb23(0x6e1))return{'status':_0x56cb23(0x33c),'path':_0x214172[_0x56cb23(0x4ff)],'shell':_0x19cf75['shell']};else _0xe0ce75[_0x56cb23(0x142)](_0x56cb23(0x57c));}catch{}},0x2710);_0x11b3ab[_0x174fe1(0x60e)]?.(),_0xe0ce75[_0x174fe1(0x91a)]?.['on']('data',_0x35468c=>{_0x4e3cec+=typeof _0x35468c==='string'?_0x35468c:_0x35468c['toString']();}),_0xe0ce75[_0x174fe1(0x870)]?.['on'](_0x174fe1(0x978),_0x27ba24=>{_0x345847+=typeof _0x27ba24==='string'?_0x27ba24:_0x27ba24['toString']();});let _0x4aa274=![];const _0x426c3c=_0x32ab3a=>{if(_0x4aa274)return;_0x4aa274=!![],clearTimeout(_0x11b3ab),_0x393c15({'code':_0x32ab3a,'stdout':_0x4e3cec,'stderr':_0x345847});};_0xe0ce75['on'](_0x174fe1(0x125),_0xa969cd=>{const _0x21530d=_0x174fe1;_0x345847+=_0xa969cd[_0x21530d(0x92e)]??String(_0xa969cd),_0x426c3c(0x7f);}),_0xe0ce75['on']('exit',_0x4a5a88=>{_0x426c3c(_0x4a5a88??0x1);});});}function _0xed8d43(_0x55d373){if(_0x55d373 instanceof Error)return _0x55d373['message'];return String(_0x55d373);}import{readdir as _0x12c1e6,readFile as _0x300b31,writeFile as _0x2565b4,mkdir as _0x4c9a37,stat as _0x1bf0f1}from'fs/promises';import{join as _0x268280,relative}from'path';var _0x9617c7=[_0x3ee7d6(0x63d),_0x3ee7d6(0x6bb),_0x3ee7d6(0x287),_0x3ee7d6(0x9b8),_0x3ee7d6(0x5c4)],_0x42f8bb=_0x3ee7d6(0x79b),_0x4ae0da=_0x268280('.ceraph','camera-images');function _0xc7374d(_0x32244c){return _0x9617c7['includes'](_0x32244c);}function _0x2b67a2(_0x2988ce){return _0x9617c7['indexOf'](_0x2988ce);}function _0x38c406(_0xbcf04b){const _0xddcceb=_0x3ee7d6,_0x4e3feb=_0xbcf04b[_0xddcceb(0x64b)]('.');if(_0x4e3feb<=0x0)return null;const _0x45b1a9=_0xbcf04b['slice'](0x0,_0x4e3feb),_0x32e191=_0xbcf04b['slice'](_0x4e3feb)['toLowerCase']();if(!_0xc7374d(_0x32e191))return null;if(_0x45b1a9[_0xddcceb(0x945)]===0x0)return null;return{'stem':_0x45b1a9,'ext':_0x32e191};}function _0x42fc5d(_0x2cf049){const _0xfb7d08=_0x3ee7d6,_0x2fc8f1=_0xfb7d08(0x63c);if(_0x2cf049[_0xfb7d08(0x945)]===0x0)return _0x2fc8f1+_0xfb7d08(0x204);const _0x81588e=Math['max'](..._0x2cf049['map'](_0xa6a8e2=>_0xa6a8e2[_0xfb7d08(0x2fe)]['length']+0x2)),_0x4d8285=_0x2cf049[_0xfb7d08(0x986)](_0x17ff60=>{const _0x6ba9a9=_0xfb7d08,_0x430ceb='\x22'+_0x17ff60[_0x6ba9a9(0x2fe)]+'\x22,',_0x22d25f=_0x430ceb['padEnd'](_0x81588e+0x1,'\x20');return _0x6ba9a9(0x975)+_0x22d25f+'\x20require(\x22'+_0x17ff60['relativePath']+_0x6ba9a9(0x5cd);});return _0x2fc8f1+_0x4d8285[_0xfb7d08(0x221)]('\x0a')+_0xfb7d08(0x409);}async function _0x280e91(_0x5064d2){const _0x583714=_0x3ee7d6,_0x1e66db=_0x268280(_0x5064d2,_0x4ae0da),_0x328568=_0x268280(_0x1e66db,_0x42f8bb);let _0x31173c;try{const _0x52885e=await _0x1bf0f1(_0x1e66db);if(!_0x52885e[_0x583714(0x42a)]())return{'registered':[],'registryPath':_0x328568,'writtenOrUnchanged':_0x583714(0xd4)};_0x31173c=await _0x12c1e6(_0x1e66db);}catch{return{'registered':[],'registryPath':_0x328568,'writtenOrUnchanged':'missing-dir'};}const _0x3b12c0=new Map();for(const _0x44582c of _0x31173c){if(_0x44582c===_0x42f8bb)continue;if(_0x44582c[_0x583714(0x887)]('_')||_0x44582c['startsWith']('.'))continue;if(_0x44582c==='README.md')continue;const _0x4573de=_0x38c406(_0x44582c);if(!_0x4573de)continue;const _0x34fa4f={'key':_0x4573de[_0x583714(0x8b0)],'relativePath':'./'+_0x44582c,'ext':_0x4573de['ext']},_0x15a3fb=_0x3b12c0[_0x583714(0x47a)](_0x4573de[_0x583714(0x8b0)]);if(!_0x15a3fb){_0x3b12c0['set'](_0x4573de[_0x583714(0x8b0)],_0x34fa4f);continue;}_0x2b67a2(_0x34fa4f['ext'])<_0x2b67a2(_0x15a3fb['ext'])&&_0x3b12c0[_0x583714(0x3b6)](_0x4573de['stem'],_0x34fa4f);}const _0x497bbb=Array[_0x583714(0x70f)](_0x3b12c0['values']())[_0x583714(0x837)]((_0x49c81d,_0x456c57)=>_0x49c81d['key']<_0x456c57['key']?-0x1:_0x49c81d['key']>_0x456c57[_0x583714(0x2fe)]?0x1:0x0),_0x3d402f=_0x42fc5d(_0x497bbb);let _0x5a6143=null;try{_0x5a6143=await _0x300b31(_0x328568,'utf-8');}catch{_0x5a6143=null;}if(_0x5a6143===_0x3d402f)return{'registered':_0x497bbb,'registryPath':_0x328568,'writtenOrUnchanged':_0x583714(0x237)};return await _0x4c9a37(_0x1e66db,{'recursive':!![]}),await _0x2565b4(_0x328568,_0x3d402f,'utf-8'),{'registered':_0x497bbb,'registryPath':_0x328568,'writtenOrUnchanged':'written'};}function _0x10fa2a(_0x2cefda,_0x4bba2a){const _0x4aa769=_0x3ee7d6,_0x28533c=relative(_0x2cefda,_0x4bba2a);return _0x28533c[_0x4aa769(0x945)]>0x0?_0x28533c:_0x4bba2a;}import{spawn as _0x354511}from'child_process';import{access as _0x186b88}from'fs/promises';import{join as _0x1ff969}from'path';import{spawn as _0x5b7712}from'child_process';import{createRequire}from'module';import{createServer}from'net';import{dirname as _0xc9a579,join as _0x1829fe}from'path';async function _0x3cb15c(){return new Promise((_0x5570c6,_0xe542f3)=>{const _0x2fee0b=_0x4a5a,_0xb0eb79=createServer();_0xb0eb79['once']('error',_0xe542f3),_0xb0eb79[_0x2fee0b(0x966)](0x0,_0x2fee0b(0x176),()=>{const _0x7905f1=_0x2fee0b,_0x557eff=_0xb0eb79[_0x7905f1(0x26c)]();if(_0x557eff&&typeof _0x557eff===_0x7905f1(0x5ab)){const _0x4bcba5=_0x557eff['port'];_0xb0eb79[_0x7905f1(0x4ae)](()=>_0x5570c6(_0x4bcba5));}else _0xb0eb79['close'](()=>_0xe542f3(new Error(_0x7905f1(0x922))));});});}function _0x430809(_0x3171d9){const _0x5781af=_0x3ee7d6,_0x250d86=_0x222bba=>{const _0x3b3cda=_0x4a5a;try{const _0x3e1850=createRequire(_0x222bba),_0x26da44=_0x3e1850['resolve']('appium-webdriveragent/package.json'),_0xa89dde=_0xc9a579(_0x26da44);return _0x1829fe(_0xa89dde,_0x3b3cda(0x3d8));}catch{return null;}};if(_0x3171d9){if(_0x5781af(0x3dd)===_0x5781af(0x3dd)){const _0x4f07aa=_0x250d86(new URL(_0x5781af(0x833),'file://'+(_0x3171d9['endsWith']('/')?_0x3171d9:_0x3171d9+'/')));if(_0x4f07aa)return _0x4f07aa;}else{const _0x2d546c=_0x34632b??_0x505822;if(_0x300d62[_0x5781af(0x91a)][_0x5781af(0x97d)]!==!![]||_0x1982a2[_0x5781af(0x870)]['isTTY']!==!![])return _0x2d546c;return'\x1b]8;;'+_0x442820+'\x07'+_0x2d546c+'\x1b]8;;\x07';}}return _0x250d86(import.meta.url);}async function _0x20df2b(_0xa649ed){const _0x16ba50=_0x3ee7d6,_0x4a0ef3=_0x430809(_0xa649ed['projectDir']);if(!_0x4a0ef3)return{'ok':![],'reason':_0x16ba50(0x629),'error':_0x16ba50(0x4f6)};const _0x5768da=await _0x333689('xcodebuild');if(!_0x5768da)return{'ok':![],'reason':'xcodebuild-missing','error':'`xcodebuild`\x20not\x20found\x20on\x20PATH.\x20Install\x20Xcode\x20(full\x20app,\x20not\x20just\x20Command\x20Line\x20Tools)\x20and\x20accept\x20the\x20license:\x20`sudo\x20xcodebuild\x20-license\x20accept`.'};await _0x3d4f94(_0xa649ed['udid']);const _0x34d0a2=[_0x16ba50(0x364),_0x16ba50(0x677),_0x4a0ef3,_0x16ba50(0x42c),'WebDriverAgentRunner',_0x16ba50(0x244),_0x16ba50(0x359)+_0xa649ed[_0x16ba50(0x737)]];_0xa649ed['derivedDataPath']&&_0x34d0a2[_0x16ba50(0x496)]('-derivedDataPath',_0xa649ed['derivedDataPath']);_0x34d0a2[_0x16ba50(0x496)](_0x16ba50(0x6a2));const _0x316223=await _0x3cb15c();let _0x4974ef;try{_0x4974ef=_0x5b7712(_0x16ba50(0x5d4),_0x34d0a2,{'stdio':[_0x16ba50(0x317),'pipe',_0x16ba50(0x406)],'env':{...process.env,'TEST_RUNNER_USE_PORT':String(_0x316223)}});}catch(_0x1dad86){return{'ok':![],'reason':_0x16ba50(0x554),'error':'Failed\x20to\x20spawn\x20xcodebuild:\x20'+(_0x1dad86 instanceof Error?_0x1dad86['message']:String(_0x1dad86))};}try{_0xa649ed[_0x16ba50(0x50f)]?.(_0x4974ef);}catch(_0x2538f0){try{_0x4974ef['kill']('SIGTERM');}catch{}return{'ok':![],'reason':_0x16ba50(0x554),'error':_0x16ba50(0x1b5)+(_0x2538f0 instanceof Error?_0x2538f0['message']:String(_0x2538f0))};}const _0x19284b=[],_0x30960e=_0x363a57=>{const _0x504dbb=_0x16ba50;for(const _0x4b74b4 of _0x363a57['split']('\x0a')){if(!_0x4b74b4[_0x504dbb(0x5da)]())continue;_0x19284b['push'](_0x4b74b4);if(_0x19284b[_0x504dbb(0x945)]>0xc8)_0x19284b[_0x504dbb(0x936)]();}};let _0x281102=null;const _0x244144=_0x391af6=>{if(_0x281102!==null)return;const _0x427327=_0x31da21(_0x19284b['join']('\x0a')+'\x0a'+_0x391af6);if(_0x427327!==null)_0x281102=_0x427327;};_0x4974ef[_0x16ba50(0x91a)]?.['on']('data',_0x36beac=>{const _0x100c00=_0x16ba50;if('IHBFK'===_0x100c00(0x549))return![];else{const _0x4f72c6=_0x36beac[_0x100c00(0x510)]();_0x30960e(_0x4f72c6),_0x244144(_0x4f72c6);}}),_0x4974ef['stderr']?.['on']('data',_0x280648=>{const _0x23b0e4=_0x280648['toString']();_0x30960e(_0x23b0e4),_0x244144(_0x23b0e4);});let _0x4b13fd=![],_0x4fabf1=null;_0x4974ef['on'](_0x16ba50(0x41e),_0x25311c=>{_0x4b13fd=!![],_0x4fabf1=_0x25311c;});const _0x725e61=_0xa649ed['startupTimeoutMs']??0x668a0,_0x1c265a=0xfa,_0x110763=Date[_0x16ba50(0x3d1)]();while(Date['now']()-_0x110763<_0x725e61){if(_0x281102!==null)break;if(_0x4b13fd)break;await new Promise(_0x16e495=>setTimeout(_0x16e495,_0x1c265a));}if(_0x281102!==null&&!_0x4b13fd){const _0x3bc526=_0x281102;return{'ok':!![],'session':_0x1d42dd({'port':_0x3bc526,'udid':_0xa649ed['udid'],'projectPath':_0x4a0ef3,'child':_0x4974ef,'output':_0x19284b})};}if(_0x281102!==null&&_0x4b13fd)return{'ok':![],'reason':_0x16ba50(0x824),'error':_0x16ba50(0x367)+_0x4fabf1+_0x16ba50(0x6dd),'output':_0x19284b[_0x16ba50(0x63b)](-0x14)};try{_0x4974ef[_0x16ba50(0x142)]('SIGTERM');}catch{}if(_0x4b13fd){if('WcGGh'!=='WcGGh')_0x1f92fa(_0x2df7ac[_0x16ba50(0x58a)]??null),_0x8ab67(_0x256638['extendedCatalog']??null);else return{'ok':![],'reason':_0x16ba50(0x824),'error':'xcodebuild\x20exited\x20with\x20code\x20'+_0x4fabf1+_0x16ba50(0x68c)+_0x4a0ef3+_0x16ba50(0x6ce),'output':_0x19284b['slice'](-0x14)};}return{'ok':![],'reason':_0x16ba50(0x52c),'error':_0x16ba50(0x23d)+Math['round'](_0x725e61/0x3e8)+'s\x20without\x20coming\x20up\x20(no\x20`ServerURLHere->...<-ServerURLHere`\x20marker).\x20This\x20is\x20almost\x20always\x20a\x20cold\x20first\x20build\x20that\x27s\x20still\x20compiling\x20—\x20it\x20can\x20take\x20a\x20few\x20minutes.\x20The\x20compiled\x20output\x20is\x20cached\x20under\x20the\x20project\x27s\x20derivedData,\x20so\x20simply\x20retrying\x20usually\x20succeeds\x20(the\x20next\x20build\x20is\x20incremental).\x20If\x20retries\x20keep\x20timing\x20out,\x20build\x20the\x20runner\x20once\x20in\x20Xcode\x20to\x20surface\x20any\x20setup\x20prompt\x20(`open\x20\x22'+_0x4a0ef3+'\x22`,\x20scheme\x20WebDriverAgentRunner).\x20Last\x2020\x20lines\x20of\x20xcodebuild\x20output\x20below.','output':_0x19284b[_0x16ba50(0x63b)](-0x14)};}function _0x1d42dd(_0x52af64){const _0x31207f=_0x3ee7d6;let _0x263070=![];const _0x5df345=async()=>{const _0x429007=_0x4a5a;if(_0x263070)return;_0x263070=!![];if(_0x52af64[_0x429007(0x91b)]['exitCode']!==null)return;try{_0x52af64[_0x429007(0x91b)][_0x429007(0x142)](_0x429007(0x465));}catch{return;}await new Promise(_0x3afd2f=>{const _0x3d0462=_0x429007;let _0x57dca2=![];const _0x338923=()=>{if(_0x57dca2)return;_0x57dca2=!![],_0x3afd2f();};_0x52af64[_0x3d0462(0x91b)]['once']('exit',_0x338923);if(_0x52af64['child']['exitCode']!==null){_0x52af64['child']['off'](_0x3d0462(0x41e),_0x338923),_0x57dca2=!![],_0x3afd2f();return;}setTimeout(()=>{const _0x3be66c=_0x3d0462;if(_0x57dca2)return;try{if(_0x3be66c(0x851)!=='FHOee'){if(_0x54b735[_0x3be66c(0x83f)](_0x3be66c(0x34e)))return'Text';if(_0x78c2a2[_0x3be66c(0x83f)](_0x3be66c(0x438)))return _0x3be66c(0x438);if(_0x2f5229[_0x3be66c(0x83f)]('Button'))return'Button';if(_0x157b6a[_0x3be66c(0x83f)]('TextField')||_0x2a8f9d['includes'](_0x3be66c(0x79e)))return'Input';return _0x3be66c(0x8a3);}else _0x52af64['child'][_0x3be66c(0x142)](_0x3be66c(0x57c));}catch{}setTimeout(()=>{const _0x1012c2=_0x3be66c;if(_0x57dca2)return;_0x52af64['child']['off'](_0x1012c2(0x41e),_0x338923),_0x57dca2=!![],_0x3afd2f();},0x7d0);},0x1388);});};return{'port':_0x52af64[_0x31207f(0x688)],'udid':_0x52af64[_0x31207f(0x737)],'projectPath':_0x52af64[_0x31207f(0x139)],'process':_0x52af64[_0x31207f(0x91b)],'output':_0x52af64[_0x31207f(0x177)],'stop':_0x5df345};}async function _0x333689(_0x453233){return new Promise(_0x2dc9bb=>{const _0x58d819=_0x4a5a;let _0x4e27f4;try{_0x4e27f4=_0x5b7712(_0x58d819(0x427),[_0x453233],{'stdio':[_0x58d819(0x317),'pipe','pipe']});}catch{_0x2dc9bb(![]);return;}let _0x2675e9='';_0x4e27f4['stdout']?.['on']('data',_0x408548=>{const _0x477caf=_0x58d819;_0x2675e9+=_0x408548[_0x477caf(0x510)]();}),_0x4e27f4['on'](_0x58d819(0x125),()=>_0x2dc9bb(![])),_0x4e27f4['on']('exit',_0x40c6e0=>_0x2dc9bb(_0x40c6e0===0x0&&_0x2675e9[_0x58d819(0x5da)]()[_0x58d819(0x945)]>0x0));});}async function _0x3d4f94(_0x43d57c,_0x3abfa4={}){const _0x1feaff=_0x3ee7d6,_0x411884=_0x3abfa4['timeoutMs']??0x15f90,_0x91f9a=_0x3abfa4[_0x1feaff(0x9ab)]??_0x5b7712;await new Promise(_0x1864e6=>{const _0x5afd58=_0x1feaff;let _0x1342f5,_0x1d9340=![];const _0x65eeb3=()=>{if(_0x1d9340)return;_0x1d9340=!![],clearTimeout(_0x2f0438),_0x1864e6();},_0x2f0438=setTimeout(()=>{const _0x154633=_0x4a5a;try{_0x1342f5?.[_0x154633(0x142)](_0x154633(0x57c));}catch{}_0x65eeb3();},_0x411884);try{_0x1342f5=_0x91f9a('xcrun',['simctl','bootstatus',_0x43d57c,'-b'],{'stdio':[_0x5afd58(0x317),'ignore','ignore']});}catch{_0x65eeb3();return;}_0x1342f5['on'](_0x5afd58(0x125),()=>_0x65eeb3()),_0x1342f5['on'](_0x5afd58(0x41e),()=>_0x65eeb3());});}var _0x409902='appium-webdriveragent',_0x40ffb8=[{'file':'pnpm-lock.yaml','pm':'pnpm'},{'file':'yarn.lock','pm':_0x3ee7d6(0x18b)},{'file':'bun.lockb','pm':_0x3ee7d6(0x307)},{'file':_0x3ee7d6(0x3c5),'pm':_0x3ee7d6(0x307)},{'file':'package-lock.json','pm':_0x3ee7d6(0x38f)}];function _0x429af3(_0xd8ba34){const _0x407c9f=_0x3ee7d6;switch(_0xd8ba34){case _0x407c9f(0x38f):return{'bin':_0x407c9f(0x38f),'args':[_0x407c9f(0x18f),'-D',_0x409902]};case _0x407c9f(0x16e):return{'bin':'pnpm','args':[_0x407c9f(0x5c1),'-D',_0x409902]};case'yarn':return{'bin':'yarn','args':['add','-D',_0x409902]};case'bun':return{'bin':_0x407c9f(0x307),'args':[_0x407c9f(0x5c1),'-D',_0x409902]};}}function _0x40edd1(_0x5ca886){return _0x430809(_0x5ca886)!==null;}async function _0x8573fb(_0xabdd6d){try{return await _0x186b88(_0xabdd6d),!![];}catch{return![];}}async function _0x45f4cc(_0x5eeea0){const _0x168e71=_0x3ee7d6;for(const {file:_0x16809d,pm:_0x44f0e4}of _0x40ffb8){if(await _0x8573fb(_0x1ff969(_0x5eeea0,_0x16809d)))return _0x44f0e4;}return _0x168e71(0x38f);}function _0xc2b902(_0x12cdf3,_0x159fb7){const {bin:_0x9ac5f8,args:_0x3776e5}=_0x429af3(_0x12cdf3),_0x328698=0x5*0xea60;return new Promise(_0x526d94=>{const _0x38e838=_0x4a5a;let _0x56998d;try{if('FUAmz'!==_0x38e838(0x2e7))return _0x25f208(_0x38e838(0x643),_0x1f4b22);else _0x56998d=_0x354511(_0x9ac5f8,_0x3776e5,{'cwd':_0x159fb7,'stdio':[_0x38e838(0x317),0x2,0x2]});}catch(_0x10a0f7){_0x526d94({'ok':![],'error':_0x38e838(0x5cc)+_0x9ac5f8+':\x20'+(_0x10a0f7 instanceof Error?_0x10a0f7[_0x38e838(0x92e)]:String(_0x10a0f7))});return;}let _0x4acda8=![];const _0x25f51b=_0x149976=>{if(_0x4acda8)return;_0x4acda8=!![],clearTimeout(_0x105e72),_0x526d94(_0x149976);},_0x105e72=setTimeout(()=>{const _0x13736a=_0x38e838;if(_0x13736a(0x758)==='DYngs'){try{_0x56998d['kill'](_0x13736a(0x57c));}catch{}_0x25f51b({'ok':![],'error':'`'+_0x9ac5f8+'\x20'+_0x3776e5[_0x13736a(0x221)]('\x20')+'`\x20timed\x20out\x20after\x20'+_0x328698/0xea60+'min.'});}else return _0x2ccc43['addNamedImport'](_0xfcb02),!![];},_0x328698);_0x56998d['on']('error',_0x172c8c=>_0x25f51b({'ok':![],'error':'`'+_0x9ac5f8+'\x20'+_0x3776e5['join']('\x20')+'`\x20failed\x20to\x20run:\x20'+_0x172c8c[_0x38e838(0x92e)]})),_0x56998d['on']('exit',_0x299c2e=>{const _0x43de43=_0x38e838;_0x299c2e===0x0?_0x25f51b({'ok':!![]}):_0x25f51b({'ok':![],'error':'`'+_0x9ac5f8+'\x20'+_0x3776e5['join']('\x20')+_0x43de43(0x2b6)+(_0x299c2e??0x1)+'.'});});});}async function _0xf66b1c(_0x244e4b,_0x52e6db={}){const _0xe06fcc=_0x3ee7d6,_0x46a603=_0x52e6db[_0xe06fcc(0xe6)]??_0x40edd1,_0x38150a=_0x52e6db[_0xe06fcc(0x1a0)]??_0x45f4cc,_0x29e838=_0x52e6db['runInstall']??_0xc2b902,_0xf10721=_0x52e6db['log'];try{if(_0xe06fcc(0x2ec)===_0xe06fcc(0x2ec)){if(_0x46a603(_0x244e4b))return{'status':'present'};_0xf10721?.('Installing\x20appium-webdriveragent\x20for\x20simulator\x20support\x20(one-time,\x20~200MB)…');const _0x6f00ac=await _0x38150a(_0x244e4b),_0x482858=await _0x29e838(_0x6f00ac,_0x244e4b);if(_0x46a603(_0x244e4b))return{'status':_0xe06fcc(0x7df)};return{'status':'install-failed','error':_0x482858[_0xe06fcc(0x125)]??'appium-webdriveragent\x20still\x20isn\x27t\x20resolvable\x20after\x20`'+_0x429af3(_0x6f00ac)[_0xe06fcc(0x366)]+'\x20'+_0x429af3(_0x6f00ac)[_0xe06fcc(0x719)]['join']('\x20')+'`.'};}else{const _0x496383=new _0x16b52d({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x54bc98['TwoSpaces']}});for(const _0x30711e of _0x2ec8b6){try{_0x496383[_0xe06fcc(0x5bd)](_0x30711e);}catch{}}return _0x496383;}}catch(_0x1ec306){return{'status':'install-failed','error':_0x1ec306 instanceof Error?_0x1ec306[_0xe06fcc(0x92e)]:String(_0x1ec306)};}}function _0x546161(_0x4e62d9,_0x4e9cee,_0x313919=0xfa0){return new Promise(_0x10b99a=>{const _0x42158d=_0x4a5a;let _0x428c35='',_0x23b5fb='',_0x506517;try{'TPdcL'!=='lRAyO'?_0x506517=_0x38bbff(_0x4e62d9,_0x4e9cee,{'stdio':[_0x42158d(0x317),'pipe','pipe']}):_0x5f03a5[_0x42158d(0x496)](_0x5896e3['remediation']);}catch(_0x415c05){_0x10b99a({'code':0x7f,'stdout':'','stderr':_0x415c05 instanceof Error?_0x415c05[_0x42158d(0x92e)]:String(_0x415c05)});return;}const _0x332eb7=setTimeout(()=>{try{_0x506517['kill']('SIGKILL');}catch{}},_0x313919);_0x506517[_0x42158d(0x91a)]?.['on'](_0x42158d(0x978),_0x4522b5=>{const _0x3c6c12=_0x42158d;if('WzbJr'!=='WzbJr'){const _0xf2eb24=(_0x310c7a??'')['trim']()['toLowerCase']();if(_0xf2eb24===_0x3c6c12(0x931))return'device';if(_0xf2eb24===_0x3c6c12(0x21f)||_0xf2eb24===_0x3c6c12(0x228))return _0x3c6c12(0x21f);return _0x3c6c12(0x4fa);}else _0x428c35+=_0x4522b5['toString']();}),_0x506517[_0x42158d(0x870)]?.['on']('data',_0x3e43aa=>{const _0x9f0cf0=_0x42158d;'Tkwrl'==='Tkwrl'?_0x23b5fb+=_0x3e43aa['toString']():_0x593512['returns']['toggleMethod']=_0x11103f[_0x9f0cf0(0x1c6)];});let _0x3a9f54=![];_0x506517['on']('error',_0x399f5c=>{const _0x53f17e=_0x42158d;if(_0x3a9f54)return;_0x3a9f54=!![],clearTimeout(_0x332eb7),_0x10b99a({'code':0x7f,'stdout':_0x428c35,'stderr':_0x23b5fb+(_0x399f5c[_0x53f17e(0x92e)]??String(_0x399f5c))});}),_0x506517['on']('exit',_0x479657=>{if(_0x3a9f54)return;_0x3a9f54=!![],clearTimeout(_0x332eb7),_0x10b99a({'code':_0x479657??0x1,'stdout':_0x428c35,'stderr':_0x23b5fb});});});}async function _0x39ec70(_0x46b7a7,_0x2a6995,_0x100a07){const _0xb9ac04=_0x3ee7d6;try{if(_0xb9ac04(0x5ff)===_0xb9ac04(0x859))return _0x5c9e31(_0xb9ac04(0x6c0),_0x1fe778);else{const _0x2f3d61=await _0x100a07();return{'name':_0x46b7a7,..._0x2f3d61};}}catch(_0x25df04){return{'name':_0x46b7a7,'ok':![],'severity':_0x2a6995,'message':_0x25df04 instanceof Error?_0x25df04['message']:String(_0x25df04)};}}async function _0x4a7456(_0x3e4e13,_0x5939af){const _0x292ea6=_0x3ee7d6,_0x291344=Date['now']()+_0x5939af['timeoutMs'];try{if(await _0x3e4e13())return!![];}catch{}while(Date[_0x292ea6(0x3d1)]()<_0x291344){await new Promise(_0x91f72e=>setTimeout(_0x91f72e,_0x5939af['intervalMs']));try{if(await _0x3e4e13())return!![];}catch{}}return![];}async function _0x32111e(){const _0x1faab2=_0x3ee7d6,_0x577d90=await _0x546161(_0x1faab2(0x913),['-getairportnetwork','en0']);if(_0x577d90[_0x1faab2(0x845)]!==0x0)return null;const _0x33949f=_0x577d90['stdout']['match'](/Current Wi-Fi Network:\s*(.+)$/m);if(!_0x33949f)return null;const _0x566a57=_0x33949f[0x1]['trim']();if(!_0x566a57||_0x566a57['toLowerCase']()[_0x1faab2(0x83f)](_0x1faab2(0x100)))return null;return _0x566a57;}async function _0x58ec2c(){const _0x41f992=_0x3ee7d6,_0x562f13=await _0x546161(_0x41f992(0x872),[_0x41f992(0x8e4),'en0']);if(_0x562f13['code']!==0x0)return null;const _0x15ebea=_0x562f13['stdout'][_0x41f992(0x5da)]();return _0x15ebea[_0x41f992(0x945)]>0x0?_0x15ebea:null;}var _0x9994a4=[_0x3ee7d6(0x44c),'src',_0x3ee7d6(0x471)],_0x3284ea=new Set(['.tsx','.jsx']),_0x450b60=new Set(['node_modules',_0x3ee7d6(0x166),'build','.git','.ceraph','.expo',_0x3ee7d6(0x325),'ios','android']);async function _0x2d9d73(_0x43a234){const _0x5b0c62=[];async function _0x2d05c7(_0x501948){const _0x9a9b7d=_0x4a5a;let _0x42b0dd;try{_0x42b0dd=await _0x93f4d(_0x501948,{'withFileTypes':!![]});}catch{return;}for(const _0x3ff66c of _0x42b0dd){const _0x5221ea=_0x12b4ee(_0x501948,_0x3ff66c['name']);if(_0x3ff66c[_0x9a9b7d(0x42a)]()){if(_0x450b60['has'](_0x3ff66c['name']))continue;await _0x2d05c7(_0x5221ea);continue;}if(!_0x3ff66c['isFile']())continue;const _0x6de911=_0x3ff66c['name'][_0x9a9b7d(0x64b)]('.');if(_0x6de911<0x0)continue;const _0x12cdc3=_0x3ff66c['name'][_0x9a9b7d(0x63b)](_0x6de911)['toLowerCase']();if(!_0x3284ea['has'](_0x12cdc3))continue;let _0x45fb69;try{_0x45fb69=await _0x44a1ca(_0x5221ea,'utf-8');}catch{continue;}const _0x5d7a73=_0x140207(_0x43a234,_0x5221ea)['split'](sep)[_0x9a9b7d(0x221)]('/');_0x5b0c62[_0x9a9b7d(0x496)]({'absPath':_0x5221ea,'relPath':_0x5d7a73,'contents':_0x45fb69});}}for(const _0x81ece4 of _0x9994a4){await _0x2d05c7(_0x12b4ee(_0x43a234,_0x81ece4));}return _0x5b0c62;}function _0x151e33(_0x1af6aa,_0xd85dea){const _0x459ba4=_0x3ee7d6,_0x46eebb=[],_0x252787=_0x1af6aa['contents'],_0x257d24=_0xd85dea['replace'](/[.*+?^${}()|[\]\\]/g,'\x5c$&'),_0x5ac854=new RegExp('<'+_0x257d24+_0x459ba4(0x9c5),'g');let _0x271aaf;while((_0x271aaf=_0x5ac854[_0x459ba4(0x66c)](_0x252787))!==null){const _0x5edd5d=_0x271aaf['index'],_0x1f8419=_0x41d46c(_0x252787,_0x5edd5d+_0x271aaf[0x0][_0x459ba4(0x945)]);if(_0x1f8419===-0x1)continue;const _0x471606=_0x252787['slice'](_0x5edd5d,_0x1f8419+0x1),_0x3427fd=_0x252787[_0x459ba4(0x63b)](0x0,_0x5edd5d),_0x255647=(_0x3427fd[_0x459ba4(0x678)](/\n/g)?.[_0x459ba4(0x945)]??0x0)+0x1;_0x46eebb[_0x459ba4(0x496)]({'file':_0x1af6aa,'line':_0x255647,'openingTag':_0x471606});}return _0x46eebb;}function _0x41d46c(_0x2fa832,_0x42effb){const _0x47d9b9=_0x3ee7d6;let _0x3ecac4=0x0,_0x5258c8=![],_0x2c6972=![],_0x3fb850=![];for(let _0x536195=_0x42effb;_0x536195<_0x2fa832[_0x47d9b9(0x945)];_0x536195++){const _0x5364a4=_0x2fa832[_0x536195];if(_0x5258c8){if(_0x5364a4==='\x22'&&!_0x1f40cc(_0x2fa832,_0x536195))_0x5258c8=![];continue;}if(_0x2c6972){if(_0x5364a4==='\x27'&&!_0x1f40cc(_0x2fa832,_0x536195))_0x2c6972=![];continue;}if(_0x3fb850){if(_0x5364a4==='`'&&!_0x1f40cc(_0x2fa832,_0x536195))_0x3fb850=![];continue;}if(_0x5364a4==='\x22'){_0x5258c8=!![];continue;}if(_0x5364a4==='\x27'){_0x2c6972=!![];continue;}if(_0x5364a4==='`'){_0x3fb850=!![];continue;}if(_0x5364a4==='{'){_0x3ecac4++;continue;}if(_0x5364a4==='}'){_0x3ecac4=Math[_0x47d9b9(0x4da)](0x0,_0x3ecac4-0x1);continue;}if(_0x3ecac4===0x0&&_0x5364a4==='>')return _0x536195;}return-0x1;}function _0x1f40cc(_0x13fc08,_0x4a1964){let _0x51d923=0x0,_0x3e20bc=_0x4a1964-0x1;while(_0x3e20bc>=0x0&&_0x13fc08[_0x3e20bc]==='\x5c'){_0x51d923++,_0x3e20bc--;}return _0x51d923%0x2===0x1;}function _0x483258(_0x31b11d){const _0x4117b9=_0x3ee7d6,_0x4bd548=_0x31b11d['replace'](/\.(tsx|jsx)$/i,''),_0xa1c893=_0x4bd548[_0x4117b9(0x814)](/[\\/]/)['filter'](_0x9e5a56=>_0x9e5a56['length']>0x0);if(_0xa1c893[_0x4117b9(0x945)]===0x0)return'camera';const _0x5b0330=_0xa1c893[_0xa1c893['length']-0x1],_0xbcd0ce=_0xa1c893['length']>0x1?_0xa1c893[_0xa1c893[_0x4117b9(0x945)]-0x2]:_0x5b0330,_0x3babf3=new Set(['page','index',_0x4117b9(0x5e9),'route','layout']),_0x532128=_0x3babf3['has'](_0x5b0330[_0x4117b9(0x17e)]())?_0xbcd0ce:_0x5b0330,_0x1a3222=_0x532128[_0x4117b9(0x27d)](/([a-z0-9])([A-Z])/g,_0x4117b9(0x12d))[_0x4117b9(0x17e)]()[_0x4117b9(0x27d)](/[^a-z0-9]+/g,'-')['replace'](/^-+|-+$/g,'');return _0x1a3222[_0x4117b9(0x945)]>0x0?_0x1a3222:'camera';}function _0x415056(_0x27dfea){const _0x1a17fa=_0x3ee7d6,_0x38ee41=/import\s*\{([^}]*)\}\s*from\s*["']expo-camera["']/g;let _0x5e1d2a;while((_0x5e1d2a=_0x38ee41[_0x1a17fa(0x66c)](_0x27dfea))!==null){const _0x18020e=_0x5e1d2a[0x1][_0x1a17fa(0x814)](',')['map'](_0x1d467a=>_0x1d467a[_0x1a17fa(0x5da)]()[_0x1a17fa(0x814)](/\s+as\s+/)[0x0]['trim']());if(_0x18020e['includes']('CameraView'))return!![];}return![];}function _0x59f6ee(_0x478beb){const _0x35c5db=_0x3ee7d6,_0x2b2c0a='imageKey';let _0x15f08a=0x0,_0x3fd520=![],_0x580d04=![],_0x268a3a=![];for(let _0x16f744=0x0;_0x16f744<_0x478beb[_0x35c5db(0x945)];_0x16f744++){const _0x1c4efc=_0x478beb[_0x16f744];if(_0x3fd520){if(_0x1c4efc==='\x22'&&!_0x1f40cc(_0x478beb,_0x16f744))_0x3fd520=![];continue;}if(_0x580d04){if(_0x1c4efc==='\x27'&&!_0x1f40cc(_0x478beb,_0x16f744))_0x580d04=![];continue;}if(_0x268a3a){if(_0x1c4efc==='`'&&!_0x1f40cc(_0x478beb,_0x16f744))_0x268a3a=![];continue;}if(_0x1c4efc==='\x22'){_0x3fd520=!![];continue;}if(_0x1c4efc==='\x27'){_0x580d04=!![];continue;}if(_0x1c4efc==='`'){if('gBSzs'!==_0x35c5db(0x4ab))return!![];else{_0x268a3a=!![];continue;}}if(_0x1c4efc==='{'){_0x15f08a++;continue;}if(_0x1c4efc==='}'){_0x15f08a=Math[_0x35c5db(0x4da)](0x0,_0x15f08a-0x1);continue;}if(_0x15f08a!==0x0)continue;if(_0x1c4efc!=='i')continue;if(_0x478beb[_0x35c5db(0x506)](_0x16f744,_0x16f744+_0x2b2c0a['length'])!==_0x2b2c0a)continue;const _0x1431b4=_0x16f744===0x0?'\x20':_0x478beb[_0x16f744-0x1];if(/[A-Za-z0-9_$]/[_0x35c5db(0x364)](_0x1431b4))continue;const _0x2fefae=_0x478beb[_0x16f744+_0x2b2c0a['length']]??'';if(_0x2fefae!=='='&&!/\s/[_0x35c5db(0x364)](_0x2fefae))continue;let _0x2ea3ce=_0x16f744+_0x2b2c0a['length'];while(_0x2ea3ce<_0x478beb[_0x35c5db(0x945)]&&/\s/[_0x35c5db(0x364)](_0x478beb[_0x2ea3ce]))_0x2ea3ce++;if(_0x478beb[_0x2ea3ce]!=='='){_0x16f744=_0x2ea3ce-0x1;continue;}_0x2ea3ce++;while(_0x2ea3ce<_0x478beb[_0x35c5db(0x945)]&&/\s/[_0x35c5db(0x364)](_0x478beb[_0x2ea3ce]))_0x2ea3ce++;const _0x200a6c=_0x478beb[_0x2ea3ce];if(_0x200a6c==='\x22'||_0x200a6c==='\x27'){let _0x253996=_0x2ea3ce+0x1;while(_0x253996<_0x478beb['length']&&!(_0x478beb[_0x253996]===_0x200a6c&&!_0x1f40cc(_0x478beb,_0x253996))){_0x253996++;}const _0x2fb62b=_0x478beb[_0x35c5db(0x63b)](_0x2ea3ce+0x1,_0x253996);if(_0x2fb62b[_0x35c5db(0x5da)]()[_0x35c5db(0x945)]===0x0)return{'present':![]};return{'present':!![],'value':_0x2fb62b};}if(_0x200a6c==='{')return{'present':!![],'value':null};return{'present':![]};}return{'present':![]};}async function _0x3df3ac(_0x43d1f4){const _0x1b2a6c=_0x3ee7d6,{screen:_0x3ae88f,apps:_0x531c8b,autonomy:_0x530b2b,bundleId:_0xe20fee,requiredEnv:_0x18e466,expectedNetwork:_0x3ce1ec,projectDir:projectDir=process['cwd'](),target:_0x94e146,excludeRuntimeChecks:excludeRuntimeChecks=![],screenRecordingStatus:screenRecordingStatus=_0x3caa26,ensureAppium:ensureAppium=_0xf66b1c}=_0x43d1f4,_0x2b65d8=!excludeRuntimeChecks&&_0x94e146?await _0x94e146['resolve']()['catch'](()=>null):null,_0x186d08=_0x2b65d8?.[_0x1b2a6c(0x555)]==='simulator',_0x344dad=_0x280e91(projectDir),_0x218c1f=_0x344dad['then'](_0x54feac=>{const _0xc243e1=_0x1b2a6c;if(_0x54feac[_0xc243e1(0x969)]==='missing-dir')return{'name':'camera-registry-synced','ok':!![],'severity':'info','message':_0xc243e1(0x286)};return{'name':'camera-registry-synced','ok':!![],'severity':'info','message':'Camera\x20image\x20registry\x20'+_0x54feac[_0xc243e1(0x969)]+'\x20('+_0x54feac['registered'][_0xc243e1(0x945)]+'\x20image'+(_0x54feac[_0xc243e1(0x2d0)][_0xc243e1(0x945)]===0x1?'':'s')+')\x20at\x20'+_0x10fa2a(projectDir,_0x54feac['registryPath'])+'.','details':{'registered':_0x54feac[_0xc243e1(0x2d0)][_0xc243e1(0x986)](_0x34c248=>_0x34c248['key']),'state':_0x54feac['writtenOrUnchanged']}};},_0x63ccb5=>({'name':_0x1b2a6c(0x311),'ok':![],'severity':_0x1b2a6c(0x77d),'message':_0x1b2a6c(0x87e)+(_0x63ccb5 instanceof Error?_0x63ccb5[_0x1b2a6c(0x92e)]:String(_0x63ccb5))})),_0xdc6b32=_0x2d9d73(projectDir),_0x53361b=_0x39ec70('camera-views-unwrapped','warning',async()=>{const _0x22781c=_0x1b2a6c,_0x180c49=await _0xdc6b32,_0x56c61a=[];for(const _0x16ae86 of _0x180c49){if('HaGMU'===_0x22781c(0x158)){if(typeof _0x2b9604!=='number'||!_0x371140[_0x22781c(0x996)](_0x26c7df)||!_0x506067['isInteger'](_0x113f29)||_0x4a38c0<0x0||_0x28bdac>0xf4240)throw new _0x39b1ba('stepIndex\x20must\x20be\x20a\x20non-negative\x20integer\x20≤\x201000000\x20(got\x20'+_0x20a97c(_0x42cf6d)+').');return _0x504c6e;}else{if(!_0x415056(_0x16ae86[_0x22781c(0x2e2)]))continue;const _0x19d5fe=_0x151e33(_0x16ae86,_0x22781c(0x537));for(const _0xe94901 of _0x19d5fe){_0x56c61a['push'](_0xe94901['file'][_0x22781c(0x260)]+':'+_0xe94901['line']);}}}if(_0x56c61a['length']===0x0)return{'ok':!![],'severity':_0x22781c(0x77d),'message':_0x22781c(0x34a)};return{'ok':![],'severity':'warning','message':_0x22781c(0x8be)+_0x56c61a[_0x22781c(0x945)]+_0x22781c(0x5eb),'remediation':_0x22781c(0x664),'details':{'offenders':_0x56c61a}};}),_0x22392f=_0x39ec70('camera-imageKey-setup','info',async()=>{const _0x2f4966=_0x1b2a6c,_0x59bc8e=await _0xdc6b32,_0x3064df=[];for(const _0x5a77f0 of _0x59bc8e){const _0xc9d1e5=_0x151e33(_0x5a77f0,'CeraphCamera');for(const _0x3d3468 of _0xc9d1e5){if(_0x2f4966(0x253)==='kMfoW')return{'result':{'success':![],'error':'Failed\x20to\x20get\x20element\x20tree'},'tree':null};else{const _0x2c68d8=_0x59f6ee(_0x3d3468[_0x2f4966(0x73c)]);!_0x2c68d8[_0x2f4966(0x3ad)]&&_0x3064df['push']({'location':_0x3d3468[_0x2f4966(0x8f5)][_0x2f4966(0x260)]+':'+_0x3d3468[_0x2f4966(0xf5)],'file':_0x3d3468[_0x2f4966(0x8f5)][_0x2f4966(0x260)],'line':_0x3d3468['line'],'suggestedKey':_0x483258(_0x3d3468['file']['relPath'])});}}}if(_0x3064df[_0x2f4966(0x945)]===0x0)return{'ok':!![],'severity':'info','message':'All\x20<CeraphCamera>\x20components\x20have\x20an\x20explicit\x20imageKey\x20(or\x20use\x20a\x20runtime\x20sentinel).'};return{'ok':!![],'severity':'info','message':_0x3064df['length']+'\x20<CeraphCamera>\x20component'+(_0x3064df['length']===0x1?'':'s')+'\x20awaiting\x20imageKey\x20assignment\x20('+_0x3064df['map'](_0x1e9dde=>_0x1e9dde[_0x2f4966(0x7de)])['join'](',\x20')+').','remediation':'Ask\x20the\x20user\x20about\x20each\x20camera\x20screen\x20and\x20use\x20`ceraph_init_replace_camera`\x20to\x20set\x20the\x20imageKey.\x20Three\x20options\x20per\x20camera:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x201024x1024\x20black\x20PNG.\x20Right\x20for\x20tests\x20that\x20don\x27t\x20care\x20about\x20image\x20content\x20(most\x20form/upload\x20flows).\x20(B)\x20imageKey=\x22<scenario>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Drop\x20the\x20file\x20at\x20.ceraph/camera-images/<scenario>.{jpg,png,webp}\x20(use\x20`ceraph_add_camera_image`\x20to\x20write\x20it\x20programmatically)\x20and\x20re-run\x20`rn_sync_camera_registry`.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20multi-image\x20flows\x20where\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime;\x20the\x20shim\x20won\x27t\x20lock\x20the\x20camera\x20to\x20any\x20static\x20key.','details':{'uninitializedCameras':_0x3064df}};}),_0x5eea42=_0x39ec70('camera-image-key-orphan','error',async()=>{const _0x53c28c=_0x1b2a6c,[_0x2cd3c8,_0x35ca56]=await Promise['all']([_0x344dad,_0xdc6b32]),_0x4adb2f=new Set(_0x2cd3c8['registered'][_0x53c28c(0x986)](_0x30405b=>_0x30405b[_0x53c28c(0x2fe)])),_0x430f6f=[];for(const _0x8d7d31 of _0x35ca56){const _0x5a349c=_0x151e33(_0x8d7d31,'CeraphCamera');for(const _0x4e3783 of _0x5a349c){const _0x411de3=_0x59f6ee(_0x4e3783[_0x53c28c(0x73c)]);if(!_0x411de3['present'])continue;if(_0x411de3[_0x53c28c(0x84f)]===null)continue;if(_0x411de3['value']===_0x53c28c(0x33f))continue;if(_0x411de3['value'][_0x53c28c(0x887)]('@'))continue;!_0x4adb2f[_0x53c28c(0x21c)](_0x411de3[_0x53c28c(0x84f)])&&_0x430f6f[_0x53c28c(0x496)]({'location':_0x4e3783['file']['relPath']+':'+_0x4e3783['line'],'key':_0x411de3[_0x53c28c(0x84f)]});}}if(_0x430f6f[_0x53c28c(0x945)]===0x0)return{'ok':!![],'severity':'error','message':_0x53c28c(0x316)};const _0x1db4d2=_0x430f6f['map'](_0x4364f8=>_0x4364f8[_0x53c28c(0x7de)]+'\x20(imageKey=\x22'+_0x4364f8[_0x53c28c(0x2fe)]+'\x22)')[_0x53c28c(0x221)](';\x20');return{'ok':![],'severity':'error','message':'Found\x20'+_0x430f6f['length']+'\x20orphan\x20imageKey\x20reference(s):\x20'+_0x1db4d2+'.','remediation':'Add\x20the\x20matching\x20image\x20file\x20to\x20.ceraph/camera-images/\x20(e.g.\x20<key>.jpg)\x20and\x20re-run\x20`rn_sync_camera_registry`,\x20or\x20fix\x20the\x20imageKey\x20prop\x20value.','details':{'orphans':_0x430f6f}};}),_0x1c98e1=excludeRuntimeChecks?null:_0x94e146?Promise['resolve']({'name':_0x1b2a6c(0x894),'ok':!![],'severity':_0x1b2a6c(0x9bd),'message':_0x2b65d8?_0x1b2a6c(0x4a3)+_0x2b65d8['target']+'\x20('+_0x2b65d8['reason']+').\x20WDA\x20base\x20URL:\x20'+_0x2b65d8[_0x1b2a6c(0x3a9)]+(_0x2b65d8[_0x1b2a6c(0x737)]?';\x20udid\x20'+_0x2b65d8['udid']:''):_0x1b2a6c(0x402),'details':_0x2b65d8?{'target':_0x2b65d8[_0x1b2a6c(0x555)],'reason':_0x2b65d8[_0x1b2a6c(0x78c)],'baseUrl':_0x2b65d8[_0x1b2a6c(0x3a9)],'udid':_0x2b65d8['udid'],'preferenceEnv':process.env.CERAPH_TARGET??null}:void 0x0}):null,_0x5ddfb5=_0x1b2a6c(0x479),_0x23789c='Ensure\x20WebDriverAgent\x20is\x20running\x20on\x20the\x20device\x20(Xcode\x20→\x20run\x20WDA\x20target\x20on\x20your\x20iPhone,\x20or\x20check\x20`iproxy\x208100\x208100`).',_0x49d20e=_0x2b65d8?.['wdaReady']??!![],_0x80302a=_0x49d20e?_0x2b65d8?.['baseUrl']??'http://localhost:8100':null;let _0x4df06a,_0x16b146;if(excludeRuntimeChecks)_0x4df06a=null,_0x16b146=null;else{if(!_0x186d08&&_0x43d1f4['iproxyManager']){const _0x41cc19=_0x43d1f4['iproxyManager'],_0x2acce9=(async()=>{const _0x4dc608=_0x1b2a6c;let _0xe2a213=await _0x3ae88f['isAvailable'](),_0x46c261,_0x5f1eec=!![],_0x431276,_0x3345f0;if(_0xe2a213)_0x46c261=_0x4dc608(0x381);else{const _0x5b6f68=await _0x531c8b[_0x4dc608(0x29a)]()['catch'](()=>null);if(!_0x5b6f68)_0x5f1eec=![],_0x46c261='WDA\x20unreachable\x20and\x20no\x20iOS\x20device\x20detected\x20—\x20cannot\x20auto-bridge.',_0x431276=_0x4dc608(0x80b);else{const _0x14c4eb=await _0x41cc19['start'](_0x5b6f68);if(_0x14c4eb['ok'])_0xe2a213=await _0x4a7456(()=>_0x3ae88f['isAvailable'](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x46c261='iproxy\x20bridge\x20started\x20(pid\x20'+_0x14c4eb[_0x4dc608(0x135)]+').',_0x3345f0={'pid':_0x14c4eb[_0x4dc608(0x135)],'udid':_0x5b6f68};else{if(_0x14c4eb['reason']===_0x4dc608(0x98b)){if(_0x4dc608(0x659)==='KaaDh')_0xe2a213=await _0x4a7456(()=>_0x3ae88f[_0x4dc608(0x9b2)](),{'intervalMs':0xfa,'timeoutMs':0x9c4}),_0x46c261=_0x4dc608(0x874);else return[];}else _0x14c4eb['reason']==='not-installed'?(_0x5f1eec=![],_0x46c261='iproxy\x20is\x20not\x20installed\x20—\x20cannot\x20auto-bridge\x20WDA.',_0x431276=_0x4dc608(0x6f7)):(_0x5f1eec=![],_0x46c261='iproxy\x20auto-bridge\x20failed\x20to\x20start:\x20'+(_0x14c4eb['stderr']?.[0x0]??'unknown\x20error')+'.',_0x431276=_0x4dc608(0x5e6),_0x3345f0={'stderr':_0x14c4eb[_0x4dc608(0x870)]});}}}const _0x5c11d7={'name':_0x4dc608(0x8ca),'ok':_0x5f1eec,'severity':'warning','message':_0x46c261,'remediation':_0x431276,'details':_0x3345f0},_0x246f9d=_0xe2a213?{'name':_0x4dc608(0x722),'ok':!![],'severity':_0x4dc608(0x125),'message':_0x4dc608(0x6c5)+_0x80302a+'.'}:{'name':_0x4dc608(0x722),'ok':![],'severity':_0x4dc608(0x125),'message':_0x80302a?'WebDriverAgent\x20is\x20not\x20reachable\x20at\x20'+_0x80302a+'.':'WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','remediation':_0x23789c};return{'bridge':_0x5c11d7,'wda':_0x246f9d};})()['catch'](_0x6cf8a2=>({'bridge':{'name':_0x1b2a6c(0x8ca),'ok':![],'severity':_0x1b2a6c(0x77d),'message':'iproxy\x20auto-bridge\x20threw:\x20'+(_0x6cf8a2 instanceof Error?_0x6cf8a2[_0x1b2a6c(0x92e)]:String(_0x6cf8a2))},'wda':{'name':_0x1b2a6c(0x722),'ok':![],'severity':_0x1b2a6c(0x125),'message':'WDA\x20reachability\x20probe\x20threw:\x20'+(_0x6cf8a2 instanceof Error?_0x6cf8a2['message']:String(_0x6cf8a2))}}));_0x4df06a=_0x2acce9['then'](_0x239b74=>_0x239b74['bridge']),_0x16b146=_0x2acce9['then'](_0x168934=>_0x168934[_0x1b2a6c(0x4bd)]);}else _0x4df06a=Promise[_0x1b2a6c(0x75f)]({'name':_0x1b2a6c(0x8ca),'ok':!![],'severity':_0x1b2a6c(0x9bd),'message':_0x186d08?_0x1b2a6c(0x345):_0x1b2a6c(0x53f)}),_0x16b146=_0x39ec70(_0x1b2a6c(0x722),_0x1b2a6c(0x125),async()=>{const _0x46bfa7=_0x1b2a6c,_0x101f2c=await _0x3ae88f['isAvailable']();if(_0x101f2c)return{'ok':!![],'severity':_0x46bfa7(0x125),'message':_0x46bfa7(0x6c5)+_0x80302a+'.'};return{'ok':![],'severity':'error','message':_0x80302a?_0x46bfa7(0x3ae)+_0x80302a+'.':_0x46bfa7(0x7e5),'remediation':_0x186d08?_0x5ddfb5:_0x23789c};});}const _0x44ef03=_0x186d08?_0x1b2a6c(0x77d):_0x1b2a6c(0x125),_0x43b4ee=excludeRuntimeChecks?null:_0x39ec70('real-device-connected',_0x44ef03,async()=>{const _0x575934=_0x1b2a6c,_0x3b49a2=await _0x531c8b[_0x575934(0x29a)]();if(_0x3b49a2)return{'ok':!![],'severity':_0x44ef03,'message':'Real\x20iOS\x20device\x20connected\x20(udid\x20'+_0x3b49a2+').','details':{'udid':_0x3b49a2}};if(_0x186d08)return{'ok':!![],'severity':'info','message':_0x575934(0x230)};return{'ok':![],'severity':_0x44ef03,'message':'No\x20iOS\x20target\x20available.','remediation':_0x575934(0x492)};}),_0x46707c=excludeRuntimeChecks?null:_0x39ec70(_0x1b2a6c(0x31f),'error',async()=>{const _0x58aa9c=_0x1b2a6c,_0x41b9db=await _0x530b2b[_0x58aa9c(0x86a)]();if(_0x41b9db['awake'])return{'ok':!![],'severity':'error','message':_0x58aa9c(0x618)+_0x41b9db[_0x58aa9c(0x30d)]+').','details':{'lockState':_0x41b9db['lockState']}};return{'ok':![],'severity':'error','message':'Device\x20is\x20not\x20awake\x20(lockState:\x20'+_0x41b9db['lockState']+').','remediation':_0x41b9db['remediation']??_0x58aa9c(0x35f),'details':{'lockState':_0x41b9db[_0x58aa9c(0x30d)]}};}),_0x5b966d=excludeRuntimeChecks?null:Promise[_0x1b2a6c(0x75f)]({'name':'auto-lock-disabled','ok':!![],'severity':'info','message':'Verify\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20is\x20set\x20to\x20Never.\x20Otherwise\x20the\x20phone\x20will\x20sleep\x20mid-flow.'}),_0x139359=excludeRuntimeChecks?null:_0x39ec70(_0x1b2a6c(0x3cb),'warning',async()=>{const _0x347760=_0x1b2a6c;if(_0x186d08)return{'ok':!![],'severity':'info','message':'ffmpeg\x20not\x20required\x20for\x20simulator\x20targets\x20—\x20`xcrun\x20simctl\x20io\x20recordVideo`\x20(shipped\x20with\x20Xcode)\x20handles\x20video\x20capture.'};const _0x2107b3=await _0x546161('which',['ffmpeg']),_0x404f08=_0x2107b3[_0x347760(0x845)]===0x0&&_0x2107b3[_0x347760(0x91a)]['trim']()[_0x347760(0x945)]>0x0;if(_0x404f08)return{'ok':!![],'severity':'info','message':'ffmpeg\x20available\x20at\x20'+_0x2107b3['stdout'][_0x347760(0x5da)]()+'\x20—\x20continuous\x20chain-run\x20video\x20capture\x20is\x20wired.','details':{'path':_0x2107b3['stdout'][_0x347760(0x5da)]()}};return{'ok':![],'severity':'warning','message':_0x347760(0x944),'remediation':_0x347760(0xdf)};}),_0x3f2365=excludeRuntimeChecks||!_0x186d08?null:_0x39ec70(_0x1b2a6c(0x3af),_0x1b2a6c(0x125),async()=>{const _0x5d96e9=_0x1b2a6c,_0x314aad=await ensureAppium(projectDir);if(_0x314aad['status']===_0x5d96e9(0x3ad))return{'ok':!![],'severity':'info','message':_0x5d96e9(0x763),'details':{'status':_0x314aad[_0x5d96e9(0x9d0)]}};if(_0x314aad['status']==='installed')return{'ok':!![],'severity':_0x5d96e9(0x9bd),'message':'Installed\x20appium-webdriveragent\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','details':{'status':_0x314aad['status']}};if(_0x314aad[_0x5d96e9(0x9d0)]==='skipped-not-needed')return{'ok':!![],'severity':_0x5d96e9(0x9bd),'message':_0x5d96e9(0x9b9),'details':{'status':_0x314aad[_0x5d96e9(0x9d0)]}};return{'ok':![],'severity':'error','message':'Couldn\x27t\x20ensure\x20appium-webdriveragent:\x20'+_0x314aad[_0x5d96e9(0x125)],'remediation':'Couldn\x27t\x20auto-install\x20appium-webdriveragent\x20(the\x20optional\x20dep\x20the\x20simulator\x20WebDriverAgent\x20builds\x20from).\x20Install\x20it\x20manually\x20with\x20`npm\x20install\x20-D\x20appium-webdriveragent`\x20(or\x20`pnpm\x20add\x20-D\x20appium-webdriveragent`),\x20then\x20re-run\x20doctor.','details':{'status':_0x314aad[_0x5d96e9(0x9d0)]}};}),_0x54ea6d=excludeRuntimeChecks||!screenRecordingStatus||_0x2b65d8?.[_0x1b2a6c(0x555)]!==_0x1b2a6c(0x931)?null:_0x39ec70('screen-recording-permission',_0x1b2a6c(0x77d),async()=>{const _0x3a1186=_0x1b2a6c;if('fOmHa'!==_0x3a1186(0x322)){const _0x4672ca=_0x3b55b3['rect'];if(!_0x4672ca)return null;const _0x59a206=_0x18a474(_0x4672ca['x']),_0x13c0be=_0x5d4353(_0x4672ca['y']),_0x3eabf4=_0x5a0742(_0x4672ca[_0x3a1186(0x5e2)]),_0x26edc0=_0x184e1c(_0x4672ca['height']);if(_0x59a206===null||_0x13c0be===null||_0x3eabf4===null||_0x26edc0===null)return null;return{'x':_0x59a206,'y':_0x13c0be,'w':_0x3eabf4,'h':_0x26edc0};}else{const _0x1f5a40=screenRecordingStatus();if(_0x1f5a40===_0x3a1186(0x906))return{'ok':!![],'severity':_0x3a1186(0x9bd),'message':'Screen\x20Recording\x20granted\x20—\x20session\x20video\x20will\x20record.','details':{'status':_0x1f5a40}};const _0x305a2b=_0x1f5a40==='unverified'?_0x3a1186(0x88e):'Screen\x20Recording\x20permission\x20denied\x20—\x20session\x20video\x20won\x27t\x20record\x20(tests\x20run\x20regardless).\x20Click\x20Allow\x20if\x20the\x20dialog\x20reappears,\x20or\x20grant\x20it\x20manually.';return{'ok':![],'severity':_0x3a1186(0x77d),'message':_0x305a2b,'remediation':_0x6bd395,'details':{'status':_0x1f5a40}};}}),_0x354286=excludeRuntimeChecks?null:_0xe20fee?_0x39ec70(_0x1b2a6c(0x789),_0x1b2a6c(0x125),async()=>{const _0xd3aadd=_0x1b2a6c;if('fwILC'==='JXxIt')return _0x121f82;else{const _0x567a91=await _0x531c8b[_0xd3aadd(0x960)]();if(!_0x567a91['success'])return{'ok':![],'severity':_0xd3aadd(0x125),'message':_0xd3aadd(0x251)+(_0x567a91['error']??'unknown\x20error'),'remediation':'Ensure\x20your\x20device\x20is\x20connected\x20and\x20Xcode\x20is\x20installed\x20(`xcrun\x20devicectl\x20list\x20devices`).'};const _0x570d11=_0x567a91[_0xd3aadd(0x7dd)]['find'](_0x47bf68=>_0x47bf68['bundleId']===_0xe20fee);if(_0x570d11)return _0xd3aadd(0x9c7)==='WrKSm'?{'ok':!![],'severity':'error','message':_0xd3aadd(0x550)+_0xe20fee+_0xd3aadd(0x8fa)+_0x570d11['name']+(_0x570d11['version']?'\x20v'+_0x570d11[_0xd3aadd(0x892)]:'')+').','details':{'bundleId':_0xe20fee,'name':_0x570d11[_0xd3aadd(0x4d1)],'version':_0x570d11[_0xd3aadd(0x892)]}}:{'path':_0x18f477,'status':'malformed'};return{'ok':![],'severity':_0xd3aadd(0x125),'message':_0xd3aadd(0x550)+_0xe20fee+'\x20is\x20not\x20installed\x20on\x20the\x20device.','remediation':'Build\x20and\x20install\x20the\x20app:\x20`expo\x20run:ios\x20--device\x20<udid>`\x20or\x20`npx\x20react-native\x20run-ios\x20--udid\x20<udid>`.','details':{'bundleId':_0xe20fee,'installedCount':_0x567a91['apps']['length']}};}}):Promise[_0x1b2a6c(0x75f)]({'name':_0x1b2a6c(0x789),'ok':!![],'severity':_0x1b2a6c(0x9bd),'message':_0x1b2a6c(0x84e)}),_0x5a2c61=excludeRuntimeChecks?null:_0x18e466&&_0x18e466[_0x1b2a6c(0x945)]>0x0?_0x39ec70(_0x1b2a6c(0x304),_0x1b2a6c(0x125),async()=>{const _0x28caa5=_0x1b2a6c,_0x2e0c03=_0x18e466[_0x28caa5(0x65c)](_0x4d564c=>{const _0x4f1dd1=process.env[_0x4d564c];return _0x4f1dd1===void 0x0||_0x4f1dd1==='';});if(_0x2e0c03[_0x28caa5(0x945)]===0x0)return{'ok':!![],'severity':_0x28caa5(0x125),'message':'All\x20'+_0x18e466[_0x28caa5(0x945)]+_0x28caa5(0x910),'details':{'required':_0x18e466}};return{'ok':![],'severity':_0x28caa5(0x125),'message':_0x28caa5(0x539)+_0x2e0c03['join'](',\x20')+'.','remediation':_0x28caa5(0x633)+_0x2e0c03['map'](_0x5c44ff=>_0x28caa5(0x5f2)+_0x5c44ff+'=...')[_0x28caa5(0x221)](';\x20')+'\x20(or\x20add\x20them\x20to\x20.env.local).','details':{'missing':_0x2e0c03,'required':_0x18e466}};}):Promise['resolve']({'name':_0x1b2a6c(0x304),'ok':!![],'severity':'info','message':'Skipped\x20—\x20no\x20required\x20env\x20vars\x20declared.'}),_0x4cfab1=excludeRuntimeChecks?null:_0x39ec70('laptop-network',_0x1b2a6c(0x77d),async()=>{const _0x6d9cd9=_0x1b2a6c,[_0x3d8141,_0x557e83]=await Promise[_0x6d9cd9(0x9a6)]([_0x32111e(),_0x58ec2c()]),_0x546269={'ssid':_0x3d8141,'ip':_0x557e83};if(_0x3ce1ec&&_0x3d8141&&_0x3d8141!==_0x3ce1ec)return{'ok':![],'severity':'warning','message':_0x6d9cd9(0x3a0)+_0x3d8141+'\x27\x20at\x20'+(_0x557e83??_0x6d9cd9(0x6cd))+_0x6d9cd9(0xde)+_0x3ce1ec+'\x27.','remediation':_0x6d9cd9(0x67a),'details':_0x546269};return{'ok':!![],'severity':_0x6d9cd9(0x9bd),'message':_0x6d9cd9(0x3a0)+(_0x3d8141??'<unknown>')+_0x6d9cd9(0x372)+(_0x557e83??_0x6d9cd9(0x6cd))+_0x6d9cd9(0x8c9),'details':_0x546269};}),_0x3fa8cc=excludeRuntimeChecks?null:Promise['resolve']({'name':'permission-interceptor-ready','ok':!![],'severity':_0x1b2a6c(0x9bd),'message':_0x1b2a6c(0xe5)}),_0x43b920=await Promise['all']([_0x218c1f,_0x1c98e1,_0x4df06a,_0x16b146,_0x43b4ee,_0x46707c,_0x5b966d,_0x354286,_0x5a2c61,_0x4cfab1,_0x3fa8cc,_0x139359,_0x3f2365,_0x54ea6d,_0x53361b,_0x22392f,_0x5eea42]['filter'](_0x5cd14f=>_0x5cd14f!==null)),_0x260ac9=!_0x43b920['some'](_0x3ace17=>_0x3ace17['severity']===_0x1b2a6c(0x125)&&!_0x3ace17['ok']),_0x5dea8d=_0x43b920['find'](_0x228af0=>_0x228af0[_0x1b2a6c(0x4d1)]===_0x1b2a6c(0x3cb));let _0x598588;return _0x5dea8d&&(_0x186d08?_0x598588=void 0x0:_0x598588=_0x5dea8d['ok']),{'ok':_0x260ac9,'checks':_0x43b920,'ffmpegInstalled':_0x598588};}var _0x1f1313=null,_0x1275bf=null;async function _0x38422c(_0x209077){const _0x31024c=_0x3ee7d6;if(_0x1f1313&&_0x1f1313['result']['ok'])return'hKiiq'!==_0x31024c(0x185)?_0x1f1313[_0x31024c(0x7bb)]:_0x3afd21(_0x4dd56e,_0x31024c(0x70c));if(_0x1275bf)return _0x1275bf;return _0x1275bf=_0x209077()['then'](_0x322e48=>{const _0x190877=_0x31024c;return _0x1f1313={'result':_0x322e48,'at':Date[_0x190877(0x3d1)]()},_0x1275bf=null,_0x322e48;},_0x54b4f3=>{_0x1275bf=null;throw _0x54b4f3;}),_0x1275bf;}function _0x2e83b7(_0x47aec9){const _0x5cd02f=_0x3ee7d6;_0x1f1313={'result':_0x47aec9,'at':Date[_0x5cd02f(0x3d1)]()};}function _0x760982(_0x3ceb01){const _0x4c8aef=_0x3ee7d6;return _0x3ceb01[_0x4c8aef(0x8d4)][_0x4c8aef(0x65c)](_0x47eeee=>{const _0x4bd040=_0x4c8aef;if(_0x47eeee['severity']===_0x4bd040(0x125))return![];if(_0x47eeee['severity']==='warning')return!_0x47eeee['ok'];if(_0x47eeee['severity']==='info')return!_0x47eeee['ok']||_0x47eeee[_0x4bd040(0x5de)]!=null;return![];});}async function _0xd571ff(_0x537396,_0x3faa67={}){const _0x46b391=_0x3ee7d6,_0x375ab3=_0x3faa67['force']?await((async()=>{const _0x5e7aba=await _0x537396();return _0x2e83b7(_0x5e7aba),_0x5e7aba;})()):await _0x38422c(_0x537396),_0x5bee81=_0x375ab3['checks'][_0x46b391(0x65c)](_0x162027=>_0x162027['severity']===_0x46b391(0x125)&&!_0x162027['ok']);if(_0x5bee81['length']>0x0)return{'kind':'block','response':{'content':[{'type':_0x46b391(0x5d9),'text':JSON['stringify']({'status':_0x46b391(0x7a5),'message':_0x46b391(0xd1),'errors':_0x5bee81[_0x46b391(0x986)](_0x1d2aaa=>({'name':_0x1d2aaa[_0x46b391(0x4d1)],'message':_0x1d2aaa[_0x46b391(0x92e)],'remediation':_0x1d2aaa[_0x46b391(0x5de)]})),'hint':_0x46b391(0x42f)},null,0x2)}],'isError':!![]}};return{'kind':'pass','advisories':_0x760982(_0x375ab3)};}function _0x4ec2e8(_0x45e582){const _0x5bd56f=_0x3ee7d6;if(_0x45e582[_0x5bd56f(0x945)]===0x0)return void 0x0;return _0x45e582[_0x5bd56f(0x986)](_0x18ebf3=>({'name':_0x18ebf3[_0x5bd56f(0x4d1)],'severity':_0x18ebf3['severity'],'ok':_0x18ebf3['ok'],'message':_0x18ebf3[_0x5bd56f(0x92e)],'remediation':_0x18ebf3[_0x5bd56f(0x5de)],'details':_0x18ebf3[_0x5bd56f(0x220)]}));}var _0x33d1a0=0x1f91,_0x3d2be1='Could\x20not\x20start\x20WebDriverAgent.\x20For\x20a\x20device:\x20ensure\x20Developer\x20Mode\x20is\x20enabled\x20(Settings\x20>\x20Privacy\x20&\x20Security\x20>\x20Developer\x20Mode),\x20the\x20device\x20is\x20unlocked\x20and\x20trusts\x20this\x20Mac,\x20and\x20it\x27s\x20connected\x20via\x20USB-C.\x20For\x20a\x20simulator:\x20boot\x20one\x20(open\x20-a\x20Simulator).\x20Then\x20call\x20ceraph_start\x20again.';async function _0x1f4edb(_0x5510db,_0x35b856={}){const _0xacae4a=_0x3ee7d6,_0x5ec7c1=_0x35b856['port']??_0x33d1a0,_0x59debd=[],_0x5e3ec7=_0x3654dd=>{const _0x1b5a0f=_0x4a5a;_0x59debd[_0x1b5a0f(0x496)](_0x3654dd);if(_0x35b856['onStep'])try{_0x35b856[_0x1b5a0f(0x9f2)](_0x3654dd);}catch{}},_0x21fcdb=await _0x5510db['resolveTarget']()[_0xacae4a(0x4ba)](()=>'device');let _0x30d426=![];if(_0x5510db[_0xacae4a(0x991)]){_0x30d426=!![];const _0x34c1cf=await _0x5510db['checkTargetReady']();if(!_0x34c1cf['ok'])return _0x5e3ec7({'name':_0xacae4a(0x1fd),'status':'failed','detail':_0x34c1cf['detail']}),_0x389ba4(_0x59debd,_0x21fcdb,_0x34c1cf[_0xacae4a(0x5de)]??_0xacae4a(0xe9));}if(_0x5510db[_0xacae4a(0xfe)]){_0x30d426=!![];const _0x115fef=_0x5510db['missingRequiredEnv']();if(_0x115fef[_0xacae4a(0x945)]>0x0)return _0x5e3ec7({'name':'preflight','status':'failed','detail':'Required\x20env\x20var'+(_0x115fef[_0xacae4a(0x945)]===0x1?'':'s')+'\x20not\x20set:\x20'+_0x115fef[_0xacae4a(0x221)](',\x20')+'.','details':{'missing':_0x115fef}}),_0x389ba4(_0x59debd,_0x21fcdb,_0xacae4a(0xcd)+_0x115fef['join'](',\x20')+'\x20in\x20the\x20MCP\x20server\x20environment,\x20then\x20call\x20ceraph_start\x20again.');}_0x30d426&&_0x5e3ec7({'name':'preflight','status':'ok','detail':_0xacae4a(0x334)});const _0x5b2dc3=await _0x5510db[_0xacae4a(0x16f)](_0x5ec7c1)[_0xacae4a(0x4ba)](()=>![]);if(_0x5b2dc3)_0x5e3ec7({'name':'metro','status':'up','detail':'Metro\x20is\x20already\x20serving\x20on\x20port\x20'+_0x5ec7c1+'.'});else{const _0x7f34d7=await _0x5510db['startMetro']({'port':_0x5ec7c1});if(!_0x7f34d7[_0xacae4a(0x42d)])return _0x5e3ec7({'name':_0xacae4a(0x606),'status':_0xacae4a(0x320),'detail':_0x7f34d7['message']}),_0x389ba4(_0x59debd,_0x21fcdb,_0x7f34d7[_0xacae4a(0x92e)]);_0x5e3ec7({'name':_0xacae4a(0x606),'status':_0xacae4a(0x39d),'detail':_0x7f34d7['message']});}const _0x373600=_0x22c4c6(_0x5510db,_0x35b856),_0x31936b=_0x5510db['ensureWda']?_0x5510db['ensureWda']():Promise['resolve'](null),[_0x3c0427,_0x2c0bbd]=await Promise[_0xacae4a(0x9a6)]([_0x373600,_0x31936b]);if(_0x3c0427[_0xacae4a(0x3ea)]===_0xacae4a(0x320))return _0x5e3ec7(_0x3c0427[_0xacae4a(0x912)]),_0x389ba4(_0x59debd,_0x21fcdb,_0x3c0427['nextAction']);_0x5e3ec7(_0x3c0427['step']);if(_0x2c0bbd){if('rgTto'==='vmKfx')throw new _0x30d073('WDA\x20session\x20creation\x20succeeded\x20but\x20no\x20sessionId\x20returned');else{if(!_0x2c0bbd['ok'])return _0x5e3ec7({'name':'wda','status':'failed','detail':_0x2c0bbd[_0xacae4a(0x6d9)],'details':{'error':_0x2c0bbd['error']}}),_0x389ba4(_0x59debd,_0x21fcdb,_0x2c0bbd[_0xacae4a(0x5de)]??_0x3d2be1);_0x5e3ec7({'name':'wda','status':_0x2c0bbd['reason']==='reused'?'up':_0xacae4a(0x39d),'detail':_0x2c0bbd[_0xacae4a(0x6d9)]});}}const _0xd526d3=await _0x5510db['runDoctor']();if(_0x5510db['cacheDoctor']){if('IiZOO'===_0xacae4a(0x4db))return{'omitted':_0xacae4a(0x610),'detail':_0x5143a3[_0xacae4a(0x945)]+_0xacae4a(0x2a8)+_0xbd9500+';\x20the\x20limit\x20is\x20'+_0x25b000};else try{_0x5510db[_0xacae4a(0x116)](_0xd526d3);}catch{}}if(!_0xd526d3['ok']){const _0x279fd1=_0x1b3f9e(_0xd526d3[_0xacae4a(0x8d4)]),_0x1dce47=_0x352d0a(_0x279fd1);return _0x5e3ec7({'name':'postflight','status':_0xacae4a(0x320),'detail':'On-device\x20automation\x20isn\x27t\x20ready.\x20'+_0x279fd1[_0xacae4a(0x945)]+'\x20check'+(_0x279fd1['length']===0x1?'':'s')+'\x20failed.','details':{'failedChecks':_0x279fd1}}),_0x389ba4(_0x59debd,_0x21fcdb,_0x1dce47);}return _0x5e3ec7({'name':_0xacae4a(0x62d),'status':'ok','detail':'On-device\x20automation\x20verified\x20—\x20every\x20postflight\x20check\x20passed.'}),{'ready':!![],'steps':_0x59debd,'target':_0x21fcdb};}async function _0x22c4c6(_0x26b80e,_0x1621ad){const _0x502d8f=_0x3ee7d6,_0x50c6ca=await _0x26b80e['needsBuild']();let _0x42a96b,_0x10dce6,_0x29c33e;if(_0x50c6ca[_0x502d8f(0x508)]){const _0xb4e5c8=await _0x26b80e['runBuild']({'clean':_0x1621ad['clean'],'device':_0x1621ad[_0x502d8f(0x931)]});if(!_0xb4e5c8['success']){const _0xb92c1c=_0xb4e5c8[_0x502d8f(0x3c9)][0x0]?.['message'];return{'kind':'failed','step':{'name':'build','status':'failed','detail':_0xb92c1c??_0x502d8f(0x102),'details':{'errors':_0xb4e5c8[_0x502d8f(0x3c9)],'output':_0xb4e5c8['output']}},'nextAction':'Fix\x20the\x20native\x20build\x20error\x20above,\x20then\x20call\x20ceraph_start\x20again.'};}_0x26b80e[_0x502d8f(0x219)]&&await _0x26b80e['saveBuildSnapshot']()[_0x502d8f(0x4ba)](()=>{}),_0x29c33e=_0x502d8f(0x444),_0x42a96b=_0x50c6ca['reasons'][_0x502d8f(0x945)]>0x0?_0x502d8f(0x5f4)+_0x50c6ca[_0x502d8f(0x360)][_0x502d8f(0x221)](';\x20')+').':_0x502d8f(0x767),_0x10dce6=_0x50c6ca['reasons']['length']>0x0?{'reasons':_0x50c6ca[_0x502d8f(0x360)]}:void 0x0;}else _0x29c33e=_0x502d8f(0x797),_0x42a96b=_0x502d8f(0x551),_0x10dce6=void 0x0;let _0x25378e;if(_0x26b80e[_0x502d8f(0x1aa)]){if(_0x502d8f(0x302)==='yBESs'){const _0x85f94e=await _0x26b80e[_0x502d8f(0x1aa)]()[_0x502d8f(0x4ba)](_0x31cb7=>({'ok':![],'detail':'Could\x20not\x20foreground\x20the\x20app:\x20'+(_0x31cb7 instanceof Error?_0x31cb7[_0x502d8f(0x92e)]:String(_0x31cb7))+'.'}));_0x25378e=_0x85f94e['ok']?'\x20'+_0x85f94e['detail']:_0x502d8f(0xd5)+_0x85f94e['detail']+_0x502d8f(0x955);}else _0x24a135[_0x502d8f(0x142)]('SIGTERM');}else _0x25378e='';return{'kind':'ok','step':{'name':_0x502d8f(0x17d),'status':_0x29c33e,'detail':''+_0x42a96b+_0x25378e,'details':_0x10dce6}};}function _0x389ba4(_0x34ac0e,_0x1a379c,_0xce3020){return{'ready':![],'steps':_0x34ac0e,'target':_0x1a379c,'nextAction':_0xce3020};}function _0x1b3f9e(_0x69b59d){return _0x69b59d['filter'](_0x45cc34=>_0x45cc34['severity']==='error'&&!_0x45cc34['ok']);}function _0x352d0a(_0x275b34){const _0x41bfdb=_0x3ee7d6,_0x26f906=_0x275b34[0x0];if(!_0x26f906)return'Re-run\x20`ceraph_doctor`\x20to\x20see\x20what\x27s\x20blocking\x20on-device\x20automation.';return _0x26f906[_0x41bfdb(0x5de)]??_0x26f906[_0x41bfdb(0x92e)]??_0x41bfdb(0x599);}import{join as _0x37b121}from'path';import{spawn as _0x29db0f}from'child_process';var _0x4578a8=null,_0xe9eac5=![],_0x14ec9d=null;function _0x4a7faa(){const _0x1e090a=_0x3ee7d6;if(process['platform']!=='darwin')return{'applied':![],'reason':'not-darwin'};if(_0xe9eac5&&_0x4578a8&&!_0x4578a8[_0x1e090a(0x3f3)])return{'applied':!![],'reason':'already-active'};try{const _0x19a2c8=_0x14ec9d??_0x29db0f,_0x66af3=_0x19a2c8('caffeinate',['-di','-w',String(process[_0x1e090a(0x135)])],{'detached':!![],'stdio':'ignore'});typeof _0x66af3[_0x1e090a(0x60e)]===_0x1e090a(0x8b5)&&_0x66af3['unref']();_0x4578a8=_0x66af3,_0xe9eac5=!![];const _0x511f1e=_0x66af3;return _0x66af3[_0x1e090a(0x9b5)](_0x1e090a(0x41e),()=>{_0x4578a8===_0x511f1e&&(_0x4578a8=null,_0xe9eac5=![]);}),{'applied':!![],'reason':'started'};}catch{return{'applied':![],'reason':'spawn-failed'};}}function _0x501c6f(){const _0x383b85=_0x3ee7d6;if(!_0xe9eac5)return;if(_0x4578a8)try{_0x4578a8[_0x383b85(0x142)]('SIGTERM');}catch{}_0x4578a8=null,_0xe9eac5=![];}var _0x1c248a=class{constructor(_0xc9ec6b,_0x377952,_0x1a0cbb){const _0x1c8377=_0x3ee7d6;this[_0x1c8377(0x555)]=_0xc9ec6b,this['cacheDir']=_0x377952,this['projectDir']=_0x1a0cbb;}[_0x3ee7d6(0x497)]=null;['inflight']=null;[_0x3ee7d6(0x8db)]=null;['stopGeneration']=0x0;[_0x3ee7d6(0x5c8)]=null;['getSession'](){return this['session'];}async['start'](_0x323bff={}){const _0x4d33eb=_0x3ee7d6;this['stopping']&&await this['stopping'][_0x4d33eb(0x4ba)](()=>void 0x0);if(this[_0x4d33eb(0x497)]){const _0x5e2a10=this[_0x4d33eb(0x497)][_0x4d33eb(0x993)][_0x4d33eb(0x186)]===null,_0x3ed51f=!_0x323bff['udid']||_0x323bff['udid']===this['session'][_0x4d33eb(0x737)];if(_0x5e2a10&&_0x3ed51f)return{'ok':!![],'port':this[_0x4d33eb(0x497)][_0x4d33eb(0x688)],'udid':this[_0x4d33eb(0x497)]['udid'],'reused':!![],'projectPath':this[_0x4d33eb(0x497)]['projectPath']};_0x5e2a10&&!_0x3ed51f?await this[_0x4d33eb(0x2bf)]()[_0x4d33eb(0x4ba)](()=>void 0x0):(this['session']=null,this[_0x4d33eb(0x555)]['clearSimulatorWdaPort']());}if(this['inflight'])return this['inflight'];const _0x11df7b=this['stopGeneration'],_0x198820=((async()=>{const _0x423ab8=_0x4d33eb,_0x6bbf87=await _0x5d4596();if(_0x6bbf87['length']===0x0)return{'ok':![],'reason':_0x423ab8(0x6c1),'error':_0x423ab8(0x3eb)};let _0x3b59f0;if(_0x323bff[_0x423ab8(0x737)]){const _0x584907=_0x6bbf87[_0x423ab8(0x7bd)](_0x16d677=>_0x16d677[_0x423ab8(0x737)]===_0x323bff['udid']);if(!_0x584907)return{'ok':![],'reason':_0x423ab8(0x5e3),'error':'Simulator\x20UDID\x20'+_0x323bff['udid']+_0x423ab8(0x80c)+_0x6bbf87[_0x423ab8(0x986)](_0x3cd244=>_0x3cd244['name']+'\x20('+_0x3cd244[_0x423ab8(0x737)]+')')['join'](',\x20')+'.'};_0x3b59f0=_0x584907;}else _0x3b59f0=_0x6bbf87[0x0];const _0x5ad5ba={'udid':_0x3b59f0[_0x423ab8(0x737)],'projectDir':this['projectDir'],'derivedDataPath':_0x323bff['derivedDataPath']??_0x37b121(this['cacheDir'],_0x423ab8(0x734)),'startupTimeoutMs':_0x323bff['startupTimeoutMs'],'onChildSpawned':_0x4c928e=>{this['inflightChild']=_0x4c928e;}};let _0x593b39;try{_0x593b39=await _0x20df2b(_0x5ad5ba);}finally{this[_0x423ab8(0x8db)]=null;}if(!_0x593b39['ok'])return{'ok':![],'reason':_0x593b39['reason'],'error':_0x593b39['error'],'output':_0x593b39[_0x423ab8(0x177)]};if(this[_0x423ab8(0x68a)]!==_0x11df7b)return await _0x593b39[_0x423ab8(0x497)]['stop']()[_0x423ab8(0x4ba)](()=>void 0x0),{'ok':![],'reason':'xcodebuild-exited-early','error':'`rn_wda_stop`\x20(or\x20MCP\x20shutdown)\x20ran\x20while\x20the\x20simulator\x20WDA\x20build\x20was\x20in\x20flight.\x20The\x20build\x20was\x20terminated.\x20Re-run\x20`rn_wda_start`\x20if\x20you\x20still\x20want\x20a\x20simulator\x20session.'};this[_0x423ab8(0x497)]=_0x593b39['session'],this['target']['setSimulatorWdaPort'](_0x593b39['session'][_0x423ab8(0x688)],_0x593b39['session'][_0x423ab8(0x737)]);const _0x5e41fc=_0x593b39['session'];_0x5e41fc[_0x423ab8(0x993)]['once']('exit',()=>{this['session']===_0x5e41fc&&(this['session']=null,this['target']['clearSimulatorWdaPort']());});try{_0x4a7faa();}catch{}return{'ok':!![],'port':_0x593b39[_0x423ab8(0x497)]['port'],'udid':_0x593b39['session'][_0x423ab8(0x737)],'reused':![],'projectPath':_0x593b39['session'][_0x423ab8(0x139)]};})());this['inflight']=_0x198820;try{return await _0x198820;}finally{this[_0x4d33eb(0x14e)]=null;}}async[_0x3ee7d6(0x2bf)](){const _0x435043=_0x3ee7d6;if(this[_0x435043(0x5c8)])return await this['stopping']['catch'](()=>void 0x0),{'stopped':![]};this[_0x435043(0x68a)]++;let _0x4966db;this['stopping']=new Promise(_0x17d521=>{_0x4966db=_0x17d521;});try{const _0x16887b=this['inflightChild'];this['inflightChild']=null;if(_0x16887b&&_0x16887b[_0x435043(0x186)]===null)try{_0x16887b['kill']('SIGTERM');}catch{}this['inflight']&&await this['inflight']['catch'](()=>void 0x0);if(!this['session'])return{'stopped':![]};const {udid:_0x3f535f,port:_0x4ee8d6}=this['session'];try{await this[_0x435043(0x497)][_0x435043(0x2bf)]();}finally{if('YiHWV'!=='gYqAv')this['session']=null,this['target'][_0x435043(0x188)]();else{if(!_0x258b2b['success']){const _0x50bee5=_0x51915f['action'],_0x4887fa=_0x50f580[_0x435043(0x125)]??_0x435043(0x30e);return _0x50bee5+_0x435043(0x9f8)+_0x4887fa;}}}return{'stopped':!![],'udid':_0x3f535f,'port':_0x4ee8d6};}finally{if(_0x435043(0x3ab)==='alwqk'){const _0x4c2b22=_0x525210[_0x435043(0x153)]?.['trim']()||_0x441fc6.env.CERAPH_API_URL?.[_0x435043(0x5da)]()||_0x5377dc;return _0x4c2b22[_0x435043(0x27d)](/\/+$/,'')+_0x435043(0x842);}else{try{_0x501c6f();}catch{}_0x4966db(),this['stopping']=null;}}}};import{spawn as _0x7e51dc}from'child_process';import{readdir as _0x4a9426,readFile as _0x5252dc,stat as _0x1d6707}from'fs/promises';import{homedir}from'os';import{join as _0x203e81}from'path';function _0x5c8545(_0x5d017c,_0x49d21c,_0x59685a={}){return new Promise(_0x5cf675=>{const _0x397f31=_0x4a5a;let _0x4f19d3='',_0x31f6ae='',_0x251933;try{_0x251933=_0x7e51dc(_0x5d017c,_0x49d21c,{'stdio':['ignore',_0x397f31(0x406),'pipe']});}catch(_0x52675f){_0x5cf675({'code':0x7f,'stdout':'','stderr':_0x52675f instanceof Error?_0x52675f['message']:String(_0x52675f)});return;}let _0x72011c=![],_0x3afb53;const _0xf9de7=_0x29f45c=>{if(_0x72011c)return;_0x72011c=!![],clearTimeout(_0x3afb53),_0x5cf675(_0x29f45c);};_0x3afb53=setTimeout(()=>{const _0x366ced=_0x397f31;try{_0x251933['kill'](_0x366ced(0x57c));}catch{}_0xf9de7({'code':0x7c,'stdout':_0x4f19d3,'stderr':_0x31f6ae+_0x366ced(0x6ea)+(_0x59685a['timeoutMs']??0x1f40)+'ms]'});},_0x59685a[_0x397f31(0x5aa)]??0x1f40),_0x251933['stdout']?.['on']('data',_0x4492ee=>{_0x4f19d3+=_0x4492ee['toString']();}),_0x251933[_0x397f31(0x870)]?.['on'](_0x397f31(0x978),_0x26bbca=>{const _0x1dd69b=_0x397f31;'YYXqE'===_0x1dd69b(0x6c3)?(_0x1a1ab6(_0x12d602),_0x32391b(_0x4830cb)):_0x31f6ae+=_0x26bbca['toString']();}),_0x251933['on'](_0x397f31(0x125),_0x2fa0b8=>{_0xf9de7({'code':0x7f,'stdout':_0x4f19d3,'stderr':_0x31f6ae+(_0x2fa0b8['message']??String(_0x2fa0b8))});}),_0x251933['on'](_0x397f31(0x41e),_0x5cc1d3=>{_0xf9de7({'code':_0x5cc1d3??0x1,'stdout':_0x4f19d3,'stderr':_0x31f6ae});});});}async function _0x2da44d(_0x500106,_0x592a0d=0x7d0){const _0x540666=_0x3ee7d6,_0x2e8b5d=new AbortController(),_0x2b5304=setTimeout(()=>_0x2e8b5d[_0x540666(0x2d4)](),_0x592a0d);try{const _0x3bc488=await fetch(_0x540666(0x26b)+_0x500106+_0x540666(0x6f9),{'signal':_0x2e8b5d['signal']});return _0x3bc488['ok'];}catch{return![];}finally{clearTimeout(_0x2b5304);}}var _0x474eb7={'readEnv':_0x2f543e=>process.env[_0x2f543e],'homeDir':()=>homedir(),'pathExists':async _0x545a2d=>{try{return await _0x1d6707(_0x545a2d),!![];}catch{return![];}},'listDir':async _0x396208=>{try{return await _0x4a9426(_0x396208);}catch{return[];}},'readFileUtf8':async _0x9c2aea=>{const _0x18ec2b=_0x3ee7d6;try{return await _0x5252dc(_0x9c2aea,_0x18ec2b(0x29d));}catch{return null;}},'mtimeMs':async _0x497aba=>{try{const _0x22d6c5=await _0x1d6707(_0x497aba);return _0x22d6c5['mtimeMs'];}catch{return 0x0;}},'run':(_0x5747ec,_0x4557ba,_0x2d5295)=>_0x5c8545(_0x5747ec,_0x4557ba,{'timeoutMs':_0x2d5295}),'probeStatus':_0x2da44d,'spawn':_0x7e51dc},_0x1cde71=0x1fa4;async function _0x16482e(_0x5e52fa=_0x474eb7){const _0x289ce0=_0x3ee7d6,_0x5299ae=_0x5e52fa[_0x289ce0(0x7fe)](_0x289ce0(0x80d))?.['trim']();if(_0x5299ae&&await _0x5e52fa[_0x289ce0(0x8cc)](_0x5299ae))return{'ok':!![],'projectPath':_0x5299ae,'source':_0x289ce0(0x9a5)};const _0x173283=await _0x5137e1(_0x5e52fa);if(_0x173283){if('nPfQW'!=='nPfQW')_0x2afc7c['fallbackText']=_0x2f9a91[_0x289ce0(0x3ef)];else return{'ok':!![],'projectPath':_0x173283,'source':'derived-data'};}const _0x208330=_0x203e81(_0x5e52fa[_0x289ce0(0x7a0)](),_0x289ce0(0x40d),_0x289ce0(0x927),_0x289ce0(0x3d8));if(await _0x5e52fa[_0x289ce0(0x8cc)](_0x208330)){if('NXzeS'!==_0x289ce0(0x84b))return{'ok':!![],'projectPath':_0x208330,'source':'convention'};else throw new _0x17e7d2('firebase-admin\x20module\x20has\x20no\x20initializeApp');}return{'ok':![],'remediation':'Could\x20not\x20locate\x20the\x20WebDriverAgent\x20Xcode\x20project\x20to\x20launch\x20device\x20WDA.\x20Ceraph\x20looked\x20at\x20(1)\x20$CERAPH_DEVICE_WDA_PROJECT,\x20(2)\x20the\x20most-recent\x20~/Library/Developer/Xcode/DerivedData/WebDriverAgent-*/info.plist\x20WorkspacePath,\x20and\x20(3)\x20~/.mobile-mcp/WebDriverAgent/WebDriverAgent.xcodeproj.\x20Open\x20the\x20WebDriverAgent\x20project\x20in\x20Xcode\x20once,\x20set\x20a\x20Development\x20Team\x20on\x20the\x20WebDriverAgentRunner\x20target,\x20run\x20it\x20on\x20your\x20iPhone\x20(this\x20signs\x20+\x20caches\x20the\x20build),\x20then\x20retry.\x20To\x20pin\x20the\x20project\x20explicitly,\x20set\x20CERAPH_DEVICE_WDA_PROJECT\x20to\x20the\x20absolute\x20path\x20of\x20WebDriverAgent.xcodeproj.'};}async function _0x5137e1(_0x558844){const _0x2eaec0=_0x3ee7d6,_0x570d5e=_0x203e81(_0x558844[_0x2eaec0(0x7a0)](),_0x2eaec0(0x41d),_0x2eaec0(0x970),_0x2eaec0(0xf8),_0x2eaec0(0x4af)),_0x3d34f2=await _0x558844['listDir'](_0x570d5e),_0x290a79=_0x3d34f2[_0x2eaec0(0x65c)](_0x5b4de7=>_0x5b4de7[_0x2eaec0(0x887)]('WebDriverAgent-'));if(_0x290a79['length']===0x0)return null;const _0x20695b=await Promise['all'](_0x290a79[_0x2eaec0(0x986)](async _0x23d400=>{const _0x180348=_0x2eaec0,_0x4e3902=_0x203e81(_0x570d5e,_0x23d400);return{'dir':_0x4e3902,'mtime':await _0x558844[_0x180348(0x182)](_0x4e3902)};}));_0x20695b['sort']((_0x291bbc,_0x114c39)=>_0x114c39['mtime']-_0x291bbc['mtime']);for(const {dir:_0x1103f3}of _0x20695b){const _0x201e73=_0x203e81(_0x1103f3,_0x2eaec0(0x1e6)),_0x4ae89c=await _0x558844['readFileUtf8'](_0x201e73);if(!_0x4ae89c)continue;const _0x4c228c=_0x262dca(_0x4ae89c);if(!_0x4c228c)continue;if(await _0x558844['pathExists'](_0x4c228c))return _0x4c228c;}return null;}function _0x262dca(_0x55b4b4){const _0x4697e9=_0x3ee7d6,_0x1b5410=/<key>\s*WorkspacePath\s*<\/key>\s*<string>([\s\S]*?)<\/string>/,_0x5494c1=_0x1b5410['exec'](_0x55b4b4);if(!_0x5494c1)return null;const _0x33a61e=_0x5494c1[0x1][_0x4697e9(0x5da)]();return _0x33a61e[_0x4697e9(0x945)]>0x0?_0x5792ba(_0x33a61e):null;}function _0x5792ba(_0x321f41){const _0x4466f3=_0x3ee7d6;return _0x321f41[_0x4466f3(0x27d)](/&amp;/g,'&')['replace'](/&lt;/g,'<')['replace'](/&gt;/g,'>')[_0x4466f3(0x27d)](/&apos;/g,'\x27')[_0x4466f3(0x27d)](/&quot;/g,'\x22');}async function _0x55be9b(_0x3bde82,_0x5ce891=_0x474eb7){const _0x1053cf=_0x3ee7d6,_0x3a046b=_0x5ce891['readEnv']('CERAPH_DEVICE_HARDWARE_UDID')?.[_0x1053cf(0x5da)]();if(_0x3a046b)return _0x5586f3(_0x3a046b)??_0x3a046b;const _0x5c497e=await _0x1eade2(_0x5ce891);if(_0x5c497e)return _0x5c497e;const _0x335dbd=await _0x15aec8(_0x5ce891);if(_0x335dbd)return _0x335dbd;const _0x343975=await _0xc1d964(_0x5ce891);if(_0x343975)return _0x343975;return _0x5586f3(_0x3bde82);}function _0x5586f3(_0x35a4e1){const _0x56f973=_0x3ee7d6;if(!_0x35a4e1)return null;const _0x51ba70=_0x35a4e1['trim']();if(/^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{16}$/[_0x56f973(0x364)](_0x51ba70))return _0x51ba70;if(/^[0-9A-Fa-f]{24}$/['test'](_0x51ba70))return _0x51ba70[_0x56f973(0x63b)](0x0,0x8)+'-'+_0x51ba70['slice'](0x8);if(/^[0-9A-Fa-f]{40}$/['test'](_0x51ba70))return _0x51ba70;return null;}async function _0x15aec8(_0x2030d1){const _0x52b215=_0x3ee7d6;for(const _0x45ae14 of[_0x52b215(0x56b),'iPad']){if('EZrxD'!==_0x52b215(0x24d))return{'success':![],'error':_0x240e80 instanceof _0x35e1ba?_0x1dd9f0['message']:_0x52b215(0x58f)};else{const _0x1f0fe1=await _0x2030d1['run'](_0x52b215(0x515),['-p',_0x52b215(0x825),'-r','-n',_0x45ae14,'-l',_0x52b215(0x640)],0x1f40);if(_0x1f0fe1['code']!==0x0||!_0x1f0fe1['stdout']['trim']())continue;const _0x5dbed6=_0x1f0fe1[_0x52b215(0x91a)]['match'](/"USB Serial Number"\s*=\s*"([0-9A-Fa-f]{20,})"/),_0x2419ee=_0x5586f3(_0x5dbed6?.[0x1]??null);if(_0x2419ee)return _0x2419ee;}}return null;}async function _0xc1d964(_0x2ef86a){const _0x361d24=_0x3ee7d6,_0x480f76=await _0x2ef86a[_0x361d24(0x725)](_0x361d24(0x2d3),['xctrace','list',_0x361d24(0x598)],0x3a98);if(_0x480f76['code']!==0x0||!_0x480f76['stdout'][_0x361d24(0x5da)]())return null;for(const _0x2908bc of _0x480f76['stdout']['split']('\x0a')){if(/^==\s*Simulators/i['test'](_0x2908bc))break;if(/simulator/i[_0x361d24(0x364)](_0x2908bc))continue;const _0x4a5210=_0x2908bc['match'](/\(([0-9A-Fa-f]{8}-[0-9A-Fa-f]{16}|[0-9A-Fa-f]{40})\)\s*$/),_0x34c7f9=_0x5586f3(_0x4a5210?.[0x1]??null);if(_0x34c7f9)return _0x34c7f9;}return null;}async function _0x1eade2(_0x27d142){const _0x25365a=_0x3ee7d6,_0x1464c7=await _0x27d142[_0x25365a(0x725)](_0x25365a(0x2b9),['SPUSBDataType','-json'],0x1f40);if(_0x1464c7['code']!==0x0||!_0x1464c7[_0x25365a(0x91a)][_0x25365a(0x5da)]())return null;try{const _0x2779af=JSON[_0x25365a(0x229)](_0x1464c7[_0x25365a(0x91a)]);return _0x5586f3(_0x42f700(_0x2779af['SPUSBDataType']));}catch{return null;}}function _0x42f700(_0x2f9cfd){const _0x357cf4=_0x3ee7d6;if(_0x2f9cfd===null||_0x2f9cfd===void 0x0)return null;if(Array[_0x357cf4(0x246)](_0x2f9cfd)){if(_0x357cf4(0x4d5)===_0x357cf4(0x4d5)){for(const _0x138f85 of _0x2f9cfd){if('FlcCt'===_0x357cf4(0x9bc))_0x285bc3=_0x394061;else{const _0x421535=_0x42f700(_0x138f85);if(_0x421535)return _0x421535;}}return null;}else _0x5b1c3b=_0x711817['parse'](_0xddcd51);}if(typeof _0x2f9cfd!==_0x357cf4(0x5ab))return null;const _0x113a75=_0x2f9cfd,_0x57a226=typeof _0x113a75['_name']===_0x357cf4(0x7fd)?_0x113a75[_0x357cf4(0x9d8)]:'',_0x1e7618=_0x113a75['serial_num'],_0x617d4a=/iphone|ipad/i['test'](_0x57a226);if(_0x617d4a&&typeof _0x1e7618==='string'&&/^[0-9A-Fa-f-]{20,}$/['test'](_0x1e7618))return _0x1e7618;for(const _0x55bc38 of Object[_0x357cf4(0x88a)](_0x113a75)){if(_0x357cf4(0xcc)===_0x357cf4(0x6db))_0x4b8122+=_0x125602[_0x357cf4(0x510)]();else{if(Array['isArray'](_0x55bc38)||typeof _0x55bc38===_0x357cf4(0x5ab)&&_0x55bc38!==null){const _0x98ea64=_0x42f700(_0x55bc38);if(_0x98ea64)return _0x98ea64;}}}return null;}function _0x391cce(_0x5453ad){const _0x1f56cd=_0x3ee7d6,_0x586a8d=[_0x1f56cd(0x364),'-project',_0x5453ad['projectPath'],'-scheme','WebDriverAgentRunner','-destination',_0x1f56cd(0x254)+_0x5453ad[_0x1f56cd(0x908)]];return _0x5453ad['derivedDataPath']&&_0x586a8d[_0x1f56cd(0x496)]('-derivedDataPath',_0x5453ad['derivedDataPath']),_0x586a8d;}function _0x5293e5(_0x26f19f){const _0x323708=_0x3ee7d6,_0x247e63=_0x26f19f[_0x323708(0x17e)]();if(_0x247e63['includes']('authentication\x20canceled')||_0x247e63[_0x323708(0x83f)]('failed\x20to\x20initialize\x20for\x20ui\x20testing'))return{'summary':'the\x20device\x20canceled\x20the\x20WebDriverAgent\x20UI-test\x20authentication','remediation':'This\x20happens\x20when\x20the\x20iPhone\x20is\x20asleep/locked\x20when\x20the\x20test\x20runner\x20starts,\x20OR\x20the\x20WebDriverAgentRunner\x20isn\x27t\x20trusted\x20yet.\x20First:\x20unlock\x20the\x20device\x20and\x20keep\x20it\x20awake\x20(set\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never),\x20then\x20retry.\x20If\x20it\x20still\x20fails,\x20establish\x20trust\x20once:\x20open\x20~/.mobile-mcp/WebDriverAgent/WebDriverAgent.xcodeproj\x20in\x20Xcode,\x20Run\x20the\x20WebDriverAgentRunner\x20scheme\x20on\x20the\x20iPhone,\x20accept\x20the\x20trust\x20prompt\x20(and\x20Settings\x20→\x20General\x20→\x20VPN\x20&\x20Device\x20Management).\x20After\x20that\x20the\x20cached\x20authentication\x20is\x20reused.'};if(_0x247e63['includes']('requires\x20a\x20development\x20team')||_0x247e63[_0x323708(0x83f)]('code\x20signing\x20is\x20required')||_0x247e63[_0x323708(0x83f)](_0x323708(0x76b))||_0x247e63['includes'](_0x323708(0x7d3))||_0x247e63['includes']('no\x20signing\x20certificate')||_0x247e63['includes'](_0x323708(0x670))||_0x247e63['includes'](_0x323708(0x6b7))||_0x247e63[_0x323708(0x83f)]('no\x20provisioning\x20profile')||_0x247e63[_0x323708(0x83f)]('requires\x20a\x20provisioning\x20profile')||_0x247e63['includes']('failed\x20to\x20create\x20provisioning\x20profile')||_0x247e63[_0x323708(0x83f)]('doesn\x27t\x20include\x20a\x20valid\x20provisioning'))return{'summary':'WebDriverAgent\x20has\x20no\x20valid\x20signing\x20for\x20this\x20device','remediation':'Open\x20~/.mobile-mcp/WebDriverAgent/WebDriverAgent.xcodeproj\x20in\x20Xcode,\x20select\x20the\x20WebDriverAgentRunner\x20target\x20→\x20Signing\x20&\x20Capabilities,\x20set\x20a\x20Development\x20Team,\x20and\x20run\x20it\x20once\x20on\x20the\x20iPhone\x20to\x20sign\x20+\x20cache\x20the\x20build.\x20Then\x20retry.'};if(_0x247e63['includes']('could\x20not\x20locate\x20device\x20support')||_0x247e63['includes']('devicesupport')||_0x247e63[_0x323708(0x83f)](_0x323708(0x7aa))||_0x247e63[_0x323708(0x83f)]('preparing\x20device'))return{'summary':_0x323708(0x90f),'remediation':_0x323708(0xe3)};if(_0x247e63['includes']('developer\x20mode'))return{'summary':_0x323708(0x66f),'remediation':'Enable\x20it\x20on\x20the\x20iPhone:\x20Settings\x20→\x20Privacy\x20&\x20Security\x20→\x20Developer\x20Mode\x20→\x20On,\x20restart\x20the\x20device,\x20then\x20retry.'};if(_0x247e63[_0x323708(0x83f)](_0x323708(0x53c))||_0x247e63['includes']('no\x20devices\x20are\x20booted')||_0x247e63['includes']('is\x20not\x20connected'))return{'summary':'xcodebuild\x20couldn\x27t\x20find\x20the\x20device','remediation':'Reconnect\x20the\x20iPhone\x20via\x20USB-C,\x20unlock\x20and\x20trust\x20this\x20Mac,\x20then\x20retry.'};if(_0x247e63['includes']('build\x20interrupted'))return{'summary':'the\x20WebDriverAgent\x20build\x20was\x20interrupted','remediation':'Usually\x20the\x20device\x20slept/locked\x20mid-build.\x20Unlock\x20it,\x20set\x20Auto-Lock\x20to\x20Never,\x20and\x20retry.'};return null;}var _0x53040b=class{constructor(_0xee894e=_0x474eb7){this['deps']=_0xee894e;}[_0x3ee7d6(0x91b)]=null;[_0x3ee7d6(0x139)]=null;[_0x3ee7d6(0x14e)]=null;[_0x3ee7d6(0x688)]=_0x1cde71;['isRunning'](){const _0x507d90=_0x3ee7d6;return this[_0x507d90(0x91b)]!==null&&this[_0x507d90(0x91b)]['exitCode']===null;}[_0x3ee7d6(0x3a9)](){const _0x13e80e=_0x3ee7d6;return _0x13e80e(0x26b)+this[_0x13e80e(0x688)];}async[_0x3ee7d6(0x41b)](_0x43e548={}){const _0x5368b9=_0x3ee7d6;if(this['inflight'])return this['inflight'];const _0x5e492c=this[_0x5368b9(0x6ee)](_0x43e548);this[_0x5368b9(0x14e)]=_0x5e492c;try{return await _0x5e492c;}finally{if(_0x5368b9(0xeb)!=='oCWut'){const _0x113bb7={'catalog':_0x5b6e79(_0x3bc3d5),'signedAt':_0x3c87b6};_0x14f45b!==void 0x0&&(_0x113bb7['libraryCatalog']=_0x24dcd4(_0x437f85));_0x27efc2!==void 0x0&&(_0x113bb7[_0x5368b9(0x123)]=_0x1ce091(_0xe0b55));const _0x50ba15=_0x556a75[_0x5368b9(0x2c1)](_0x2bb0d6(_0x113bb7));return new _0xd7565d()[_0x5368b9(0x2d1)](_0x50ba15);}else this['inflight']=null;}}async[_0x3ee7d6(0x6ee)](_0x441ba8){const _0x2ace7b=_0x3ee7d6;if(await this['deps']['probeStatus'](this[_0x2ace7b(0x688)],0x7d0))return{'ok':!![],'reason':'reused','baseUrl':this[_0x2ace7b(0x3a9)](),'port':this['port'],'projectPath':this['projectPath']??void 0x0};const _0x4fd043=await _0x16482e(this[_0x2ace7b(0x207)]);if(!_0x4fd043['ok'])return{'ok':![],'reason':_0x2ace7b(0x200),'error':_0x4fd043['remediation']};const _0x304818=await _0x55be9b(_0x441ba8['resolverUdid']??null,this[_0x2ace7b(0x207)]);if(!_0x304818)return{'ok':![],'reason':'hardware-udid-not-found','error':_0x2ace7b(0x2a7)};const _0x5bf5be=await this[_0x2ace7b(0x207)][_0x2ace7b(0x725)](_0x2ace7b(0x427),[_0x2ace7b(0x5d4)],0xfa0);if(_0x5bf5be[_0x2ace7b(0x845)]!==0x0||_0x5bf5be['stdout'][_0x2ace7b(0x5da)]()[_0x2ace7b(0x945)]===0x0)return _0x2ace7b(0x355)!==_0x2ace7b(0x355)?{'name':'claude-hooks','status':'error','details':{'error':_0x3bb214(_0x33646b)}}:{'ok':![],'reason':'xcodebuild-missing','error':_0x2ace7b(0xe7)};const _0x4ef761=_0x391cce({'projectPath':_0x4fd043['projectPath'],'hardwareUdid':_0x304818,'derivedDataPath':_0x441ba8['derivedDataPath']});let _0x35e853='';const _0x5ce5c8=_0x5e1fcf=>{const _0x46b35e=_0x2ace7b;_0x35e853+=_0x5e1fcf['toString'](),_0x35e853['length']>0x5dc0&&(_0x35e853=_0x35e853[_0x46b35e(0x63b)](-0x5dc0));};let _0x54a904;try{_0x54a904=this[_0x2ace7b(0x207)][_0x2ace7b(0x433)](_0x2ace7b(0x5d4),_0x4ef761,{'stdio':['ignore','pipe','pipe']});}catch(_0x9f4e4c){return{'ok':![],'reason':'xcodebuild-spawn-failed','error':_0x2ace7b(0x9d5)+(_0x9f4e4c instanceof Error?_0x9f4e4c[_0x2ace7b(0x92e)]:String(_0x9f4e4c))};}this[_0x2ace7b(0x91b)]=_0x54a904,this['projectPath']=_0x4fd043['projectPath'],_0x54a904[_0x2ace7b(0x91a)]?.['on'](_0x2ace7b(0x978),_0x5ce5c8),_0x54a904['stderr']?.['on']('data',_0x5ce5c8);const _0x1902ac=_0x441ba8['readinessTimeoutMs']??0x15f90,_0x25ed7c=_0x441ba8['readinessPollMs']??0x3e8,_0x514952=Date['now']()+_0x1902ac;let _0x32130f=![];_0x54a904['once'](_0x2ace7b(0x41e),()=>{if(this['child']===_0x54a904)this['child']=null;_0x32130f=!![];});while(Date['now']()<_0x514952){if(_0x2ace7b(0x7e3)!=='LuOox')_0x5888e4=(_0x21dbfd[_0x2ace7b(0x33f)]&&_0x25101e['default']['auth'])??_0x403eab['auth'];else{if(_0x32130f)break;const _0x5d80ca=await this['deps'][_0x2ace7b(0x571)](this[_0x2ace7b(0x688)],0x7d0);if(_0x32130f)break;if(_0x5d80ca){if(_0x2ace7b(0x834)!==_0x2ace7b(0x834))_0x5571fa={'matches':_0x4ecb34[_0x2ace7b(0x223)][_0x2ace7b(0x986)](_0x1541ba=>({'relPath':_0x1541ba['relPath'],'absPath':_0x1541ba['absPath']}))};else return{'ok':!![],'reason':_0x2ace7b(0x39d),'baseUrl':this[_0x2ace7b(0x3a9)](),'port':this[_0x2ace7b(0x688)],'projectPath':_0x4fd043['projectPath'],'hardwareUdid':_0x304818};}await new Promise(_0x4eede1=>setTimeout(_0x4eede1,_0x25ed7c));}}await this['stop']()['catch'](()=>void 0x0);const _0x3fbb7c=_0x5293e5(_0x35e853);if(_0x3fbb7c)return{'ok':![],'reason':_0x2ace7b(0x964),'error':'WebDriverAgent\x20could\x20not\x20start\x20—\x20'+_0x3fbb7c['summary']+'.','remediation':_0x3fbb7c[_0x2ace7b(0x5de)]};return{'ok':![],'reason':_0x2ace7b(0x964),'error':_0x32130f?'`xcodebuild\x20test`\x20exited\x20before\x20WebDriverAgent\x27s\x20HTTP\x20server\x20answered\x20on\x20:8100.\x20Most\x20common\x20cause:\x20the\x20WebDriverAgentRunner\x20target\x20has\x20no\x20valid\x20signing\x20for\x20this\x20device,\x20or\x20the\x20device\x20is\x20asleep/locked\x20(unlock\x20it\x20and\x20retry).\x20Open\x20the\x20project\x20in\x20Xcode,\x20set\x20a\x20Development\x20Team\x20on\x20the\x20WebDriverAgentRunner\x20target,\x20run\x20it\x20once\x20on\x20the\x20iPhone\x20to\x20sign\x20+\x20cache\x20the\x20build,\x20then\x20retry.':_0x2ace7b(0x1d0)+_0x1902ac+_0x2ace7b(0x2be)};}async['stop'](){const _0x218f5c=_0x3ee7d6,_0x491ef1=this['child'];this[_0x218f5c(0x91b)]=null;if(!_0x491ef1||_0x491ef1['exitCode']!==null)return{'stopped':![]};try{if(_0x218f5c(0xf3)===_0x218f5c(0x8a7))return this[_0x218f5c(0x136)](_0x3f236f[_0x218f5c(0x6fa)],_0x382f9b);else _0x491ef1['kill']('SIGTERM');}catch{return{'stopped':![]};}return await new Promise(_0x4fbf67=>{const _0x2fcc66=_0x218f5c;let _0x24fbc9=![],_0x1c4697=null,_0x36c920=null;const _0x57c215=()=>{if(_0x24fbc9)return;_0x24fbc9=!![];if(_0x1c4697)clearTimeout(_0x1c4697);if(_0x36c920)clearTimeout(_0x36c920);_0x4fbf67();};_0x491ef1[_0x2fcc66(0x9b5)](_0x2fcc66(0x41e),_0x57c215);if(_0x491ef1[_0x2fcc66(0x186)]!==null){_0x491ef1[_0x2fcc66(0x74c)](_0x2fcc66(0x41e),_0x57c215),_0x57c215();return;}_0x1c4697=setTimeout(()=>{const _0x202c07=_0x2fcc66;if(_0x24fbc9)return;try{_0x491ef1[_0x202c07(0x142)]('SIGKILL');}catch{}_0x36c920=setTimeout(()=>{const _0x4e29ae=_0x202c07;if(_0x24fbc9)return;_0x491ef1[_0x4e29ae(0x74c)]('exit',_0x57c215),_0x57c215();},0x7d0);},0x1388);}),{'stopped':!![]};}};import{spawn as _0x71717f}from'child_process';import*as _0xd0e62d from'net';import*as _0x23f543 from'plist';async function _0x543c66(_0x13953c,_0x927dd7,_0x33fe61=0x3a98){return new Promise(_0x1ed939=>{const _0x96733f=_0x4a5a;let _0x455c5b='',_0x43ef2e='',_0x229314;try{_0x229314=_0x71717f(_0x13953c,_0x927dd7,{'stdio':[_0x96733f(0x317),_0x96733f(0x406),_0x96733f(0x406)]});}catch(_0x39774d){_0x1ed939({'code':0x7f,'stdout':'','stderr':_0x39774d instanceof Error?_0x39774d[_0x96733f(0x92e)]:String(_0x39774d)});return;}const _0x5a53d3=setTimeout(()=>{const _0x314ea3=_0x96733f;try{_0x229314[_0x314ea3(0x142)](_0x314ea3(0x57c));}catch{}},_0x33fe61);_0x229314['stdout']?.['on']('data',_0x3a48c5=>{const _0x52f558=_0x96733f;_0x455c5b+=_0x3a48c5[_0x52f558(0x510)]();}),_0x229314['stderr']?.['on']('data',_0x39a64b=>{const _0x5a8b1e=_0x96733f;_0x43ef2e+=_0x39a64b[_0x5a8b1e(0x510)]();});let _0x5eb9df=![];_0x229314['on']('error',_0x11511f=>{if(_0x5eb9df)return;_0x5eb9df=!![],clearTimeout(_0x5a53d3),_0x1ed939({'code':0x7f,'stdout':_0x455c5b,'stderr':_0x43ef2e+(_0x11511f['message']??String(_0x11511f))});}),_0x229314['on'](_0x96733f(0x41e),_0x4bc330=>{if(_0x5eb9df)return;_0x5eb9df=!![],clearTimeout(_0x5a53d3),_0x1ed939({'code':_0x4bc330??0x1,'stdout':_0x455c5b,'stderr':_0x43ef2e});});});}function _0x3c53bf(_0x5ca239,_0x26e08c){return new Promise((_0x3d76dc,_0x545703)=>{const _0x3b7c91=_0x4a5a;if(_0x26e08c?.[_0x3b7c91(0x957)]){_0x545703(new Error('aborted'));return;}const _0x211dbf=setTimeout(()=>{const _0x544080=_0x3b7c91;_0x26e08c?.[_0x544080(0x257)](_0x544080(0x2d4),_0x56b023),_0x3d76dc();},_0x5ca239),_0x56b023=()=>{const _0x47e732=_0x3b7c91;clearTimeout(_0x211dbf),_0x26e08c?.['removeEventListener']('abort',_0x56b023),_0x545703(new Error(_0x47e732(0x957)));};_0x26e08c?.['addEventListener'](_0x3b7c91(0x2d4),_0x56b023,{'once':!![]});});}function _0x17eb27(){return new Promise((_0x5e503f,_0x1facd0)=>{const _0x57758a=_0x4a5a,_0x309116=_0xd0e62d[_0x57758a(0x3d9)](_0x57758a(0x8e0));let _0x3d7921=![];_0x309116[_0x57758a(0x9b5)](_0x57758a(0x261),()=>{const _0xbeb139=_0x57758a;if(_0x3d7921)return;_0x3d7921=!![],_0x309116[_0xbeb139(0x684)]('error',_0x9f1034),_0x5e503f(_0x309116);});const _0x9f1034=_0x4a5056=>{const _0x1e8ece=_0x57758a;if(_0x3d7921)return;_0x3d7921=!![];try{_0x309116[_0x1e8ece(0x7e4)]();}catch{}_0x1facd0(_0x4a5056);};_0x309116['once']('error',_0x9f1034);});}var _0x352a1c={'runner':_0x543c66,'sleep':_0x3c53bf,'now':()=>Date['now'](),'openSocket':_0x17eb27},_0x2a6313=0x1,_0x4a71d1=0x8,_0x249ddc=0x10;function _0x45717c(_0x14c125=0x1){const _0x5bf28a=_0x3ee7d6,_0x5a5815=_0x23f543['build']({'MessageType':_0x5bf28a(0x6f4),'ClientVersionString':_0x5bf28a(0x24b),'ProgName':'ceraph-react-native-mcp','kLibUSBMuxVersion':0x3}),_0x3faf6a=Buffer[_0x5bf28a(0x70f)](_0x5a5815,_0x5bf28a(0x140)),_0x16d55f=Buffer[_0x5bf28a(0x387)](_0x249ddc);return _0x16d55f['writeUInt32LE'](_0x249ddc+_0x3faf6a['length'],0x0),_0x16d55f[_0x5bf28a(0x86b)](_0x2a6313,0x4),_0x16d55f['writeUInt32LE'](_0x4a71d1,0x8),_0x16d55f['writeUInt32LE'](_0x14c125,0xc),Buffer[_0x5bf28a(0xe2)]([_0x16d55f,_0x3faf6a]);}var _0x38e834=class{['buf']=Buffer['alloc'](0x0);['feed'](_0x878da1){const _0x66ebd1=_0x3ee7d6;this['buf']=this['buf']['length']===0x0?_0x878da1:Buffer[_0x66ebd1(0xe2)]([this[_0x66ebd1(0x8b4)],_0x878da1]);const _0x54f6ca=[];while(this[_0x66ebd1(0x8b4)]['length']>=_0x249ddc){const _0x4ffbb0=this['buf']['readUInt32LE'](0x0);if(_0x4ffbb0<_0x249ddc||_0x4ffbb0>0x100000)return this['buf']=Buffer[_0x66ebd1(0x387)](0x0),_0x54f6ca;if(this[_0x66ebd1(0x8b4)]['length']<_0x4ffbb0)return _0x54f6ca;const _0x15abba=this[_0x66ebd1(0x8b4)]['subarray'](_0x249ddc,_0x4ffbb0);this[_0x66ebd1(0x8b4)]=this[_0x66ebd1(0x8b4)]['subarray'](_0x4ffbb0);const _0x288cf6=_0x557823(_0x15abba);if(_0x288cf6)_0x54f6ca['push']({'payload':_0x288cf6});}return _0x54f6ca;}};function _0x557823(_0x4a5bfc){const _0x906fa2=_0x3ee7d6;try{const _0x311063=_0x4a5bfc[_0x906fa2(0x510)]('utf8'),_0x3d311b=_0x23f543[_0x906fa2(0x229)](_0x311063);if(_0x3d311b&&typeof _0x3d311b===_0x906fa2(0x5ab)&&!Array['isArray'](_0x3d311b))return _0x3d311b;return null;}catch{return null;}}function _0x281e37(_0x41b6fd){const _0x56e80c=_0x3ee7d6,_0x6f4694=_0x41b6fd[_0x56e80c(0x7bb)]?.[_0x56e80c(0x598)]??[];if(_0x6f4694['length']===0x0)return null;const _0x20ad5e=_0x508bf8=>(_0x508bf8[_0x56e80c(0x979)]?.[_0x56e80c(0x54d)]?.['toLowerCase']()??'')[_0x56e80c(0x83f)](_0x56e80c(0x5c2)),_0x3a0f3e=_0x6f4694[_0x56e80c(0x7bd)](_0x2329ea=>{const _0x4e4790=_0x56e80c,_0x35981e=_0x2329ea[_0x4e4790(0x60c)]?.[_0x4e4790(0x4bf)]?.[_0x4e4790(0x17e)]()??'';return _0x20ad5e(_0x2329ea)&&_0x35981e==='connected';}),_0x331a6e=_0x3a0f3e??_0x6f4694['find'](_0x20ad5e);if(!_0x331a6e?.['identifier'])return null;return{'udid':_0x331a6e['identifier'],'name':_0x331a6e['deviceProperties']?.['name']??_0x331a6e['identifier']};}async function _0x1961a9(_0x4385bd){const _0xa86689=_0x3ee7d6,_0x1288f9=await _0x4385bd['runner'](_0xa86689(0x2d3),[_0xa86689(0x124),'list','devices','--json-output','-'],0x1f40);if(_0x1288f9[_0xa86689(0x845)]!==0x0)return null;try{const _0x421c22=JSON[_0xa86689(0x229)](_0x1288f9[_0xa86689(0x91a)]);return _0x281e37(_0x421c22);}catch{return null;}}function _0x4ac372(_0x4dd9b2){const _0x44cd7e=_0x3ee7d6;if(_0x4dd9b2[_0x44cd7e(0x211)]!=='Attached')return null;const _0x5775d7=_0x4dd9b2[_0x44cd7e(0x461)];if(!_0x5775d7||typeof _0x5775d7!=='object')return null;const _0x44c0f5=_0x5775d7['SerialNumber'];if(typeof _0x44c0f5!=='string'||_0x44c0f5['length']===0x0)return null;const _0x326ff1=_0x5775d7['DeviceName'],_0x3c2903=typeof _0x326ff1===_0x44cd7e(0x7fd)&&_0x326ff1[_0x44cd7e(0x945)]>0x0?_0x326ff1:void 0x0;return{'udid':_0x44c0f5,'name':_0x3c2903};}async function _0x32b680(_0x247e5f={},_0x2d0f80=_0x352a1c){const _0x5ce7a0=_0x3ee7d6,_0x36db35=_0x247e5f['signal'],_0x6d8734=_0x2d0f80[_0x5ce7a0(0x3d1)]??(()=>Date['now']());if(_0x36db35?.[_0x5ce7a0(0x957)])throw new Error(_0x5ce7a0(0x957));const _0x39ae0d=_0x6d8734(),_0x32b7e6=await _0x1961a9(_0x2d0f80);if(_0x32b7e6)return{'deviceFound':!![],'udid':_0x32b7e6['udid'],'name':_0x32b7e6['name'],'waitedMs':0x0,'source':'usbmuxd'};if(_0x36db35?.['aborted'])throw new Error(_0x5ce7a0(0x957));const _0x1f5ef3=_0x2d0f80['openSocket']??_0x17eb27;let _0x262b40;try{_0x262b40=await _0x1f5ef3();}catch{return process[_0x5ce7a0(0x870)][_0x5ce7a0(0x65a)](_0x5ce7a0(0x382)),_0x42f311(_0x247e5f,_0x2d0f80,_0x39ae0d);}return _0x569670(_0x262b40,_0x247e5f,_0x2d0f80,_0x39ae0d);}function _0x569670(_0x2fa64c,_0x3cfffa,_0x41d774,_0xb32e04){const _0x56a8a1=_0x3ee7d6,_0x4b1bfd=_0x3cfffa['signal'],_0xd2ae16=_0x41d774[_0x56a8a1(0x3d1)]??(()=>Date[_0x56a8a1(0x3d1)]());return new Promise((_0x216e9e,_0x486c53)=>{const _0x210ec7=_0x56a8a1,_0x49a8f9=new _0x38e834();let _0x114e1b=![],_0x4348c2;const _0x2714e9=()=>{const _0x4c43c5=_0x4a5a;_0x114e1b=!![];if(_0x4348c2)clearTimeout(_0x4348c2);if(_0x4b1bfd)_0x4b1bfd[_0x4c43c5(0x257)](_0x4c43c5(0x2d4),_0x27231d);try{_0x2fa64c['destroy']();}catch{}},_0xf7ae1b=_0x7ac359=>{if(_0x114e1b)return;_0x2714e9(),_0x216e9e(_0x7ac359);},_0x3c14dd=_0x569d6d=>{if(_0x114e1b)return;_0x2714e9(),_0x486c53(_0x569d6d);},_0x27231d=()=>_0x3c14dd(new Error('aborted')),_0x30a13c=_0x33ada7=>{const _0x32a066=_0x4a5a;if(_0x114e1b)return;_0x2714e9(),_0x42f311(_0x3cfffa,_0x41d774,_0xb32e04)[_0x32a066(0x4cf)](_0x216e9e,_0x486c53);},_0x229d87=()=>{const _0x10a9e1=_0x4a5a;if(_0x114e1b)return;_0x2714e9(),_0x42f311(_0x3cfffa,_0x41d774,_0xb32e04)[_0x10a9e1(0x4cf)](_0x216e9e,_0x486c53);},_0x36ee13=_0x37eb9e=>{const _0x5c3c7f=_0x4a5a;if(_0x114e1b)return;const _0x2e98d6=_0x49a8f9['feed'](_0x37eb9e);for(const _0x36fe20 of _0x2e98d6){const _0x36d976=_0x4ac372(_0x36fe20[_0x5c3c7f(0x836)]);if(_0x36d976){if('hRjMZ'==='hRjMZ'){_0xf7ae1b({'deviceFound':!![],'udid':_0x36d976['udid'],'name':_0x36d976['name'],'waitedMs':_0xd2ae16()-_0xb32e04,'source':'usbmuxd'});return;}else{const _0x4800c6='\x22'+_0x142ce3['key']+'\x22,',_0x4c504c=_0x4800c6[_0x5c3c7f(0x494)](_0x5c8b03+0x1,'\x20');return _0x5c3c7f(0x975)+_0x4c504c+_0x5c3c7f(0x40b)+_0x36b6a8['relativePath']+_0x5c3c7f(0x5cd);}}}};_0x2fa64c['on'](_0x210ec7(0x978),_0x36ee13),_0x2fa64c['on'](_0x210ec7(0x125),_0x30a13c),_0x2fa64c['on']('close',_0x229d87);_0x4b1bfd&&_0x4b1bfd[_0x210ec7(0x82b)](_0x210ec7(0x2d4),_0x27231d,{'once':!![]});if(typeof _0x3cfffa[_0x210ec7(0x5aa)]===_0x210ec7(0x513)&&_0x3cfffa[_0x210ec7(0x5aa)]>0x0){const _0x2e655a=_0x3cfffa[_0x210ec7(0x5aa)]-(_0xd2ae16()-_0xb32e04),_0x1a79fa=Math['max'](_0x2e655a,0x0);_0x4348c2=setTimeout(()=>{const _0x44951a=_0x210ec7;_0x3c14dd(new Error(_0x564e01(_0x3cfffa[_0x44951a(0x5aa)])));},_0x1a79fa);}try{_0x2fa64c['write'](_0x45717c());}catch(_0x45417e){if(_0x114e1b)return;_0x2714e9(),_0x42f311(_0x3cfffa,_0x41d774,_0xb32e04)[_0x210ec7(0x4cf)](_0x216e9e,_0x486c53);}});}function _0x564e01(_0x5b0ccd){const _0x7a5a07=_0x3ee7d6,_0x2e3de7=Math['round'](_0x5b0ccd/0xea60),_0x3ba56a=_0x2e3de7===0x1?'1\x20minute':_0x2e3de7+_0x7a5a07(0x596);return'No\x20device\x20connected\x20after\x20'+_0x3ba56a+_0x7a5a07(0xf6);}async function _0x42f311(_0x2932a2,_0x50c176,_0x55131b){const _0x450049=_0x3ee7d6,_0x246af2=_0x2932a2['fallbackPollIntervalMs']??0x2710,_0x3cdd60=_0x2932a2['signal'],_0x53ac3d=_0x50c176['sleep']??_0x3c53bf,_0x48a8fe=_0x50c176['now']??(()=>Date['now']());while(!![]){if(_0x3cdd60?.['aborted'])throw new Error(_0x450049(0x957));if(typeof _0x2932a2[_0x450049(0x5aa)]===_0x450049(0x513)&&_0x2932a2['timeoutMs']>0x0){const _0x53eee9=_0x48a8fe()-_0x55131b,_0x39c205=_0x2932a2['timeoutMs']-_0x53eee9;if(_0x39c205<=0x0)throw new Error(_0x564e01(_0x2932a2[_0x450049(0x5aa)]));const _0x1d8171=Math['min'](_0x246af2,_0x39c205);try{await _0x53ac3d(_0x1d8171,_0x3cdd60);}catch(_0x3dd055){if(_0x3dd055 instanceof Error&&_0x3dd055['message']===_0x450049(0x957))throw _0x3dd055;throw new Error('wait-for-device\x20sleep\x20failed:\x20'+(_0x3dd055 instanceof Error?_0x3dd055[_0x450049(0x92e)]:String(_0x3dd055)));}}else try{'rVSEy'!=='cXgRu'?await _0x53ac3d(_0x246af2,_0x3cdd60):_0x46258e=_0x13ef10[_0x450049(0x229)](_0x4741b1);}catch(_0x1e3fca){if(_0x1e3fca instanceof Error&&_0x1e3fca['message']==='aborted')throw _0x1e3fca;throw new Error('wait-for-device\x20sleep\x20failed:\x20'+(_0x1e3fca instanceof Error?_0x1e3fca[_0x450049(0x92e)]:String(_0x1e3fca)));}if(_0x3cdd60?.['aborted'])throw new Error(_0x450049(0x957));const _0x5f064a=await _0x1961a9(_0x50c176);if(_0x5f064a)return{'deviceFound':!![],'udid':_0x5f064a['udid'],'name':_0x5f064a[_0x450049(0x4d1)],'waitedMs':_0x48a8fe()-_0x55131b,'source':'polling-fallback'};}}import{readdir as _0x3edeea,rename as _0x55f653,unlink,writeFile as _0x4bba83,mkdir as _0x46bc87,stat as _0x5cf14b}from'fs/promises';import{isAbsolute,join as _0x223bcf,relative as _0x45b77a}from'path';var _0xf57040=['jpg',_0x3ee7d6(0x3df),'png','webp','heic'],_0x5ac7b5=_0x223bcf(_0x3ee7d6(0x5d3),_0x3ee7d6(0x2b1)),_0x6ec882=0x5*0x400*0x400,_0x4f4a58=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,_0x27f090=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,_0x58b24e=class extends Error{[_0x3ee7d6(0x845)];['remediation'];constructor(_0x5e0b92,_0x16a29d,_0x5ee35d){const _0x58b4b0=_0x3ee7d6;super(_0x16a29d),this['name']=_0x58b4b0(0x5e8),this[_0x58b4b0(0x845)]=_0x5e0b92,this['remediation']=_0x5ee35d;}};function _0x5b7c90(_0x1f548a){const _0x841689=_0x3ee7d6;if(typeof _0x1f548a!==_0x841689(0x7fd)||_0x1f548a[_0x841689(0x945)]===0x0)throw new _0x58b24e('invalid-image-key','imageKey\x20is\x20required.','Pass\x20a\x20non-empty\x20`imageKey`\x20like\x20`\x22profile\x22`\x20or\x20`\x22handwriting-sample-1\x22`.');if(_0x1f548a[_0x841689(0x945)]>0x40)throw new _0x58b24e(_0x841689(0x4f5),_0x841689(0x1be)+_0x1f548a+_0x841689(0x535),_0x841689(0x8ce));if(!_0x4f4a58['test'](_0x1f548a))throw new _0x58b24e(_0x841689(0x4f5),_0x841689(0x1be)+_0x1f548a+'\x27\x20must\x20be\x20lowercase\x20letters/digits\x20separated\x20by\x20single\x20hyphens.',_0x841689(0x2c2));}function _0x25c6e8(_0x2fa61e){const _0x3f65ab=_0x3ee7d6;if(typeof _0x2fa61e!==_0x3f65ab(0x7fd)||_0x2fa61e['length']===0x0)throw new _0x58b24e('invalid-subdir','subDir\x20was\x20provided\x20but\x20is\x20empty.',_0x3f65ab(0x8ea));if(_0x2fa61e[_0x3f65ab(0x945)]>0x40)throw new _0x58b24e(_0x3f65ab(0x1fb),'subDir\x20\x27'+_0x2fa61e+'\x27\x20is\x20longer\x20than\x2064\x20characters.',_0x3f65ab(0x9df));if(!_0x27f090[_0x3f65ab(0x364)](_0x2fa61e))throw new _0x58b24e(_0x3f65ab(0x1fb),'subDir\x20\x27'+_0x2fa61e+'\x27\x20must\x20be\x20a\x20single\x20lowercase\x20segment.','Use\x20only\x20[a-z0-9-],\x20no\x20slashes,\x20no\x20`..`,\x20no\x20leading\x20`/`.\x20Example:\x20`id-documents`.');}function _0x525f56(_0x3ffde6){const _0x309393=_0x3ee7d6;if(_0x3ffde6[_0x309393(0x945)]<0xc)return null;if(_0x3ffde6[0x0]===0xff&&_0x3ffde6[0x1]===0xd8&&_0x3ffde6[0x2]===0xff)return{'ext':_0x309393(0x12c),'mime':_0x309393(0x4ed)};if(_0x3ffde6[0x0]===0x89&&_0x3ffde6[0x1]===0x50&&_0x3ffde6[0x2]===0x4e&&_0x3ffde6[0x3]===0x47&&_0x3ffde6[0x4]===0xd&&_0x3ffde6[0x5]===0xa&&_0x3ffde6[0x6]===0x1a&&_0x3ffde6[0x7]===0xa)return{'ext':'png','mime':_0x309393(0x694)};if(_0x3ffde6[0x0]===0x52&&_0x3ffde6[0x1]===0x49&&_0x3ffde6[0x2]===0x46&&_0x3ffde6[0x3]===0x46&&_0x3ffde6[0x8]===0x57&&_0x3ffde6[0x9]===0x45&&_0x3ffde6[0xa]===0x42&&_0x3ffde6[0xb]===0x50){if(_0x309393(0x451)!=='QgyPU')return{'ext':_0x309393(0x70b),'mime':'image/webp'};else{if(this['timer'])return;this[_0x309393(0x2e3)]=_0x483e75(()=>{const _0x4e291a=_0x309393;void this[_0x4e291a(0x5e4)]();},this['intervalMs']),this[_0x309393(0x2e3)]['unref']?.();}}if(_0x3ffde6[0x4]===0x66&&_0x3ffde6[0x5]===0x74&&_0x3ffde6[0x6]===0x79&&_0x3ffde6[0x7]===0x70){const _0x11bfc7=String[_0x309393(0x49d)](_0x3ffde6[0x8]??0x0,_0x3ffde6[0x9]??0x0,_0x3ffde6[0xa]??0x0,_0x3ffde6[0xb]??0x0),_0x33b4db=new Set([_0x309393(0x600),'heix','hevc','hevx',_0x309393(0x199),'heis',_0x309393(0x462),'msf1']);if(_0x33b4db['has'](_0x11bfc7))return{'ext':_0x309393(0x600),'mime':'image/heic'};}return null;}function _0xbb38d1(_0x3a3af6){const _0x5b102b=_0x3ee7d6;if(!_0x3a3af6||typeof _0x3a3af6!==_0x5b102b(0x7fd))return null;const _0x4355b9=_0x3a3af6['trim']()[_0x5b102b(0x17e)]();if(_0x4355b9[_0x5b102b(0x945)]===0x0)return null;let _0xad3a85=_0x4355b9;if(_0xad3a85['startsWith']('image/'))_0xad3a85=_0xad3a85[_0x5b102b(0x63b)](_0x5b102b(0x1c9)['length']);if(_0xad3a85[_0x5b102b(0x887)]('.'))_0xad3a85=_0xad3a85[_0x5b102b(0x63b)](0x1);const _0x4510c7=_0xad3a85['indexOf'](';');if(_0x4510c7>=0x0)_0xad3a85=_0xad3a85[_0x5b102b(0x63b)](0x0,_0x4510c7)['trim']();if(_0xad3a85==='jpeg'||_0xad3a85==='jpg')return _0x5b102b(0x12c);if(_0xad3a85===_0x5b102b(0x591))return _0x5b102b(0x591);if(_0xad3a85===_0x5b102b(0x70b))return _0x5b102b(0x70b);if(_0xad3a85==='heic'||_0xad3a85===_0x5b102b(0x180))return'heic';return null;}async function _0x5dfae6(_0x4885bf,_0x194dea){const _0x2f9150=_0x3ee7d6;let _0x3ba090;try{const _0xd68dae=await _0x5cf14b(_0x4885bf);if(!_0xd68dae[_0x2f9150(0x42a)]())return null;_0x3ba090=await _0x3edeea(_0x4885bf);}catch{return null;}const _0x457be6=_0x194dea['toLowerCase']();for(const _0x112a03 of _0x3ba090){const _0x529bac=_0x112a03['lastIndexOf']('.');if(_0x529bac<=0x0)continue;const _0x55b5f0=_0x112a03['slice'](0x0,_0x529bac);if(_0x55b5f0['toLowerCase']()!==_0x457be6)continue;const _0x21a2e2=_0x112a03[_0x2f9150(0x63b)](_0x529bac)['toLowerCase'](),_0x115179=_0x21a2e2[_0x2f9150(0x887)]('.')?_0x21a2e2[_0x2f9150(0x63b)](0x1):_0x21a2e2;if(!_0xf57040['includes'](_0x115179))continue;return{'absolutePath':_0x223bcf(_0x4885bf,_0x112a03),'ext':_0x115179};}return null;}async function _0x36607e(_0x3e5db5,_0x6d0da5,_0x3a439c={}){const _0x4fd47b=_0x3ee7d6,{imageKey:_0x35860f,imageBase64:_0x138d0f,contentType:_0x399092,overwrite:_0x49a164,subDir:_0x98818e}=_0x6d0da5,_0x523fb4=_0x3a439c['syncCameraRegistry']??_0x280e91;_0x5b7c90(_0x35860f);_0x98818e!==void 0x0&&_0x98818e!==''&&_0x25c6e8(_0x98818e);if(typeof _0x138d0f!==_0x4fd47b(0x7fd)||_0x138d0f[_0x4fd47b(0x945)]===0x0)throw new _0x58b24e('invalid-base64','imageBase64\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20string.','Pass\x20the\x20base64-encoded\x20image\x20bytes\x20(without\x20a\x20`data:`\x20prefix).');const _0x519937=_0x138d0f['startsWith']('data:')?_0x138d0f[_0x4fd47b(0x63b)](_0x138d0f[_0x4fd47b(0x747)](',')+0x1):_0x138d0f,_0x284f27=Math['ceil'](_0x6ec882*0x4/0x3)+0x20;if(_0x519937[_0x4fd47b(0x945)]>_0x284f27){const _0x36667d=(_0x519937['length']*0x3/0x4/(0x400*0x400))['toFixed'](0x2);throw new _0x58b24e('image-too-large',_0x4fd47b(0x77e)+_0x36667d+'\x20MB\x20which\x20exceeds\x20the\x205\x20MB\x20cap.','Resize\x20or\x20recompress\x20the\x20image\x20before\x20uploading.\x20Test\x20fixtures\x20rarely\x20need\x20to\x20be\x20larger\x20than\x201\x20MB.\x20Cap:\x205\x20MB.');}const _0x2669f2=Buffer[_0x4fd47b(0x70f)](_0x519937,'base64');if(_0x2669f2['length']===0x0){if(_0x4fd47b(0x1af)!=='bTCcP')_0x318d93=_0x299e3f('xcodebuild',['-showBuildSettings','-json',_0x4fd47b(0x677),_0x6beb5],{'cwd':_0xceb9aa,'stdio':[_0x4fd47b(0x317),'pipe',_0x4fd47b(0x317)]});else throw new _0x58b24e(_0x4fd47b(0x765),'imageBase64\x20decoded\x20to\x20zero\x20bytes.','Verify\x20the\x20base64\x20string\x20is\x20intact\x20and\x20not\x20a\x20placeholder.');}if(_0x2669f2['length']>_0x6ec882){const _0x31ce6e=(_0x2669f2['length']/(0x400*0x400))['toFixed'](0x2);throw new _0x58b24e('image-too-large',_0x4fd47b(0x30a)+_0x31ce6e+'\x20MB\x20which\x20exceeds\x20the\x205\x20MB\x20cap.',_0x4fd47b(0x3f2));}const _0x2ea9ee=_0x525f56(new Uint8Array(_0x2669f2[_0x4fd47b(0x6cf)],_0x2669f2['byteOffset'],_0x2669f2['byteLength']));if(!_0x2ea9ee){if(_0x4fd47b(0x925)===_0x4fd47b(0x925))throw new _0x58b24e('unsupported-image-format','Could\x20not\x20detect\x20a\x20supported\x20image\x20format\x20from\x20the\x20decoded\x20bytes.','Supported\x20formats:\x20JPEG,\x20PNG,\x20WebP,\x20HEIC.\x20Re-export\x20the\x20image\x20in\x20one\x20of\x20these\x20and\x20try\x20again.');else _0x5e2192['push']({'path':_0x272531,'status':'not-found'});}const _0x4b38d9=[];if(_0x399092!==void 0x0&&_0x399092!==''){const _0x4e632f=_0xbb38d1(_0x399092);if(_0x4e632f===null)_0x4b38d9[_0x4fd47b(0x496)]({'code':_0x4fd47b(0x8ef),'message':'contentType\x20\x27'+_0x399092+_0x4fd47b(0x5b5)+_0x2ea9ee['mime']+'\x27\x20instead.'});else _0x4e632f!==_0x2ea9ee[_0x4fd47b(0x94d)]&&_0x4b38d9[_0x4fd47b(0x496)]({'code':'content-type-mismatch','message':_0x4fd47b(0x62a)+_0x399092+_0x4fd47b(0x58e)+_0x2ea9ee['mime']+'\x27\x20—\x20trusting\x20the\x20bytes.'});}if(_0x2669f2[_0x4fd47b(0x945)]>0x1*0x400*0x400){const _0x12a182=(_0x2669f2[_0x4fd47b(0x945)]/(0x400*0x400))['toFixed'](0x2);_0x4b38d9[_0x4fd47b(0x496)]({'code':_0x4fd47b(0x89e),'message':_0x4fd47b(0x30a)+_0x12a182+_0x4fd47b(0x9ee)});}const _0x16d453=_0x223bcf(_0x3e5db5,_0x5ac7b5),_0x41e3f3=_0x98818e!==void 0x0&&_0x98818e!==''?_0x223bcf(_0x16d453,_0x98818e):_0x16d453,_0x181bde=_0x45b77a(_0x16d453,_0x41e3f3);if(_0x181bde['startsWith']('..')||isAbsolute(_0x181bde)||_0x181bde['includes']('\x00'))throw new _0x58b24e('path-traversal','Resolved\x20subDir\x20escapes\x20.ceraph/camera-images/:\x20'+_0x41e3f3,_0x4fd47b(0x792));const _0x199028=_0x2ea9ee['ext'],_0x2b7a11=_0x223bcf(_0x41e3f3,_0x35860f+'.'+_0x199028),_0x28ac19=await _0x5dfae6(_0x41e3f3,_0x35860f);let _0x1652e9,_0x5cc3a5=![];if(_0x28ac19){if(!_0x49a164){const _0x59bfaa=_0x45b77a(_0x3e5db5,_0x28ac19['absolutePath']);throw new _0x58b24e('collision','The\x20imageKey\x20\x27'+_0x35860f+_0x4fd47b(0x746)+_0x59bfaa+'.','Pass\x20`overwrite:\x20true`\x20to\x20replace\x20it,\x20or\x20pick\x20a\x20different\x20imageKey.');}_0x5cc3a5=!![];}await _0x46bc87(_0x41e3f3,{'recursive':!![]});if(_0x28ac19&&_0x28ac19['ext']===_0x199028&&_0x28ac19[_0x4fd47b(0x1c8)]!==_0x2b7a11&&_0x28ac19['absolutePath'][_0x4fd47b(0x17e)]()===_0x2b7a11['toLowerCase']())try{await _0x55f653(_0x28ac19[_0x4fd47b(0x1c8)],_0x2b7a11);}catch(_0x25a75b){void _0x25a75b;}await _0x4bba83(_0x2b7a11,_0x2669f2);if(_0x28ac19){const _0x3516ae=_0x28ac19['absolutePath'],_0x62f004=_0x2b7a11,_0x21440b=_0x3516ae['toLowerCase']()===_0x62f004[_0x4fd47b(0x17e)](),_0x18e04d=_0x28ac19['ext']!==_0x199028,_0x2e3b65=!_0x21440b&&_0x3516ae!==_0x62f004;if(!_0x21440b&&(_0x18e04d||_0x2e3b65))try{await unlink(_0x3516ae),_0x1652e9=_0x45b77a(_0x3e5db5,_0x3516ae);}catch(_0x3bd7b1){throw new _0x58b24e(_0x4fd47b(0x15b),'New\x20image\x20was\x20written\x20but\x20failed\x20to\x20remove\x20stale\x20'+_0x45b77a(_0x3e5db5,_0x3516ae)+':\x20'+(_0x3bd7b1 instanceof Error?_0x3bd7b1[_0x4fd47b(0x92e)]:String(_0x3bd7b1)),_0x4fd47b(0x81e));}}let _0x3a0ff1;try{if(_0x4fd47b(0x4f7)!=='rdGPO')_0x3a0ff1=await _0x523fb4(_0x3e5db5);else return _0x20f0d3(this[_0x4fd47b(0xd9)],_0x3d6c6a);}catch(_0x5af9e9){throw new _0x58b24e(_0x4fd47b(0x39e),'Image\x20was\x20written\x20but\x20registry\x20sync\x20failed:\x20'+(_0x5af9e9 instanceof Error?_0x5af9e9['message']:String(_0x5af9e9)),_0x4fd47b(0x2e1));}return{'written':_0x45b77a(_0x3e5db5,_0x2b7a11),'registry':_0x10fa2a(_0x3e5db5,_0x3a0ff1[_0x4fd47b(0x6a9)]),'registered':_0x3a0ff1['registered'][_0x4fd47b(0x986)](_0xb4d347=>_0xb4d347['key']),'detectedContentType':_0x2ea9ee[_0x4fd47b(0x28c)],'detectedExt':_0x2ea9ee[_0x4fd47b(0x94d)],'replaced':_0x5cc3a5,'removedSiblingPath':_0x1652e9,'bytes':_0x2669f2[_0x4fd47b(0x945)],'warnings':_0x4b38d9,'registryState':_0x3a0ff1['writtenOrUnchanged']};}import{createServer as _0x5f2f42}from'http';var _0x3bb2a2=0x1fa5,_0x78fdbd=0x80*0x400,_0x310035=0x40*0x400,_0x25470e=0x100*0x400,_0x135476=0xc8,_0x44e8fb=new Set([_0x3ee7d6(0x6b4),'js-error','unhandled-rejection','network-error',_0x3ee7d6(0x127),_0x3ee7d6(0x2ea),'optimistic-rollback',_0x3ee7d6(0x1ee),'redbox']),_0x4ef1fa=_0x3ee7d6(0x8a2),_0x5722a3='async-storage-read',_0x286528=_0x3ee7d6(0x793),_0x5cda45='testid-sentinel',_0x36f438=0x64,_0x12e7c7='127.0.0.1';function _0x9a373a(_0x5dcc22){const _0x2e8eff=_0x3ee7d6;if(_0x5dcc22['ok'])return{'message':_0x2e8eff(0x45c)+_0x5dcc22[_0x2e8eff(0x688)],'fatal':![],'status':_0x2e8eff(0x67c)};if(_0x5dcc22['errorCode']==='EADDRINUSE')return{'message':_0x2e8eff(0x2b4)+_0x5dcc22[_0x2e8eff(0x688)]+_0x2e8eff(0x482)+_0x5dcc22[_0x2e8eff(0x688)]+')\x20and\x20this\x20session\x20reclaims\x20it\x20automatically.','fatal':![],'status':'port-conflict'};return{'message':_0x2e8eff(0x82f)+_0x5dcc22['port']+':\x20'+_0x5dcc22[_0x2e8eff(0x125)]+_0x2e8eff(0x84c),'fatal':![],'status':'bind-failed'};}var _0x196e72=0x1f40,_0x195a45=class{constructor(_0x4a712e,_0x106911={}){const _0x3fa731=_0x3ee7d6;this[_0x3fa731(0x172)]=_0x4a712e,this[_0x3fa731(0x688)]=_0x106911['port']??_0x3bb2a2,this['hostOverride']=_0x106911['host']??null,this['onSignal']=_0x106911[_0x3fa731(0x864)];}['server']=null;['port'];['hostOverride'];[_0x3ee7d6(0x3ec)]=![];[_0x3ee7d6(0x122)]=[];[_0x3ee7d6(0x907)]=0x0;[_0x3ee7d6(0x99c)]=[];['bootWriteCount']=0x0;[_0x3ee7d6(0x2f6)]=null;[_0x3ee7d6(0x717)]=new Map();[_0x3ee7d6(0x51a)]=null;[_0x3ee7d6(0x864)];[_0x3ee7d6(0x7b0)]=[];['pendingCommandAcks']=new Map();['commandSeq']=0x0;[_0x3ee7d6(0x2ff)]=null;['setOnSignal'](_0xbba956){const _0x5bf1ca=_0x3ee7d6;this[_0x5bf1ca(0x864)]=_0xbba956;}['enqueueCommand'](_0x4f3884){const _0x794012=_0x3ee7d6;this['commandSeq']+=0x1;const _0x1cf665=_0x794012(0x86e)+this['commandSeq']+'-'+_0x4f3884;return this['commandQueue']['push']({'id':_0x1cf665,'type':_0x4f3884}),new Promise(_0x4979a2=>{const _0x470a97=_0x794012,_0x59d28c=setTimeout(()=>{const _0x17f872=_0x4a5a;this['pendingCommandAcks']['delete'](_0x1cf665),this[_0x17f872(0x7b0)]=this[_0x17f872(0x7b0)][_0x17f872(0x65c)](_0x52959c=>_0x52959c['id']!==_0x1cf665),_0x4979a2({'acked':![]});},_0x196e72);_0x59d28c[_0x470a97(0x60e)]?.(),this['pendingCommandAcks']['set'](_0x1cf665,{'resolve':_0x1d0494=>_0x4979a2({'acked':!![],'ok':_0x1d0494['ok'],'detail':_0x1d0494['detail']}),'timer':_0x59d28c});});}[_0x3ee7d6(0x51c)](){const _0x3d1ba6=_0x3ee7d6,_0x28cea0=this['commandQueue'];return this[_0x3d1ba6(0x7b0)]=[],_0x28cea0;}['resolveCommandAck'](_0x2b3b14){const _0x5d8ba7=_0x3ee7d6,_0x5d1161=this[_0x5d8ba7(0x33d)][_0x5d8ba7(0x47a)](_0x2b3b14['id']);if(!_0x5d1161)return;clearTimeout(_0x5d1161[_0x5d8ba7(0x2e3)]),this[_0x5d8ba7(0x33d)][_0x5d8ba7(0x14d)](_0x2b3b14['id']),_0x5d1161[_0x5d8ba7(0x75f)](_0x2b3b14);}[_0x3ee7d6(0x937)](_0x11eed3){const _0x246a18=_0x3ee7d6;if(_0x11eed3){this[_0x246a18(0x122)]=[],this[_0x246a18(0x907)]=0x0,this['bootWriteCount']=0x0,this[_0x246a18(0x99c)]=[],this[_0x246a18(0x3ec)]=!![];return;}this[_0x246a18(0x3ec)]=![];}[_0x3ee7d6(0x972)](){const _0x5eb45b=_0x3ee7d6;return this['asyncStorageReadBuffer'][_0x5eb45b(0x63b)]();}async[_0x3ee7d6(0x17f)](_0x700f09){const _0xbc3a06=_0x3ee7d6;await this[_0xbc3a06(0x172)]['appendShimSignal'](_0x700f09);if(this[_0xbc3a06(0x864)])try{if('CuzFn'!=='CuzFn')return{'ok':!![],'severity':'error','message':_0xbc3a06(0x550)+_0x42a31d+_0xbc3a06(0x8fa)+_0x1496da['name']+(_0x216e97[_0xbc3a06(0x892)]?'\x20v'+_0x253233['version']:'')+').','details':{'bundleId':_0x3d3bec,'name':_0x1b5df9[_0xbc3a06(0x4d1)],'version':_0x31288f[_0xbc3a06(0x892)]}};else this[_0xbc3a06(0x864)](_0x700f09);}catch{}}['getLatestTestIdSentinel'](){return this['latestTestIdSentinel'];}['bootWriteCounter'](){return this['bootWriteCount'];}['drainBootRequests'](){const _0x3f9767=_0x3ee7d6;return this[_0x3f9767(0x122)][_0x3f9767(0x63b)]();}['clearBootRequests'](){const _0x367e25=_0x3ee7d6;this['bootBuffer']=[],this[_0x367e25(0x907)]=0x0,this['asyncStorageReadBuffer']=[];}async[_0x3ee7d6(0x41b)](){const _0x16e369=_0x3ee7d6,_0x156b9e=this[_0x16e369(0x1a3)]??_0x12e7c7;return new Promise(_0x1db7fc=>{const _0x9c17d1=_0x16e369,_0x6c6aac=_0x5f2f42((_0x279178,_0x15563e)=>this[_0x9c17d1(0x3c0)](_0x279178,_0x15563e));_0x6c6aac['once']('error',_0x5c5366=>{const _0xfa2988=_0x9c17d1;_0x6c6aac['close'](()=>{}),_0x1db7fc({'ok':![],'port':this[_0xfa2988(0x688)],'error':_0x5c5366['message']??_0x5c5366['code']??_0xfa2988(0x252),'errorCode':_0x5c5366[_0xfa2988(0x845)]});}),_0x6c6aac['listen'](this[_0x9c17d1(0x688)],_0x156b9e,()=>{const _0x1ebb42=_0x9c17d1;this[_0x1ebb42(0x239)]=_0x6c6aac,_0x1db7fc({'ok':!![],'port':this['port']});});});}['hasReceivedDeviceContact'](){const _0x33b373=_0x3ee7d6;return this[_0x33b373(0x2ff)]!==null;}[_0x3ee7d6(0x5b3)](){return this['server']!==null;}async['ensureListening'](){const _0x369bb4=_0x3ee7d6;if(this[_0x369bb4(0x239)]!==null)return{'ok':!![],'port':this[_0x369bb4(0x688)]};return this[_0x369bb4(0x41b)]();}async[_0x3ee7d6(0x2bf)](){const _0x5b0c88=_0x3ee7d6,_0x194743=this['server'];if(!_0x194743)return;this[_0x5b0c88(0x239)]=null,await new Promise(_0x4d2b70=>_0x194743[_0x5b0c88(0x4ae)](()=>_0x4d2b70()));}async['handleForTesting'](_0x464d71){const _0x2b1e09=_0x3ee7d6;return this[_0x2b1e09(0x7e1)](_0x464d71);}[_0x3ee7d6(0x2d5)](){const _0x1485bb=_0x3ee7d6;return this[_0x1485bb(0x51c)]();}[_0x3ee7d6(0x583)](_0x5557b7){this['resolveCommandAck'](_0x5557b7);}async['handle'](_0x388556,_0x328ea5){const _0x5e238c=_0x3ee7d6;this['lastContactAt']=Date['now']();if(_0x388556[_0x5e238c(0x476)]===_0x5e238c(0x760)&&_0x388556['url']==='/commands'){const _0x386b50=this['drainCommands']();_0x328ea5[_0x5e238c(0x263)]=0xc8,_0x328ea5[_0x5e238c(0x520)](_0x5e238c(0x6e9),'application/json'),_0x328ea5[_0x5e238c(0x452)](JSON[_0x5e238c(0x2c1)]({'commands':_0x386b50}));return;}if(_0x388556['method']===_0x5e238c(0x2a0)&&_0x388556[_0x5e238c(0x72e)]==='/commands/ack'){const _0x590c28=await this['readBody'](_0x388556)[_0x5e238c(0x4ba)](_0x3d12c5=>({'tooLarge':![],'err':_0x3d12c5}));if(_0x5e238c(0x9b6)in _0x590c28||_0x590c28[_0x5e238c(0x144)]){_0x328ea5[_0x5e238c(0x263)]=0x190,_0x328ea5[_0x5e238c(0x452)](JSON[_0x5e238c(0x2c1)]({'ok':![]}));return;}try{const _0x296912=JSON['parse'](_0x590c28[_0x5e238c(0x5d9)]);typeof _0x296912['id']==='string'&&this[_0x5e238c(0x8fc)]({'id':_0x296912['id'],'ok':_0x296912['ok']===!![],'detail':typeof _0x296912['detail']==='string'?_0x296912[_0x5e238c(0x6d9)]:void 0x0});}catch{}_0x328ea5['statusCode']=0xcc,_0x328ea5[_0x5e238c(0x452)]();return;}if(_0x388556['method']!==_0x5e238c(0x2a0)||_0x388556[_0x5e238c(0x72e)]!==_0x5e238c(0x76c)){_0x328ea5[_0x5e238c(0x263)]=0x194,_0x328ea5['end']();return;}const _0x734b5a=await this[_0x5e238c(0x8e9)](_0x388556)['catch'](_0x4272e8=>({'tooLarge':![],'err':_0x4272e8}));if('err'in _0x734b5a){_0x328ea5['statusCode']=0x190,_0x328ea5[_0x5e238c(0x452)](JSON[_0x5e238c(0x2c1)]({'ok':![],'error':_0x734b5a[_0x5e238c(0x9b6)]['message']}));return;}if(_0x734b5a['tooLarge']){_0x328ea5[_0x5e238c(0x263)]=0x19d,_0x328ea5[_0x5e238c(0x452)](JSON[_0x5e238c(0x2c1)]({'ok':![],'error':_0x5e238c(0x6ed)}));return;}let _0x459723;try{_0x459723=JSON[_0x5e238c(0x229)](_0x734b5a[_0x5e238c(0x5d9)]);}catch(_0x3c4df1){_0x328ea5[_0x5e238c(0x263)]=0x190,_0x328ea5['end'](JSON['stringify']({'ok':![],'error':_0x3c4df1['message']}));return;}const _0x4acf0c=await this[_0x5e238c(0x7e1)](_0x459723);if(!_0x4acf0c['ok']){_0x328ea5['statusCode']=0x190,_0x328ea5['end'](JSON['stringify'](_0x4acf0c));return;}_0x328ea5[_0x5e238c(0x263)]=0xcc,_0x328ea5[_0x5e238c(0x452)]();}async[_0x3ee7d6(0x7e1)](_0x56155a){const _0x4dff57=_0x3ee7d6;if(!_0x56155a||typeof _0x56155a!==_0x4dff57(0x5ab))return{'ok':![],'error':'payload\x20must\x20be\x20an\x20object'};const _0xb01165=_0x56155a;if(_0xb01165['kind']===_0x4ef1fa)return this[_0x4dff57(0x23c)](_0xb01165);if(_0xb01165['kind']===_0x5722a3){if(_0x4dff57(0x291)===_0x4dff57(0x1ca)){_0xf2912d=_0x478185;const _0x5b3197=_0x35de17(_0x2f3090);if(_0x5e2568(_0x38bd7a,_0x5b3197,_0x478824[_0x4dff57(0x472)]))return null;}else return this[_0x4dff57(0x17c)](_0xb01165);}if(_0xb01165[_0x4dff57(0x3ea)]===_0x286528)return this[_0x4dff57(0x7be)](_0xb01165);if(_0xb01165['kind']===_0x5cda45)return this['latestTestIdSentinel']={'pluginVersion':typeof _0xb01165[_0x4dff57(0x424)]==='string'?_0xb01165['pluginVersion']:void 0x0,'babelConfigHash':typeof _0xb01165['babelConfigHash']==='string'?_0xb01165['babelConfigHash']:void 0x0,'timestampMs':Date['now']()},{'ok':!![]};if(typeof _0xb01165[_0x4dff57(0x92e)]!=='string'||_0xb01165[_0x4dff57(0x92e)]['length']===0x0)return{'ok':![],'error':'message\x20is\x20required'};if(typeof _0xb01165[_0x4dff57(0x3ea)]!=='string'||!_0x44e8fb[_0x4dff57(0x21c)](_0xb01165['kind']))return{'ok':![],'error':_0x4dff57(0x956)+String(_0xb01165[_0x4dff57(0x3ea)])};const _0x24d064=typeof _0xb01165['timestampMs']==='number'&&Number['isFinite'](_0xb01165[_0x4dff57(0x8e7)])?new Date(_0xb01165['timestampMs'])['toISOString']():new Date()['toISOString'](),_0x1b90a3={'message':_0xb01165['message'],'stack':typeof _0xb01165['stack']===_0x4dff57(0x7fd)?_0xb01165['stack']:'','timestamp':_0x24d064,'kind':_0xb01165[_0x4dff57(0x3ea)],'url':typeof _0xb01165[_0x4dff57(0x72e)]==='string'?_0xb01165[_0x4dff57(0x72e)]:void 0x0,'status':typeof _0xb01165['status']==='number'?_0xb01165[_0x4dff57(0x9d0)]:void 0x0,'method':typeof _0xb01165[_0x4dff57(0x476)]==='string'?_0xb01165[_0x4dff57(0x476)]:void 0x0,'durationMs':typeof _0xb01165['durationMs']===_0x4dff57(0x513)?_0xb01165['durationMs']:void 0x0,'elementKey':typeof _0xb01165[_0x4dff57(0x915)]==='string'?_0xb01165[_0x4dff57(0x915)]:void 0x0,'prevText':typeof _0xb01165[_0x4dff57(0x4a2)]==='string'?_0xb01165[_0x4dff57(0x4a2)]:void 0x0,'nextText':typeof _0xb01165['nextText']===_0x4dff57(0x7fd)?_0xb01165[_0x4dff57(0x63f)]:void 0x0};await this[_0x4dff57(0x172)]['appendShimSignal'](_0x1b90a3);if(this[_0x4dff57(0x864)])try{this[_0x4dff57(0x864)](_0x1b90a3);}catch{}return{'ok':!![]};}[_0x3ee7d6(0x23c)](_0x4dc154){const _0x1a153d=_0x3ee7d6;if(!this['bootCaptureMode'])return{'ok':!![]};if(typeof _0x4dc154[_0x1a153d(0x72e)]!==_0x1a153d(0x7fd)||_0x4dc154['url'][_0x1a153d(0x945)]===0x0)return{'ok':![],'error':'boot-request\x20requires\x20`url`'};const _0x4610e5=typeof _0x4dc154['method']===_0x1a153d(0x7fd)&&_0x4dc154[_0x1a153d(0x476)][_0x1a153d(0x945)]>0x0?_0x4dc154[_0x1a153d(0x476)][_0x1a153d(0x250)]():'GET',_0x89e2ff=typeof _0x4dc154['timestampMs']==='number'&&Number[_0x1a153d(0x996)](_0x4dc154['timestampMs'])?new Date(_0x4dc154['timestampMs'])['toISOString']():new Date()['toISOString'](),_0xa09736=_0x2f700c(_0x4dc154[_0x1a153d(0x72e)]);let _0xc4d5dd;if(typeof _0x4dc154[_0x1a153d(0x700)]===_0x1a153d(0x7fd)&&_0x4dc154[_0x1a153d(0x700)][_0x1a153d(0x945)]>0x0){const _0xe54734=Buffer['byteLength'](_0x4dc154['responseBody'],'utf8');if(_0xe54734<=_0x310035)_0xc4d5dd=_0x4dc154[_0x1a153d(0x700)];else{const _0x1d8104='…',_0x340157=Buffer[_0x1a153d(0x7f1)](_0x1d8104,_0x1a153d(0x140)),_0xc08a8c=Buffer[_0x1a153d(0x70f)](_0x4dc154[_0x1a153d(0x700)],'utf8')[_0x1a153d(0x4be)](0x0,_0x310035-_0x340157)['toString'](_0x1a153d(0x140))[_0x1a153d(0x27d)](/�+$/,'');_0xc4d5dd=''+_0xc08a8c+_0x1d8104;}}const _0x38c2bf={'method':_0x4610e5,'path':_0xa09736,...typeof _0x4dc154['status']===_0x1a153d(0x513)?{'status':_0x4dc154[_0x1a153d(0x9d0)]}:{},...typeof _0x4dc154[_0x1a153d(0x8ad)]==='number'?{'durationMs':_0x4dc154['durationMs']}:{},..._0xc4d5dd?{'response':_0xc4d5dd}:{},'timestamp':_0x89e2ff},_0x2bf194=_0xc4d5dd?Buffer['byteLength'](_0xc4d5dd,'utf8'):0x0;this[_0x1a153d(0x122)][_0x1a153d(0x496)](_0x38c2bf),this[_0x1a153d(0x907)]+=_0x2bf194,this[_0x1a153d(0x15f)]+=0x1;while(this['bootBuffer'][_0x1a153d(0x945)]>_0x135476||this['bootBufferBytes']>_0x25470e){const _0x1f31e2=this['bootBuffer']['shift']();if(!_0x1f31e2)break;this[_0x1a153d(0x907)]-=_0x1f31e2['response']?Buffer[_0x1a153d(0x7f1)](_0x1f31e2[_0x1a153d(0x856)],_0x1a153d(0x140)):0x0;if(this['bootBufferBytes']<0x0)this[_0x1a153d(0x907)]=0x0;}return{'ok':!![]};}['recordAsyncStorageRead'](_0x4783ee){const _0x5e195a=_0x3ee7d6;if(!this['bootCaptureMode'])return{'ok':!![]};if(typeof _0x4783ee['key']!==_0x5e195a(0x7fd)||_0x4783ee['key'][_0x5e195a(0x945)]===0x0)return{'ok':![],'error':_0x5e195a(0x5f6)};const _0x1c04dc=typeof _0x4783ee[_0x5e195a(0x8e7)]===_0x5e195a(0x513)&&Number['isFinite'](_0x4783ee['timestampMs'])?new Date(_0x4783ee['timestampMs'])['toISOString']():new Date()[_0x5e195a(0x4a0)](),_0x151d21=typeof _0x4783ee['message']==='string'&&_0x4783ee['message']['length']>0x0?_0x4783ee[_0x5e195a(0x92e)]:'unknown',_0x5277dc={'key':_0x4783ee[_0x5e195a(0x2fe)],'valueShape':_0x151d21,'timestamp':_0x1c04dc,...typeof _0x4783ee['valueHash']===_0x5e195a(0x7fd)&&_0x4783ee[_0x5e195a(0x4c9)][_0x5e195a(0x945)]>0x0?{'valueHash':_0x4783ee['valueHash']}:{}};this[_0x5e195a(0x99c)]['push'](_0x5277dc);while(this[_0x5e195a(0x99c)][_0x5e195a(0x945)]>_0x36f438){this['asyncStorageReadBuffer'][_0x5e195a(0x936)]();}return{'ok':!![]};}[_0x3ee7d6(0x7be)](_0x52bc57){const _0x4b55a6=_0x3ee7d6;if(typeof _0x52bc57[_0x4b55a6(0x9e7)]!=='boolean')return{'ok':![],'error':_0x4b55a6(0x4d8)};if(typeof _0x52bc57['storageAckCount']!==_0x4b55a6(0x513)||!Number[_0x4b55a6(0x996)](_0x52bc57['storageAckCount'])){if('axuaU'===_0x4b55a6(0x267))return{'ok':![],'error':'storage-ack\x20requires\x20finite\x20`storageAckCount`'};else throw new _0x53819c('unsupported-image-format',_0x4b55a6(0x131),_0x4b55a6(0x542));}const _0x326fd4={'success':_0x52bc57['storageAckSuccess'],'count':_0x52bc57[_0x4b55a6(0x543)],...Array['isArray'](_0x52bc57[_0x4b55a6(0x7e9)])?{'keys':_0x52bc57['storageAckKeys']['filter'](_0x17cfbf=>typeof _0x17cfbf===_0x4b55a6(0x7fd))}:{}},_0x5720de=typeof _0x52bc57['storageAckRequestId']===_0x4b55a6(0x7fd)&&_0x52bc57[_0x4b55a6(0x5f9)][_0x4b55a6(0x945)]>0x0?_0x52bc57[_0x4b55a6(0x5f9)]:void 0x0;if(_0x5720de){const _0x3dc591=this[_0x4b55a6(0x717)][_0x4b55a6(0x47a)](_0x5720de);return _0x3dc591&&(this[_0x4b55a6(0x717)][_0x4b55a6(0x14d)](_0x5720de),_0x3dc591(_0x326fd4)),{'ok':!![]};}const _0x22f7bf=this[_0x4b55a6(0x2f6)];return _0x22f7bf&&(this['pendingStorageAckResolver']=null,_0x22f7bf(_0x326fd4)),{'ok':!![]};}[_0x3ee7d6(0x51b)](_0x151be8,_0x445d2c){return new Promise((_0x15d254,_0x4c4296)=>{let _0x571c00=null;const _0x5cd713=setTimeout(()=>{const _0xdc0cd2=_0x4a5a;if(_0x445d2c)this['pendingStorageAckResolvers'][_0xdc0cd2(0x47a)](_0x445d2c)===_0x571c00&&this[_0xdc0cd2(0x717)]['delete'](_0x445d2c);else this[_0xdc0cd2(0x2f6)]===_0x571c00&&(this['pendingStorageAckResolver']=null);_0x4c4296(new Error('waitForStorageAck\x20timed\x20out\x20after\x20'+_0x151be8+'ms'));},_0x151be8);_0x571c00=_0x33af2f=>{clearTimeout(_0x5cd713),_0x15d254(_0x33af2f);},_0x445d2c?this['pendingStorageAckResolvers']['set'](_0x445d2c,_0x571c00):this['pendingStorageAckResolver']=_0x571c00;});}['readBody'](_0x1fd4c4){return new Promise((_0x368639,_0x1fb3cb)=>{const _0x5a4d31=_0x4a5a;let _0x386b98=0x0;const _0x8823d0=[];_0x1fd4c4['on']('data',_0x4e8807=>{const _0xb7d4e0=_0x4a5a;_0x386b98+=_0x4e8807['length'];if(_0x386b98>_0x78fdbd){_0x8823d0[_0xb7d4e0(0x945)]=0x0,_0x368639({'text':'','tooLarge':!![]}),_0x1fd4c4['removeAllListeners']('data'),_0x1fd4c4[_0xb7d4e0(0x9ed)](_0xb7d4e0(0x452)),_0x1fd4c4['removeAllListeners'](_0xb7d4e0(0x125)),_0x1fd4c4['on'](_0xb7d4e0(0x978),()=>void 0x0),_0x1fd4c4['on'](_0xb7d4e0(0x452),()=>void 0x0),_0x1fd4c4['on']('error',()=>void 0x0);return;}_0x8823d0[_0xb7d4e0(0x496)](_0x4e8807);}),_0x1fd4c4['on'](_0x5a4d31(0x452),()=>_0x368639({'text':Buffer[_0x5a4d31(0xe2)](_0x8823d0)['toString']('utf-8'),'tooLarge':![]})),_0x1fd4c4['on']('error',_0x1fb3cb);});}};function _0x2f700c(_0x582c50){try{const _0x1e8cd8=new URL(_0x582c50,'http://localhost');return''+_0x1e8cd8['pathname']+_0x1e8cd8['search'];}catch{return _0x582c50;}}var _0x18e87e='No\x20runtime\x20signals\x20have\x20reached\x20Ceraph\x20from\x20the\x20device\x20this\x20session\x20—\x20in-app\x20runtime\x20errors\x20(uncaught\x20JS\x20exceptions,\x20failed\x20network\x20requests)\x20are\x20NOT\x20being\x20captured\x20in\x20your\x20results.\x20If\x20you\x20added\x20the\x20Ceraph\x20shim\x20(installCeraph),\x20the\x20device\x20can\x27t\x20reach\x20port\x208101\x20on\x20this\x20Mac:\x20check\x20your\x20firewall\x20and\x20that\x20the\x20device\x20and\x20Mac\x20are\x20on\x20the\x20same\x20network\x20(the\x20shim\x20posts\x20to\x20the\x20Mac\x27s\x20LAN\x20IP\x20discovered\x20from\x20the\x20Metro\x20dev-server\x20URL).\x20Fix\x20that\x20and\x20re-run\x20to\x20capture\x20them.\x20If\x20you\x20haven\x27t\x20added\x20the\x20shim,\x20you\x20can\x20ignore\x20this.',_0x12d485=_0x3ee7d6(0x6f5),_0x5bd08f='No\x20runtime\x20signals\x20reached\x20this\x20session\x20directly:\x20another\x20process\x20holds\x20the\x20device-signal\x20port\x20(8101)\x20—\x20usually\x20a\x20second\x20Ceraph\x20MCP,\x20but\x20possibly\x20an\x20unrelated\x20server.\x20If\x20it\x27s\x20a\x20Ceraph\x20instance\x20on\x20the\x20SAME\x20project,\x20in-app\x20runtime\x20errors\x20still\x20reach\x20you\x20via\x20the\x20shared\x20.rn-errors.json;\x20otherwise\x20(a\x20different\x20Ceraph\x20project,\x20or\x20a\x20non-Ceraph\x20process)\x20they\x20won\x27t\x20appear\x20here.\x20To\x20capture\x20them\x20here,\x20free\x20port\x208101\x20(lsof\x20-nP\x20-iTCP:8101)\x20—\x20this\x20session\x20reclaims\x20it\x20automatically\x20once\x20it\x27s\x20released.';function _0x4614e8(_0x4a528b,_0x165fff,_0x149b9a){const _0x1396a0=_0x3ee7d6;if(_0x4a528b)return{'entry':null,'advisedStatus':_0x165fff};if(_0x165fff===_0x149b9a)return{'entry':null,'advisedStatus':_0x165fff};const _0x23f0cb=_0x149b9a==='port-conflict'?_0x5bd08f:_0x149b9a===_0x1396a0(0x236)?_0x12d485:_0x18e87e;return{'entry':{'type':_0x1396a0(0x5d9),'text':_0x23f0cb},'advisedStatus':_0x149b9a};}var _0x346e1e=0.12,_0x26d57b=0x3a98;function _0x117253(_0x177f9e){const _0x561a15=_0x3ee7d6;if(!_0x177f9e)return![];const _0x45f2bb=[_0x177f9e];while(_0x45f2bb[_0x561a15(0x945)]>0x0){if('geKQM'!==_0x561a15(0x29e)){const _0x4e6417=_0x45f2bb['pop'](),_0x5e5da9=_0x4e6417['rawIdentifier'];if(typeof _0x5e5da9==='string'&&_0x5e5da9[_0x561a15(0x17e)]()['includes'](_0x561a15(0x67f)))return!![];if(Array[_0x561a15(0x246)](_0x4e6417['children'])){for(const _0x581a01 of _0x4e6417[_0x561a15(0x9c3)])_0x45f2bb['push'](_0x581a01);}}else return _0x55e96a('rn_start',_0x43de35);}return![];}var _0x5b745d=new Set([_0x3ee7d6(0x35d),'reload',_0x3ee7d6(0x197),'minimize']),_0x42562c=0xfa0;function _0x560542(_0x56b39d){const _0x106ae6=_0x3ee7d6;if(!_0x56b39d)return null;const _0xb52dc7=[],_0x3496dc=new Set(),_0x528625=[{'node':_0x56b39d,'inRedbox':![]}];while(_0x528625[_0x106ae6(0x945)]>0x0){if(_0x106ae6(0x8f4)===_0x106ae6(0x8f4)){const {node:_0xd91930,inRedbox:_0x4bb203}=_0x528625['pop'](),_0x59fa18=_0xd91930[_0x106ae6(0x5ae)],_0x22629c=_0x4bb203||typeof _0x59fa18==='string'&&_0x59fa18['toLowerCase']()[_0x106ae6(0x83f)](_0x106ae6(0x67f));if(_0x22629c)for(const _0x40f0de of[_0xd91930[_0x106ae6(0x84f)],_0xd91930[_0x106ae6(0x10d)],_0xd91930['name']]){const _0x48056e=typeof _0x40f0de==='string'?_0x40f0de['trim']():'';if(!_0x48056e||_0x5b745d[_0x106ae6(0x21c)](_0x48056e[_0x106ae6(0x17e)]())||_0x3496dc[_0x106ae6(0x21c)](_0x48056e))continue;_0x3496dc['add'](_0x48056e),_0xb52dc7[_0x106ae6(0x496)](_0x48056e);}if(Array['isArray'](_0xd91930[_0x106ae6(0x9c3)]))for(const _0x2b16ed of _0xd91930['children']){_0x528625['push']({'node':_0x2b16ed,'inRedbox':_0x22629c});}}else{if(_0x232e5b===_0x218f7c)return delete _0x27d753[_0x106ae6(0x389)],{'changed':!![],'previousScheme':_0x3398b3,'nextScheme':void 0x0};return{'changed':![],'previousScheme':_0xc9a90b,'nextScheme':_0x44b2c0};}}if(_0xb52dc7[_0x106ae6(0x945)]===0x0)return null;const _0x251c40=_0xb52dc7['join']('\x0a')['trim']();if(!_0x251c40)return null;return _0x251c40[_0x106ae6(0x945)]>_0x42562c?_0x251c40[_0x106ae6(0x63b)](0x0,_0x42562c)+'…':_0x251c40;}var _0x5d2ab2=class{constructor(_0x546464,_0x111ab3={}){const _0x506e2c=_0x3ee7d6;this[_0x506e2c(0x5e9)]=_0x546464,this['intervalMs']=_0x111ab3[_0x506e2c(0x174)]??_0x26d57b,this['onRedbox']=_0x111ab3[_0x506e2c(0x1a4)];}[_0x3ee7d6(0x2e3)]=null;['ticking']=![];['intervalMs'];['onRedbox'];[_0x3ee7d6(0x34c)]=null;[_0x3ee7d6(0x41b)](){const _0x3d052f=_0x3ee7d6;if(this['timer'])return;this['timer']=setInterval(()=>{const _0x1e8c50=_0x4a5a;void this[_0x1e8c50(0x5e4)]();},this[_0x3d052f(0x174)]),this['timer'][_0x3d052f(0x60e)]?.();}[_0x3ee7d6(0x2bf)](){const _0x46eeda=_0x3ee7d6;this[_0x46eeda(0x2e3)]&&(clearInterval(this['timer']),this['timer']=null);}async['tick'](){const _0x3849aa=_0x3ee7d6;if(this[_0x3849aa(0x339)])return![];this['ticking']=!![];try{if(!await this['screen']['isAvailable']())return![];const _0x219d12=await this['screen'][_0x3849aa(0x771)]();if(!_0x117253(_0x219d12)){if('IGFMZ'!==_0x3849aa(0x692))return this['lastRedboxSignature']=null,![];else _0x4d30e2=_0x4f6eb1['filter'](_0x55e54e=>_0x55e54e['id']===_0x418375['id']&&_0x55e54e['tier']==='on-demand');}if(this['onRedbox']){const _0x347fa7=_0x560542(_0x219d12);if(_0x347fa7&&_0x347fa7!==this['lastRedboxSignature']){this[_0x3849aa(0x34c)]=_0x347fa7;try{await this['onRedbox'](_0x347fa7);}catch{}}}const {width:_0x36cad1,height:_0x374202}=await this[_0x3849aa(0x5e9)]['getWindowSize'](),_0x919bbe=await this['screen'][_0x3849aa(0x454)](Math['round'](_0x36cad1/0x2),Math[_0x3849aa(0x23a)](_0x374202*_0x346e1e),![]);return _0x919bbe['success'];}catch{return![];}finally{this['ticking']=![];}}},_0x22d8ef=[{'id':'camera','titlePattern':/Would Like to Access the Camera/i,'acceptButtons':['OK','Allow']},{'id':_0x3ee7d6(0x76e),'titlePattern':/Would Like to Access the Microphone/i,'acceptButtons':['OK',_0x3ee7d6(0x38a)]},{'id':'photos','titlePattern':/Would Like to Access Your Photos/i,'acceptButtons':[_0x3ee7d6(0x783),'Allow\x20Full\x20Access',_0x3ee7d6(0x38a)]},{'id':'location','titlePattern':/Allow .* to Use Your Location\??/i,'acceptButtons':['Allow\x20While\x20Using\x20App',_0x3ee7d6(0x26f),_0x3ee7d6(0x38a)]},{'id':'notifications','titlePattern':/Would Like to Send You Notifications/i,'acceptButtons':['Allow']},{'id':_0x3ee7d6(0x557),'titlePattern':/Would Like to Find and Connect to Devices on Your Local Network/i,'acceptButtons':['Allow','OK']},{'id':'bluetooth','titlePattern':/Would Like to Use Bluetooth/i,'acceptButtons':['OK',_0x3ee7d6(0x38a)]},{'id':_0x3ee7d6(0x90a),'titlePattern':/Allow .* to track your activity|would like permission to track/i,'acceptButtons':[_0x3ee7d6(0x38a)]},{'id':'faceid','titlePattern':/Would Like to Use Face ID/i,'acceptButtons':['OK','Allow']}],_0x39612f=[/XCUIElementTypeAlert/i,/SBAlertController/i];function _0x39919d(_0x5f4509){const _0x40b10=_0x3ee7d6,_0x212dc2=String(_0x5f4509[_0x40b10(0x85c)]??'');return _0x39612f['some'](_0x2b1254=>_0x2b1254[_0x40b10(0x364)](_0x212dc2));}function _0x26463c(_0x1f572a){const _0x3ed8a1=_0x3ee7d6;if(_0x39919d(_0x1f572a))return _0x1f572a;const _0x7f5a49=_0x1f572a[_0x3ed8a1(0x9c3)];if(Array['isArray'](_0x7f5a49))for(const _0x3ee524 of _0x7f5a49){const _0x2c6881=_0x26463c(_0x3ee524);if(_0x2c6881)return _0x2c6881;}return null;}function _0x1f76ee(_0x269a99){const _0x5753db=[],_0x23ce83=[],_0x6961c2=_0x212f4e=>{const _0xfaa030=_0x4a5a;if('rrioU'!=='DJxZi'){const _0x2eb07b=String(_0x212f4e[_0xfaa030(0x85c)]??''),_0x59b466=String(_0x212f4e[_0xfaa030(0x10d)]??_0x212f4e['name']??''),_0x208b25=String(_0x212f4e[_0xfaa030(0x84f)]??'');if(/XCUIElementTypeStaticText/i[_0xfaa030(0x364)](_0x2eb07b)){const _0x5584db=_0x59b466||_0x208b25;if(_0x5584db)_0x5753db['push'](_0x5584db);}else{if(/XCUIElementTypeButton/i['test'](_0x2eb07b)){if('PdFkg'!=='PdFkg'){if(!_0x4f5e7b)return null;}else{if(_0x59b466)_0x23ce83[_0xfaa030(0x496)]({'label':_0x59b466,'element':_0x212f4e});}}else{if(!_0x2eb07b){}}}const _0x3064c9=_0x212f4e[_0xfaa030(0x9c3)];if(Array['isArray'](_0x3064c9)){for(const _0x4b2a8a of _0x3064c9)_0x6961c2(_0x4b2a8a);}}else _0x162cdf['push']({'code':'content-type-mismatch','message':_0xfaa030(0x62a)+_0x411136+'\x27\x20does\x20not\x20match\x20detected\x20\x27'+_0x583d58['mime']+'\x27\x20—\x20trusting\x20the\x20bytes.'});};return _0x6961c2(_0x269a99),{'texts':_0x5753db,'buttons':_0x23ce83};}var _0x43d6af=class{[_0x3ee7d6(0x5e9)];[_0x3ee7d6(0x613)];['onDialog'];constructor(_0x483afa){const _0x474389=_0x3ee7d6;this['screen']=_0x483afa['screen'],this[_0x474389(0x613)]=_0x483afa['mode'],this['onDialog']=_0x483afa[_0x474389(0x6aa)];}['getMode'](){return this['mode'];}[_0x3ee7d6(0x612)](_0x4b25eb){const _0x12b894=_0x3ee7d6;this[_0x12b894(0x613)]=_0x4b25eb;}async[_0x3ee7d6(0x8d7)](){const _0x444170=_0x3ee7d6;if(this['mode']==='off')return'CGEEE'===_0x444170(0x900)?{'success':![],'matchCount':0x0}:{'handled':![]};const _0x1f7d44=await this['screen']['getSource']()['catch'](()=>void 0x0);if(!_0x1f7d44?.[_0x444170(0x42d)]||!_0x1f7d44[_0x444170(0x827)])return{'handled':![]};const _0x47085c=_0x26463c(_0x1f7d44['source']);if(!_0x47085c)return{'handled':![]};const {texts:_0x42bd99,buttons:_0x4f5b65}=_0x1f76ee(_0x47085c);if(_0x42bd99['length']===0x0&&_0x4f5b65['length']===0x0)return{'handled':![]};const _0x5d93b4=_0x42bd99[0x0]??'',_0x274c44=_0x42bd99['slice'](0x1)[_0x444170(0x221)]('\x20'),_0x3e4748=_0x22d8ef[_0x444170(0x7bd)](_0xa4d2cf=>_0xa4d2cf['titlePattern'][_0x444170(0x364)](_0x5d93b4));if(!_0x3e4748)return{'handled':![]};let _0x34d629='accept';if(this[_0x444170(0x613)]==='ask'){if(this['onDialog'])try{_0x34d629=await this[_0x444170(0x6aa)]({'title':_0x5d93b4,'body':_0x274c44});}catch{_0x34d629=_0x444170(0xf0);}}const _0x3ebf73=_0x34d629===_0x444170(0xf0)?_0x3e4748[_0x444170(0x701)]:_0x3e4748['denyButtons']??['Don\x27t\x20Allow',_0x444170(0x88c)],_0x51bba2=_0x3ebf73['map'](_0x3020ff=>_0x4f5b65[_0x444170(0x7bd)](_0x3f86fa=>_0x3f86fa[_0x444170(0x10d)]['toLowerCase']()===_0x3020ff[_0x444170(0x17e)]()))['find'](_0x33a5ba=>!!_0x33a5ba);if(!_0x51bba2)return{'handled':![],'dialog':{'title':_0x5d93b4,'body':_0x274c44,'action':_0x34d629}};const _0xae2236=await this['screen']['findAndTap']({'accessibilityLabel':_0x51bba2[_0x444170(0x10d)]});if(!_0xae2236['success'])return{'handled':![],'dialog':{'title':_0x5d93b4,'body':_0x274c44,'action':_0x34d629}};return{'handled':!![],'dialog':{'title':_0x5d93b4,'body':_0x274c44,'action':_0x34d629}};}};function _0x58a148(_0xe512fe){const _0x19aafa=_0x3ee7d6,_0x402e82=(_0xe512fe??'')['toLowerCase']();if(_0x402e82==='off'||_0x402e82===_0x19aafa(0x25c)||_0x402e82==='0')return _0x19aafa(0x74c);if(_0x402e82==='ask')return _0x19aafa(0x26d);return _0x19aafa(0x181);}import{promises as _0x435b17}from'fs';import{homedir as _0x28dcdc}from'os';import{join as _0x2097fa}from'path';var _0x1c77d4='__keychain__';function _0x4562b5(){return _0x2097fa(_0x28dcdc(),'.ceraph','auth.json');}function _0x3d5351(_0x5e18b9){const _0x164dbd=_0x3ee7d6;if(!_0x5e18b9||typeof _0x5e18b9!==_0x164dbd(0x5ab))return![];const _0x34c62c=_0x5e18b9;if(typeof _0x34c62c[_0x164dbd(0x315)]!=='string'||_0x34c62c[_0x164dbd(0x315)][_0x164dbd(0x945)]===0x0)return![];if(typeof _0x34c62c['expiresAt']!==_0x164dbd(0x513))return![];if(_0x34c62c['githubUser']!==void 0x0){if(!_0x34c62c[_0x164dbd(0x2db)]||typeof _0x34c62c[_0x164dbd(0x2db)]!==_0x164dbd(0x5ab))return![];const _0x2fd09c=_0x34c62c['githubUser'];if(typeof _0x2fd09c[_0x164dbd(0x562)]!==_0x164dbd(0x7fd)||typeof _0x2fd09c['id']!==_0x164dbd(0x513))return![];}if(typeof _0x34c62c[_0x164dbd(0x533)]!=='string')return![];return!![];}function _0x48e557(_0x482258){if(_0x482258['githubUser'])return _0x482258;return{..._0x482258,'githubUser':{'login':'','id':0x0}};}async function _0x9b2b8c(_0x3cda13={}){const _0x58bd1b=_0x3ee7d6,_0x7e7d16=_0x3cda13[_0x58bd1b(0x4e3)]??_0x4562b5();let _0x101e92;try{_0x101e92=await _0x435b17['readFile'](_0x7e7d16,'utf-8');}catch{return null;}let _0x12259b;try{_0x12259b=JSON[_0x58bd1b(0x229)](_0x101e92);}catch{return null;}if(!_0x3d5351(_0x12259b))return null;if(_0x12259b[_0x58bd1b(0x156)]>0x0&&_0x12259b[_0x58bd1b(0x156)]<Date['now']())return null;const _0x82878b=_0x48e557(_0x12259b);if(_0x82878b['accessToken']===_0x1c77d4)return null;return _0x82878b;}var _0x42d825=new Set(['localhost','127.0.0.1','[::1]',_0x3ee7d6(0x89d),'[::ffff:7f00:1]',_0x3ee7d6(0x119)]);function _0xaf74b4(_0x4a7d7b){const _0x5ae6ef=_0x3ee7d6;let _0x36b7fa;try{_0x36b7fa=new URL(_0x4a7d7b);}catch{throw new Error(_0x5ae6ef(0x541)+_0x4a7d7b+'\x22\x20—\x20must\x20be\x20an\x20absolute\x20URL\x20with\x20a\x20scheme\x20(e.g.\x20https://ceraph.dev/api/mcp\x20or\x20http://localhost:3000/api/mcp).');}if(_0x36b7fa[_0x5ae6ef(0x62b)]===_0x5ae6ef(0x816))return _0x4a7d7b;if(_0x36b7fa['protocol']===_0x5ae6ef(0x503)){const _0x32d129=_0x36b7fa[_0x5ae6ef(0x323)][_0x5ae6ef(0x17e)]();if(_0x42d825[_0x5ae6ef(0x21c)](_0x32d129))return _0x4a7d7b;throw new Error(_0x5ae6ef(0x28a)+_0x4a7d7b+'\x22.\x20Use\x20https://\x20for\x20remote\x20endpoints\x20(http://\x20is\x20only\x20allowed\x20for\x20localhost\x20/\x20127.0.0.1).');}throw new Error(_0x5ae6ef(0x332)+_0x36b7fa['protocol']+_0x5ae6ef(0x491)+_0x4a7d7b+_0x5ae6ef(0x637));}var _0x2ea0c5=process.env.CERAPH_CATALOG_ENDPOINT??'https://ceraph.dev/api/catalog/current',_0x27161e=process.env.CERAPH_CATALOG_PUBLIC_KEY_ENDPOINT??_0x3ee7d6(0x1ff);async function _0x45c4be(_0x1c0e2b={}){const _0x135abe=_0x3ee7d6,_0x5167bf=_0x1c0e2b[_0x135abe(0x183)]??(_0x1b0ca2=>process[_0x135abe(0x870)][_0x135abe(0x65a)](_0x1b0ca2+'\x0a'));try{if(_0x135abe(0x3e2)!=='XCZXe'){const _0x56c012=_0x1c0e2b['endpoint']??_0x2ea0c5,_0x468153=_0x1c0e2b['publicKeyEndpoint']??_0x27161e;let _0xe01d59=null;try{_0xaf74b4(_0x56c012),_0xaf74b4(_0x468153);}catch(_0x1585c2){_0xe01d59=_0x1585c2 instanceof Error?_0x1585c2['message']:String(_0x1585c2);}const _0xb66e9c=_0xe01d59?null:await((async()=>{const _0x318fd9=_0x135abe,_0x2b589d=_0x1c0e2b['publicKey']??await _0xba3815({'fetchImpl':_0x1c0e2b['fetchImpl'],'timeoutMs':_0x1c0e2b[_0x318fd9(0x5aa)]??0x1388,'log':_0x5167bf,'endpoint':_0x468153});return _0x3b7537({'endpoint':_0x56c012,'publicKey':_0x2b589d,'timeoutMs':_0x1c0e2b[_0x318fd9(0x5aa)]??0x1388,'fetchImpl':_0x1c0e2b[_0x318fd9(0x679)]});})());_0xe01d59&&_0x5167bf(_0x135abe(0x489)+_0xe01d59+')');if(_0xb66e9c){_0x2ddc55(_0xb66e9c,_0x5167bf);const _0x4cb31c=Object[_0x135abe(0x208)](_0xb66e9c[_0x135abe(0x942)])['length'],_0xa26408=_0xb66e9c['libraryCatalog']?Object[_0x135abe(0x208)](_0xb66e9c['libraryCatalog'])['length']:0x0,_0x122cb8=_0xb66e9c[_0x135abe(0x123)]?Object['keys'](_0xb66e9c[_0x135abe(0x123)])[_0x135abe(0x945)]:0x0;_0x5167bf(_0x135abe(0x687)+_0x4cb31c+'\x20versioned,\x20'+_0xa26408+_0x135abe(0x1cf)+_0x122cb8+_0x135abe(0x145));if(_0xb66e9c['droppedEntries']){const {droppedCount:_0x244db4,samples:_0x1065de}=_0xb66e9c[_0x135abe(0x507)];_0x5167bf(_0x135abe(0x10b)+_0x244db4+_0x135abe(0x2fa)+_0x1065de['join'](',\x20'));}return _0xb66e9c['catalog'];}return _0x5167bf(_0x135abe(0x8ac)),_0x21e32b(null),_0x33e0fe(null),null;}else return _0x372129={'result':_0x4675fb,'at':_0x498789[_0x135abe(0x3d1)]()},_0x3d04b3=null,_0x32b588;}catch{return null;}}function _0x2ddc55(_0x51a5d2,_0x17d965){const _0x1a8a11=_0x3ee7d6;try{_0x21e32b(_0x51a5d2[_0x1a8a11(0x58a)]??null),_0x33e0fe(_0x51a5d2[_0x1a8a11(0x123)]??null);}catch(_0x442f40){_0x17d965('[react-native-mcp]\x20Catalog\x20overlay\x20install\x20failed\x20(non-fatal):\x20'+(_0x442f40 instanceof Error?_0x442f40[_0x1a8a11(0x92e)]:String(_0x442f40)));}}async function _0xba3815(_0x3ca177){const _0x1f363b=_0x3ee7d6,_0x404e93=_0x3ca177[_0x1f363b(0x4b8)]??_0x27161e;try{_0xaf74b4(_0x404e93);}catch(_0x5b0f92){return _0x3ca177[_0x1f363b(0x183)](_0x1f363b(0x968)+(_0x5b0f92 instanceof Error?_0x5b0f92[_0x1f363b(0x92e)]:String(_0x5b0f92))+_0x1f363b(0x6d2)),_0x1034e6;}const _0x20c105=await _0x2992bc({'endpoint':_0x404e93,'timeoutMs':_0x3ca177[_0x1f363b(0x5aa)]??0x1388,'fetchImpl':_0x3ca177[_0x1f363b(0x679)]});if(_0x20c105)return _0x20c105;return _0x1034e6;}var _0x3c367e=null;function _0xe15240(_0x276070){_0x3c367e=_0x276070;}var _0x5c2202=_0x3ee7d6(0x7c4),_0x169e87=0x7530,_0x45acbf=class extends Error{['kind'];['status'];[_0x3ee7d6(0x70e)];[_0x3ee7d6(0x220)];constructor(_0x157078,_0x17c3a9,_0x214d3a,_0x531529,_0x49bcfd){const _0x412a4f=_0x3ee7d6;super(_0x214d3a),this['name']='CeraphServerError',this[_0x412a4f(0x3ea)]=_0x157078,this[_0x412a4f(0x9d0)]=_0x17c3a9,this['agentMessage']=_0x214d3a;if(_0x531529!==void 0x0)this['cause']=_0x531529;if(_0x49bcfd!==void 0x0)this['details']=_0x49bcfd;}};async function _0x30429a(_0x2bacc6){const _0x53c9e3=_0x3ee7d6,_0x2dfaf7=_0x2bacc6['status'];if(_0x2dfaf7===0x191)return new _0x45acbf('account-invalid',0x191,'Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.');if(_0x2dfaf7===0x192||_0x2dfaf7===0x193)return new _0x45acbf('tier-gated',_0x2dfaf7,_0x53c9e3(0x695));if(_0x2dfaf7===0x1ad)return new _0x45acbf(_0x53c9e3(0x6b2),0x1ad,_0x53c9e3(0x3a4));if(_0x2dfaf7>=0x1f4)return new _0x45acbf('server-error',_0x2dfaf7,_0x53c9e3(0x8c6)+_0x2dfaf7+').\x20Try\x20again\x20in\x20a\x20few\x20seconds.');let _0xb3c8dc,_0x5e4901;try{const _0x309233=await _0x2bacc6['json']();if(_0x309233&&typeof _0x309233==='object'){_0x5e4901=_0x309233;const _0x2ad13e=_0x309233,_0x437ab3=typeof _0x2ad13e['message']==='string'&&_0x2ad13e['message']||typeof _0x2ad13e[_0x53c9e3(0x125)]===_0x53c9e3(0x7fd)&&_0x2ad13e[_0x53c9e3(0x125)]||void 0x0;if(_0x437ab3)_0xb3c8dc=_0x437ab3;}}catch{}return new _0x45acbf('bad-response',_0x2dfaf7,_0x53c9e3(0x61e)+_0x2dfaf7+(_0xb3c8dc?':\x20'+_0xb3c8dc:'')+').',void 0x0,_0x5e4901);}function _0x34b518(_0x4ea934){const _0x48e11d=_0x3ee7d6,_0x531875=_0x4ea934?.[_0x48e11d(0x153)]?.['trim']()||process.env.CERAPH_API_URL?.[_0x48e11d(0x5da)]()||_0x5c2202;return _0xaf74b4(_0x531875),_0x531875[_0x48e11d(0x27d)](/\/+$/,'');}async function _0x4ace5b(_0x3ae435,_0x57196e,_0x4eec9e,_0x16ec2e){const _0x5b5c9e=_0x3ee7d6;if(!_0x4eec9e)throw new _0x45acbf(_0x5b5c9e(0x1ad),0x191,_0x5b5c9e(0x8b6));const _0x345f45=_0x16ec2e?.['timeoutMs']??_0x169e87,_0x5e485a=_0x34b518(_0x16ec2e),_0x4290b9=''+_0x5e485a+(_0x3ae435[_0x5b5c9e(0x887)]('/')?_0x3ae435:'/'+_0x3ae435),_0x55bee2=new AbortController(),_0x11f31b=setTimeout(()=>_0x55bee2[_0x5b5c9e(0x2d4)](),_0x345f45);let _0xe36186;try{_0xe36186=await fetch(_0x4290b9,{'method':_0x5b5c9e(0x2a0),'headers':{'Content-Type':'application/json','Authorization':_0x5b5c9e(0x410)+_0x4eec9e[_0x5b5c9e(0x315)]},'body':JSON[_0x5b5c9e(0x2c1)](_0x57196e??{}),'signal':_0x55bee2['signal']});}catch(_0x529f09){const _0x2f59c0=_0x529f09;if(_0x2f59c0?.['name']==='AbortError')throw new _0x45acbf(_0x5b5c9e(0x80a),0x0,_0x5b5c9e(0x8a8)+_0x345f45+_0x5b5c9e(0x7b7),_0x529f09);throw new _0x45acbf('network-error',0x0,_0x5b5c9e(0x83a),_0x529f09);}finally{clearTimeout(_0x11f31b);}if(!_0xe36186['ok'])throw await _0x30429a(_0xe36186);let _0x193d2f;try{_0x193d2f=await _0xe36186[_0x5b5c9e(0x732)]();}catch(_0x56ea2e){const _0x28e2c8=_0x56ea2e;throw new _0x45acbf(_0x5b5c9e(0x3e7),_0xe36186[_0x5b5c9e(0x9d0)],_0x5b5c9e(0x48c)+_0x3ae435+':\x20'+(_0x28e2c8?.['message']??String(_0x56ea2e)),_0x56ea2e);}if(!_0x193d2f||typeof _0x193d2f!=='object'||Array[_0x5b5c9e(0x246)](_0x193d2f))throw new _0x45acbf('bad-response',_0xe36186['status'],'Ceraph\x20server\x20returned\x20an\x20unexpected\x20response\x20shape\x20for\x20'+_0x3ae435+'\x20(expected\x20an\x20object).');return _0x193d2f;}var _0x34f228=0x5*0x3c*0x3e8,_0x386749=null,_0xdb00aa=null;function _0x242b1a(){_0x386749=null,_0xdb00aa=null;}var _0x46f1f0=_0x3ee7d6(0x7c4);function _0x56e055(_0x13523e){const _0x30e705=_0x3ee7d6,_0x1b96ec=_0x13523e['apiBase']?.['trim']()||process.env.CERAPH_API_URL?.[_0x30e705(0x5da)]()||_0x46f1f0;return _0x1b96ec[_0x30e705(0x27d)](/\/+$/,'')+_0x30e705(0x842);}async function _0x5d2ffa(_0x15a138={}){const _0x1e97d4=_0x3ee7d6;return _0x4a7d5f(_0x15a138,_0x1e97d4(0x70c));}async function _0x590cfe(_0x1ab1f5={}){return _0x4a7d5f(_0x1ab1f5,'mobilePro');}async function _0x4a7d5f(_0x4df360,_0x38fd2d){const _0x56f765=_0x3ee7d6,_0x33a208=_0x4df360['ttlMs']??_0x34f228,_0x586dfd=_0x4df360[_0x56f765(0x3d1)]??Date['now'],_0xe71a50=_0x4df360['loadAuth']??_0x9b2b8c,_0x176f8b=_0x4df360['fetcher']??((_0x408303,_0x34490d)=>globalThis['fetch'](_0x408303,_0x34490d)),_0x317667=()=>_0x38fd2d==='mobilePro'?_0xdb00aa:_0x386749,_0x27dd7a=_0x3eaa06=>{const _0x1ce97b=_0x56f765;if(_0x38fd2d===_0x1ce97b(0x5b7))_0xdb00aa=_0x3eaa06;else _0x386749=_0x3eaa06;},_0x264431=_0x317667();if(_0x264431&&_0x586dfd()-_0x264431[_0x56f765(0x8c3)]<_0x33a208)return _0x264431['value'];let _0x3d902c=![];try{const _0x439f63=await _0xe71a50();if(!_0x439f63?.['accessToken'])return _0x27dd7a({'value':![],'fetchedAt':_0x586dfd()}),![];const _0x4ca5f6=_0x56e055(_0x4df360),_0x2f66a9=await _0x176f8b(_0x4ca5f6,{'headers':{'Authorization':_0x56f765(0x410)+_0x439f63[_0x56f765(0x315)],'Accept':'application/json'}});if(!_0x2f66a9['ok'])return _0x56f765(0x740)!==_0x56f765(0x740)?[]:(_0x27dd7a({'value':![],'fetchedAt':_0x586dfd()}),![]);const _0x4a9561=await _0x2f66a9['json']();_0x3d902c=_0x4a9561!==null&&typeof _0x4a9561===_0x56f765(0x5ab)&&_0x4a9561[_0x38fd2d]===!![];}catch{if(_0x56f765(0x3f1)!=='QJakm'){try{_0x42137d['kill'](_0x56f765(0x57c));}catch{}_0x55e648(null);}else _0x3d902c=![];}return _0x27dd7a({'value':_0x3d902c,'fetchedAt':_0x586dfd()}),_0x3d902c;}import{promises as _0x225bdf}from'fs';import{join as _0x514700}from'path';import{execFile}from'child_process';import{constants as _0x44064c,promises as _0x11e024}from'fs';import{isAbsolute as _0x51e831,join as _0x44b1a8,normalize,relative as _0x4e8216}from'path';import{promisify}from'util';var _0x1cec07=promisify(execFile),_0x338a61=0xc8,_0x2a9cad=0x7a120,_0x30617a=new Set(['.tsx','.ts',_0x3ee7d6(0x9c4),'.js',_0x3ee7d6(0x7ca),_0x3ee7d6(0x713),'.json']),_0x59af82=[/(^|\/)\.env(\.|$)/,/\.pem$/,/\.key$/,/\.p12$/,/\.pfx$/,/\.keystore$/,/\.jks$/,/\.mobileprovision$/,/(^|\/)credentials?\b/,/(^|\/)secrets?\b/,/private[_-]?key/];function _0x1099f5(_0x3ec256){const _0x3b54ef=_0x3ee7d6,_0xe968a9=_0x3ec256[_0x3b54ef(0x17e)]();for(const _0x144a55 of _0x59af82){if(_0x144a55[_0x3b54ef(0x364)](_0xe968a9))return![];}const _0x9772f=_0xe968a9[_0x3b54ef(0x814)]('/')[_0x3b54ef(0x7bc)]()??'';if(/[._-]tokens?($|[._-])/[_0x3b54ef(0x364)](_0x9772f))return![];const _0x53621e=_0x3ec256['lastIndexOf']('.');if(_0x53621e<0x0)return![];const _0x2268a2=_0x3ec256[_0x3b54ef(0x63b)](_0x53621e)['toLowerCase']();return _0x30617a[_0x3b54ef(0x21c)](_0x2268a2);}async function _0x452b69(_0x32bf03,_0x13805a){const _0x2bb36f=_0x3ee7d6;try{return await _0x1cec07(_0x2bb36f(0x6a7),[_0x2bb36f(0x96f),'--verify','--quiet',_0x13805a],{'cwd':_0x32bf03}),!![];}catch{return![];}}var _0x213553=new Map();function _0x4e9ac7(_0x438f84){const _0x2b21cf=_0x3ee7d6,_0x4adfbb=_0x213553['get'](_0x438f84);if(_0x4adfbb)return _0x4adfbb;const _0x1c4fae=_0x176f6e(_0x438f84);return _0x213553[_0x2b21cf(0x3b6)](_0x438f84,_0x1c4fae),_0x1c4fae;}async function _0x176f6e(_0x4b8249){const _0x3c3025=_0x3ee7d6;try{const {stdout:_0x275606}=await _0x1cec07('git',['symbolic-ref',_0x3c3025(0x466),_0x3c3025(0x9ba)],{'cwd':_0x4b8249}),_0x57fe60=_0x275606[_0x3c3025(0x5da)]();if(_0x57fe60){const _0x47256d=_0x57fe60[_0x3c3025(0x27d)](/^origin\//,'');if(_0x47256d&&await _0x452b69(_0x4b8249,_0x47256d))return _0x47256d;if(await _0x452b69(_0x4b8249,_0x57fe60))return _0x57fe60;if(_0x47256d)return _0x47256d;}}catch{}for(const _0xc7f63d of[_0x3c3025(0x32f),'master']){if(await _0x452b69(_0x4b8249,_0xc7f63d))return _0xc7f63d;}return'HEAD';}async function _0x6b60b3(_0x348eb1){const _0xb88d7c=_0x3ee7d6;try{const {stdout:_0x156f1f}=await _0x1cec07('git',[_0xb88d7c(0x96f),'--abbrev-ref',_0xb88d7c(0x1ae)],{'cwd':_0x348eb1});return _0x156f1f['trim']();}catch{return'unknown';}}async function _0x37a731(_0x288b56,_0x31a15c){const _0x4af289=_0x3ee7d6;try{const {stdout:_0x52ba49}=await _0x1cec07('git',[_0x4af289(0x96f),_0x31a15c],{'cwd':_0x288b56});return _0x52ba49['trim']();}catch{return _0x31a15c;}}async function _0x27a85c(_0x393fc6,_0x5d3bcc){const _0x7d7e31=_0x3ee7d6;try{const {stdout:_0x35fafd}=await _0x1cec07(_0x7d7e31(0x6a7),[_0x7d7e31(0x283),_0x7d7e31(0xd2),_0x5d3bcc],{'cwd':_0x393fc6,'maxBuffer':0x20*0x400*0x400});return _0x35fafd;}catch(_0x3d6bf7){const _0x3a7522=_0x3d6bf7 instanceof Error?_0x3d6bf7[_0x7d7e31(0x92e)]:String(_0x3d6bf7);if(_0x3a7522[_0x7d7e31(0x83f)]('unknown\x20revision')){const {stdout:_0x747bcb}=await _0x1cec07('git',[_0x7d7e31(0x283),'--relative',_0x7d7e31(0x1ae)],{'cwd':_0x393fc6,'maxBuffer':0x20*0x400*0x400});return _0x747bcb;}throw _0x3d6bf7;}}async function _0x9fbfce(_0x5d2130){const _0x22b063=_0x3ee7d6;try{const {stdout:_0x9d39e8}=await _0x1cec07(_0x22b063(0x6a7),[_0x22b063(0x9e9)],{'cwd':_0x5d2130,'maxBuffer':0x8*0x400*0x400});return _0x9d39e8[_0x22b063(0x814)]('\x0a')[_0x22b063(0x986)](_0x4ed144=>_0x4ed144['trim']())[_0x22b063(0x65c)](Boolean)[_0x22b063(0x65c)](_0x1099f5);}catch{return[];}}async function _0x392eac(_0x2e73c2,_0x109645){const _0x3e0cca=_0x3ee7d6;try{const {stdout:_0x2c18e8}=await _0x1cec07(_0x3e0cca(0x6a7),[_0x3e0cca(0x283),_0x3e0cca(0x8c2),_0x3e0cca(0xd2),_0x109645],{'cwd':_0x2e73c2,'maxBuffer':0x8*0x400*0x400});return _0x2c18e8['split']('\x0a')[_0x3e0cca(0x986)](_0x218d3e=>_0x218d3e['trim']())['filter'](_0x309cf2=>_0x309cf2[_0x3e0cca(0x945)]>0x0);}catch(_0x5c4da5){const _0x280ba5=_0x5c4da5 instanceof Error?_0x5c4da5['message']:String(_0x5c4da5);if(_0x280ba5[_0x3e0cca(0x83f)]('unknown\x20revision')){const {stdout:_0x42b70e}=await _0x1cec07('git',['diff',_0x3e0cca(0x8c2),'--relative','HEAD'],{'cwd':_0x2e73c2,'maxBuffer':0x8*0x400*0x400});return _0x42b70e['split']('\x0a')['map'](_0x30e9cd=>_0x30e9cd['trim']())['filter'](_0x336216=>_0x336216['length']>0x0);}throw _0x5c4da5;}}async function _0x50bda3(_0x5dcf7b,_0x5a3654){const _0x520df2=_0x3ee7d6,_0xfa0c95={},_0x135ee7=new Set();let _0x52d535;try{_0x52d535=await _0x11e024['realpath'](_0x5dcf7b);}catch{return _0xfa0c95;}for(const _0x3b1dd2 of _0x5a3654){if(_0x135ee7['size']>=_0x338a61)break;if(_0x51e831(_0x3b1dd2)||_0x3b1dd2['includes']('..'))continue;const _0x5e7090=normalize(_0x44b1a8(_0x5dcf7b,_0x3b1dd2)),_0x25de89=_0x4e8216(_0x5dcf7b,_0x5e7090);if(_0x25de89[_0x520df2(0x887)]('..')||_0x51e831(_0x25de89))continue;if(_0x135ee7['has'](_0x25de89))continue;_0x135ee7[_0x520df2(0x5c1)](_0x25de89);if(!_0x1099f5(_0x25de89))continue;let _0x4c384e;try{_0x4c384e=await _0x11e024[_0x520df2(0x75b)](_0x5e7090);}catch(_0x5dcf76){const _0x5d3a25=_0x5dcf76;if(_0x5d3a25[_0x520df2(0x845)]===_0x520df2(0x6fe)||_0x5d3a25['code']==='ELOOP'||_0x5d3a25[_0x520df2(0x845)]==='EACCES'||_0x5d3a25[_0x520df2(0x845)]===_0x520df2(0x73a))continue;throw _0x5dcf76;}const _0x360bdc=_0x4e8216(_0x52d535,_0x4c384e);if(_0x360bdc[_0x520df2(0x887)]('..')||_0x51e831(_0x360bdc))continue;let _0x360597;try{_0x360597=await _0x11e024['open'](_0x5e7090,_0x44064c['O_RDONLY']|_0x44064c['O_NOFOLLOW']);const _0x1a4c0e=await _0x360597['stat']();if(_0x1a4c0e['isDirectory']())continue;if(_0x1a4c0e[_0x520df2(0x1bb)]>_0x2a9cad)continue;const _0x43954e=await _0x360597[_0x520df2(0x18d)](_0x520df2(0x29d));_0xfa0c95[_0x25de89]=_0x43954e;}catch(_0x5bb71f){const _0x38aeda=_0x5bb71f;if(_0x38aeda['code']==='ENOENT'||_0x38aeda[_0x520df2(0x845)]==='EISDIR'||_0x38aeda['code']==='ELOOP'||_0x38aeda[_0x520df2(0x845)]==='EACCES'||_0x38aeda[_0x520df2(0x845)]===_0x520df2(0x73a))continue;throw _0x5bb71f;}finally{await _0x360597?.['close']();}}return _0xfa0c95;}import{execFile as _0xdc26fe}from'child_process';import{promisify as _0x120f23}from'util';var _0x29ff72=_0x120f23(_0xdc26fe);async function _0x4c7f9c(_0xfc7183){const _0x5e291b=_0x3ee7d6,{stdout:_0x5639eb}=await _0x29ff72('git',[_0x5e291b(0x94b),'--get','remote.origin.url'],{'cwd':_0xfc7183,'encoding':_0x5e291b(0x29d)}),_0x85f63=_0x5639eb['trim'](),_0xaaf077=_0x85f63['replace'](/\.git$/,''),_0x314a32=_0xaaf077['match'](/^(?:https?:\/\/(?:[^/@]+@)?github\.com(?::\d+)?\/|git@github\.com:|ssh:\/\/git@github\.com(?::\d+)?\/)([^/]+)\/([^/]+?)$/);if(!_0x314a32)throw new Error('Could\x20not\x20resolve\x20GitHub\x20repo\x20from\x20git\x20remote.');return{'owner':_0x314a32[0x1],'repo':_0x314a32[0x2]};}var _0x489cff=0x7a120,_0x1f278d=0x1f4,_0x1ad465=0x8*0x400*0x400;async function _0x2c31ba(_0x50212a,_0x4d71e5={}){const _0x145e00=_0x3ee7d6,_0x32805a=_0x4d71e5['fetcher']??_0x4ace5b,_0x1d2242=_0x4d71e5[_0x145e00(0x658)]??_0x9fbfce,_0x493375=_0x4d71e5['resolveRepo']??(async _0x5243c4=>{try{return await _0x4c7f9c(_0x5243c4);}catch{return null;}}),_0xf54f2a=_0x4d71e5[_0x145e00(0x3ba)]??_0x37a731,_0x2958f2=_0x4d71e5['resolveBranch']??_0x6b60b3,_0x42c896=_0x4d71e5['readFile']??(_0xa40525=>_0x225bdf[_0x145e00(0x18d)](_0xa40525,_0x145e00(0x29d))),_0x3b7db3=await _0x493375(_0x50212a[_0x145e00(0x408)])['catch'](()=>null);if(!_0x3b7db3)return{'status':_0x145e00(0x797),'reason':_0x145e00(0x69d),'message':'No\x20GitHub\x20remote\x20detected\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.'};const _0x48e431=await _0x2958f2(_0x50212a[_0x145e00(0x408)]),_0x2d6e84=await _0xf54f2a(_0x50212a['workingDir'],_0x145e00(0x1ae));if(_0x2d6e84==='HEAD'||_0x2d6e84['length']<0x7||_0x48e431==='unknown')return{'status':_0x145e00(0x797),'reason':'no-git-repo','message':'Not\x20in\x20a\x20git\x20repo\x20(or\x20no\x20HEAD\x20commit\x20yet)\x20—\x20graph\x20cache\x20seed\x20skipped.\x20First\x20rn_test_*\x20call\x20will\x20build\x20the\x20graph\x20from\x20scratch.'};const _0xa17628=await _0x1d2242(_0x50212a['workingDir']);if(_0xa17628[_0x145e00(0x945)]===0x0)return{'status':_0x145e00(0x797),'reason':'no-graph-files','message':'No\x20graph-relevant\x20files\x20found\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.'};const _0x4deebe={};let _0x1dd188=![],_0x7094a0=0x0;for(const _0xc83c1 of _0xa17628){if(!_0x1099f5(_0xc83c1))continue;if(Object[_0x145e00(0x208)](_0x4deebe)['length']>=_0x1f278d){_0x1dd188=!![];break;}let _0x2de5fb;try{if(_0x145e00(0x64e)!==_0x145e00(0x64e)){_0x12e923 instanceof _0x2cce4b&&(_0x1b610e[_0x145e00(0x3ea)]===_0x145e00(0x1ad)||_0x2c59d5['kind']==='tier-gated')&&_0x27b196();const _0x346199=_0xf09ca1 instanceof _0x2db05d?_0x4493f8['agentMessage']:_0xc7d3d8+_0x145e00(0x9f8)+(_0x4fa1e0 instanceof _0x1545ae?_0x3ecd51[_0x145e00(0x92e)]:_0x138fa2(_0x7032fc));return{'content':[{'type':'text','text':_0x346199}],'isError':!![]};}else _0x2de5fb=await _0x42c896(_0x514700(_0x50212a[_0x145e00(0x408)],_0xc83c1));}catch{continue;}const _0x4b5b69=Buffer['byteLength'](_0x2de5fb);if(_0x4b5b69>_0x489cff)continue;if(_0x7094a0+_0x4b5b69>_0x1ad465){_0x1dd188=!![];break;}_0x4deebe[_0xc83c1]=_0x2de5fb,_0x7094a0+=_0x4b5b69;}if(Object[_0x145e00(0x208)](_0x4deebe)['length']===0x0)return{'status':_0x145e00(0x797),'reason':'no-graph-files','message':_0x145e00(0x519)};let _0x46087e;_0x4deebe['app.json']&&(_0x46087e=_0x4deebe['app.json']);try{const _0x5e7c06=await _0x32805a('/rn-init-graph',{'repoOwner':_0x3b7db3['owner'],'repoName':_0x3b7db3[_0x145e00(0x2fb)],'branch':_0x48e431,'headSha':_0x2d6e84,'appFiles':_0x4deebe,..._0x46087e?{'appJsonContent':_0x46087e}:{}},_0x50212a[_0x145e00(0x469)]);if(_0x5e7c06['ok']&&_0x5e7c06[_0x145e00(0x552)]&&typeof _0x5e7c06[_0x145e00(0x4ca)]==='number'&&typeof _0x5e7c06['layoutCount']==='number')return{'status':_0x145e00(0x2a6),'flavor':_0x5e7c06['flavor'],'screenCount':_0x5e7c06['screenCount'],'layoutCount':_0x5e7c06[_0x145e00(0x292)],'bundleId':_0x5e7c06[_0x145e00(0x708)]??null,'persisted':_0x5e7c06[_0x145e00(0x1ed)]===!![]};return{'status':_0x145e00(0x797),'reason':'server-error','message':'Graph\x20cache\x20seed\x20returned\x20an\x20unexpected\x20response\x20shape.'};}catch(_0x8f0425){if(_0x8f0425 instanceof _0x45acbf){const _0x126b45=_0x8f0425[_0x145e00(0x3ea)]==='bad-response'&&_0x8f0425['agentMessage']['includes']('no-mobile-graph')?_0x145e00(0x6ac):_0x145e00(0x5fd);return{'status':'skipped','reason':_0x126b45,'message':_0x1dd188?_0x8f0425[_0x145e00(0x70e)]+'\x20(payload\x20was\x20capped\x20at\x20'+_0x1f278d+'\x20files).':_0x8f0425['agentMessage']};}return{'status':_0x145e00(0x797),'reason':_0x145e00(0x5fd),'message':_0x8f0425 instanceof Error?_0x8f0425['message']:'Graph\x20cache\x20seed\x20failed\x20(unknown\x20error).'};}}var _0x12e8b1=null;function _0x3a93e6(_0x1347d1={}){const _0x2c795f=_0x3ee7d6;if(_0x12e8b1)return _0x12e8b1;const _0x581732=_0x292b34(_0x1347d1)['catch'](()=>null);return _0x12e8b1=_0x581732[_0x2c795f(0x4cf)](_0x21a0ad=>{return _0x21a0ad===null&&(_0x12e8b1=null),_0x21a0ad;}),_0x12e8b1;}async function _0x292b34(_0x20346f){const _0x3f24e3=_0x3ee7d6,_0x3901e0=_0x20346f['workingDir']??process['cwd'](),_0x4ea679=_0x20346f['loadAuth']??(()=>_0x9b2b8c()),_0x477922=_0x20346f['checkMobilePro']??(()=>_0x590cfe()),_0xa76890=_0x20346f['seedMobileGraph']??_0x2c31ba,_0x59f999=await _0x4ea679()[_0x3f24e3(0x4ba)](()=>null);if(!_0x59f999?.['accessToken'])return null;const _0x76da58=await _0x477922()[_0x3f24e3(0x4ba)](()=>![]);if(!_0x76da58)return null;return _0xa76890({'workingDir':_0x3901e0,'auth':_0x59f999});}import{promises as _0x3590de}from'fs';import{homedir as _0x198f1a}from'os';import{join as _0x2425cb,dirname as _0x5e1144}from'path';function _0x51ea0c(){const _0x59292a=_0x3ee7d6;return _0x2425cb(_0x198f1a(),'.ceraph',_0x59292a(0x6e8));}async function _0x3fccb9(_0xb2c788){const _0x3f8084=_0x3ee7d6,_0x537e66=_0xb2c788??_0x51ea0c();let _0x4cad38;try{_0x4cad38=await _0x3590de[_0x3f8084(0x18d)](_0x537e66,'utf-8');}catch{return null;}let _0x36bf33;try{_0x36bf33=JSON['parse'](_0x4cad38);}catch{return null;}if(!_0x36bf33||typeof _0x36bf33!==_0x3f8084(0x5ab)||Array['isArray'](_0x36bf33))return null;const _0x100cb6=_0x36bf33,_0x1b6ae7=_0x100cb6['tier'];if(_0x1b6ae7!==_0x3f8084(0x3fa)&&_0x1b6ae7!==_0x3f8084(0x1b6))return null;const _0xd80f35=typeof _0x100cb6[_0x3f8084(0xf7)]==='string'&&_0x100cb6[_0x3f8084(0xf7)]['length']>0x0?_0x100cb6['selectedAt']:new Date(0x0)['toISOString']();return{'tier':_0x1b6ae7,'selectedAt':_0xd80f35};}async function _0x4107c4(_0x46dbc7,_0x3339ad,_0x8042ee=Date[_0x3ee7d6(0x3d1)]){const _0x3babc0=_0x3ee7d6,_0x1bd507=_0x3339ad??_0x51ea0c(),_0x32ecc8={'tier':_0x46dbc7,'selectedAt':new Date(_0x8042ee())['toISOString']()};return await _0x3590de[_0x3babc0(0x88d)](_0x5e1144(_0x1bd507),{'recursive':!![],'mode':0x1c0}),await _0x3590de[_0x3babc0(0x352)](_0x1bd507,JSON[_0x3babc0(0x2c1)](_0x32ecc8,null,0x2)+'\x0a','utf-8'),_0x32ecc8;}import{promises as _0xcf9796,constants as _0xb1bba3}from'fs';import{homedir as _0x30be78,platform}from'os';import{join as _0x138225,dirname as _0x3139dd}from'path';import{spawn as _0x2da019}from'child_process';import{randomBytes as _0x5c0974}from'crypto';import{createServer as _0xe28f2b}from'http';import{createInterface}from'readline';var _0x2b973d=0x5*0x3c*0x3e8;function _0x166455(){const _0x21bbcd=_0x3ee7d6,_0x23c61e=process.env.CERAPH_WEB_BASE_URL?.[_0x21bbcd(0x5da)]();if(_0x23c61e)return _0x23c61e;const _0x24076e=process.env.CERAPH_API_URL?.['trim']();if(_0x24076e){const _0x480b6e=_0x24076e[_0x21bbcd(0x27d)](/\/+$/,'')['replace'](/\/api\/mcp$/,'');if(_0x480b6e&&_0x480b6e!==_0x24076e[_0x21bbcd(0x27d)](/\/+$/,''))return _0x480b6e;}return'https://ceraph.dev';}function _0x58f401(_0x1e4d44={}){const _0x2b7e07=_0x3ee7d6,_0x51f8f4=_0x166455()[_0x2b7e07(0x27d)](/\/+$/,''),_0x1e038f=_0x1e4d44[_0x2b7e07(0x1a8)]===_0x2b7e07(0x1b6)?_0x2b7e07(0x6c6):'';return _0x51f8f4+_0x2b7e07(0x60b)+_0x1e038f;}async function _0x4ca948(_0x325d96={}){const _0x226442=_0x3ee7d6,_0x3901a2=_0x325d96['token']?.['trim']()||process.env.CERAPH_AUTH_TOKEN?.[_0x226442(0x5da)]();if(_0x3901a2)return _0xbe3b3e(_0x3901a2,void 0x0,_0x325d96[_0x226442(0x99e)]);const _0x36b07d=_0x325d96[_0x226442(0x5aa)]??_0x2b973d,_0x5e7ddb=(_0x325d96[_0x226442(0x7a6)]??_0x166455())[_0x226442(0x27d)](/\/+$/,''),_0x4ddc4f=_0x5c0974(0x10)['toString']('base64url'),_0x4b5226=await _0x20402a(_0x4ddc4f,_0x5e7ddb),_0x5e1ae8=_0x325d96[_0x226442(0x1a8)]===_0x226442(0x1b6)?_0x226442(0x7fa):'',_0x4a839d=_0x5e7ddb+_0x226442(0x40c)+_0x4b5226[_0x226442(0x688)]+'&state='+encodeURIComponent(_0x4ddc4f)+_0x5e1ae8,_0x1d2b58=new AbortController();if(_0x325d96[_0x226442(0x294)]){if(_0x325d96[_0x226442(0x294)]['aborted']){_0x4b5226['close']();throw new DOMException(_0x226442(0x957),_0x226442(0x857));}_0x325d96['signal'][_0x226442(0x82b)]('abort',()=>{const _0x45d654=_0x226442;_0x4b5226[_0x45d654(0x2d4)](new DOMException(_0x45d654(0x957),_0x45d654(0x857))),_0x1d2b58[_0x45d654(0x2d4)]();},{'once':!![]});}_0x54915b(_0x4a839d),process[_0x226442(0x870)][_0x226442(0x65a)](_0x226442(0x68f)+_0x5e7ddb+_0x226442(0x391)+_0x4a839d+'\x0a');try{const _0x59a675=await _0x2d19db(_0x4b5226['tokenPromise'],_0x36b07d);return _0xbe3b3e(_0x59a675[_0x226442(0x844)],_0x59a675[_0x226442(0x89c)],_0x325d96['authFilePath']);}catch(_0x426718){if(_0x426718 instanceof _0x3a78c1){process['stderr'][_0x226442(0x65a)]('Sign-in\x20timed\x20out.\x20Reload\x20the\x20browser\x20tab\x20to\x20retry\x20—\x20or\x20paste\x20your\x20token\x20below:\x0a');const _0x22aca9=await Promise[_0x226442(0x5a8)]([_0x4b5226['tokenPromise'][_0x226442(0x4cf)](_0x6fbb62=>({'kind':_0x226442(0x370),'payload':_0x6fbb62})),_0xc708b1(_0x1d2b58[_0x226442(0x294)])['then'](_0x3ed661=>({'kind':_0x226442(0x21a),'line':_0x3ed661}))]);if(_0x22aca9[_0x226442(0x3ea)]==='listener')return _0x1d2b58[_0x226442(0x2d4)](),_0xbe3b3e(_0x22aca9['payload'][_0x226442(0x844)],_0x22aca9[_0x226442(0x836)]['email'],_0x325d96[_0x226442(0x99e)]);if(!_0x22aca9[_0x226442(0xf5)]){if(_0x325d96['signal']?.['aborted'])throw new DOMException(_0x226442(0x957),'AbortError');throw new Error(_0x226442(0x152));}return _0xbe3b3e(_0x22aca9[_0x226442(0xf5)],void 0x0,_0x325d96[_0x226442(0x99e)]);}throw _0x426718;}finally{_0x4b5226['close']();}}var _0x51fcd8=0x10*0x400;async function _0x5d1045(_0x1fd0e3){return new Promise(_0x46e17d=>{const _0xfac9f7=_0x4a5a;let _0x3cfe9f=0x0;const _0x5341ea=[];_0x1fd0e3['on'](_0xfac9f7(0x978),_0x23cd90=>{const _0x29f69c=_0xfac9f7;_0x3cfe9f+=_0x23cd90['length'];if(_0x3cfe9f>_0x51fcd8){_0x1fd0e3['destroy'](),_0x46e17d(null);return;}_0x5341ea[_0x29f69c(0x496)](_0x23cd90);}),_0x1fd0e3['on']('end',()=>{const _0x1e4ddb=Buffer['concat'](_0x5341ea)['toString']('utf8');if(!_0x1e4ddb){_0x46e17d(null);return;}try{const _0x42fa76=JSON['parse'](_0x1e4ddb);if(_0x42fa76&&typeof _0x42fa76==='object')_0x46e17d(_0x42fa76);else{if('ZRDqr'==='ZRDqr')_0x46e17d(null);else{_0x49902b();return;}}}catch{_0x46e17d(null);}}),_0x1fd0e3['on']('error',()=>_0x46e17d(null));});}async function _0x20402a(_0x2f825d,_0x35ba1e){let _0x128579,_0x50586c;const _0x101d44=new Promise((_0x29751f,_0x5366f2)=>{_0x128579=_0x29751f,_0x50586c=_0x5366f2;});let _0x4dd8b4=![],_0x57dd48=![],_0x11fb68,_0x11eaa6;try{_0x11eaa6=new URL(_0x35ba1e)['origin'];}catch(_0x2be6f1){throw new Error('Invalid\x20CERAPH_WEB_BASE_URL\x20or\x20CERAPH_API_URL:\x20\x22'+_0x35ba1e+'\x22\x20—\x20must\x20be\x20a\x20valid\x20URL\x20with\x20scheme\x20(e.g.\x20https://ceraph.dev\x20or\x20http://localhost:3000).\x20Original\x20error:\x20'+(_0x2be6f1 instanceof Error?_0x2be6f1['message']:String(_0x2be6f1)));}_0x11fb68=_0xe28f2b((_0x534c6d,_0x20e6f1)=>{const _0x39c0cc=_0x4a5a;_0x20e6f1[_0x39c0cc(0x520)](_0x39c0cc(0x592),_0x11eaa6),_0x20e6f1[_0x39c0cc(0x520)]('Access-Control-Allow-Methods',_0x39c0cc(0x4bc)),_0x20e6f1['setHeader'](_0x39c0cc(0x13b),'content-type');if(_0x534c6d['method']==='OPTIONS'){_0x20e6f1[_0x39c0cc(0x263)]=0xcc,_0x20e6f1['end']();return;}const _0x30446d=new URL(_0x534c6d[_0x39c0cc(0x72e)]??'/',_0x39c0cc(0x795)+_0xe99bd4);if(_0x30446d['pathname']!==_0x39c0cc(0x21e)){_0x20e6f1['statusCode']=0x194,_0x20e6f1['end'](_0x39c0cc(0x485));return;}const _0x3c3a52=_0x30446d['searchParams'][_0x39c0cc(0x47a)](_0x39c0cc(0x21d))??'';if(_0x3c3a52!==_0x2f825d){_0x20e6f1['statusCode']=0x190,_0x20e6f1['end']('invalid\x20state');return;}if(_0x57dd48||_0x4dd8b4){if('jsosl'!=='lxAga'){_0x20e6f1['statusCode']=0x199,_0x20e6f1['end'](_0x57dd48?_0x39c0cc(0x3e5):'in-flight');return;}else return[...this['stderrBuffer']];}if(_0x534c6d[_0x39c0cc(0x476)]!==_0x39c0cc(0x2a0)){_0x20e6f1['statusCode']=0x195,_0x20e6f1[_0x39c0cc(0x452)](_0x39c0cc(0x617));return;}_0x4dd8b4=!![],void _0x5d1045(_0x534c6d)[_0x39c0cc(0x4cf)](_0x3a8f1f=>{const _0x2f2574=_0x39c0cc,_0x381ed6=_0x3a8f1f&&typeof _0x3a8f1f['token']==='string'?_0x3a8f1f['token'][_0x2f2574(0x5da)]():'',_0x1bf1a8=_0x3a8f1f&&typeof _0x3a8f1f['email']==='string'?_0x3a8f1f[_0x2f2574(0x89c)]:'';if(!_0x381ed6){_0x4dd8b4=![],_0x20e6f1['statusCode']=0x190,_0x20e6f1[_0x2f2574(0x452)]('missing\x20token');return;}_0x57dd48=!![],_0x20e6f1[_0x2f2574(0x263)]=0xc8,_0x20e6f1[_0x2f2574(0x520)](_0x2f2574(0x772),_0x2f2574(0x486)),_0x20e6f1['end']('<!doctype\x20html><html><body\x20style=\x22font-family:system-ui;padding:32px;background:#0b0f14;color:#e6edf3;\x22><h1>CLI\x20signed\x20in</h1><p>You\x20can\x20close\x20this\x20tab.</p></body></html>');try{_0x11fb68[_0x2f2574(0x4ae)]();}catch{}_0x128579({'token':_0x381ed6,'email':_0x1bf1a8||void 0x0});});return;});const _0xe99bd4=await new Promise((_0x19c7aa,_0x4fbfe1)=>{_0x11fb68['once']('error',_0x4fbfe1),_0x11fb68['listen'](0x0,'127.0.0.1',()=>{const _0x172b7c=_0x4a5a,_0x28b044=_0x11fb68[_0x172b7c(0x26c)]();if(!_0x28b044||typeof _0x28b044==='string'||typeof _0x28b044['port']!=='number'){if(_0x172b7c(0x194)!=='LMygu'){try{_0x11fb68[_0x172b7c(0x4ae)]();}catch{}_0x4fbfe1(new Error(_0x172b7c(0x82c)));return;}else{if(_0x5afaff)return;_0x552469=!![],_0x55cbc8['removeListener']('error',_0x33bcd4),_0x9a1e98(_0x3fd1fd);}}_0x19c7aa(_0x28b044[_0x172b7c(0x688)]);});});return _0x11fb68['on']('error',_0x1d31a7=>_0x50586c(_0x1d31a7)),{'port':_0xe99bd4,'tokenPromise':_0x101d44,'close':()=>{const _0x48bdc6=_0x4a5a;try{_0x11fb68[_0x48bdc6(0x4ae)]();}catch{}},'abort':_0x1f2154=>{const _0x75b1ab=_0x4a5a;_0x50586c(_0x1f2154);try{if('maXrR'===_0x75b1ab(0x7ed))_0x11fb68['close']();else{if(_0x541f31['status']==='reverted'||_0x418045[_0x75b1ab(0x9d0)]==='warning')_0x49f961++;else(_0x23f3fb['status']===_0x75b1ab(0x797)||_0x4a61b1[_0x75b1ab(0x9d0)]==='already-reverted')&&_0x1ec5a0++;_0x4cb0ef[_0x75b1ab(0x9d0)]==='warning'&&_0x498a4f[_0x75b1ab(0x5de)]&&_0x51ce78['push'](_0x48e90f[_0x75b1ab(0x5de)]),_0x3bc8e8['status']===_0x75b1ab(0x89f)&&_0x2c92ba[_0x75b1ab(0x5de)]&&_0x1416cd['push'](_0x1a099f[_0x75b1ab(0x5de)]);}}catch{}}};}function _0x54915b(_0x33b7e3){const _0x2178dc=_0x3ee7d6;try{if(_0x2178dc(0x289)!==_0x2178dc(0x289)){if(typeof _0x1bd129[_0x2178dc(0x58a)]!==_0x2178dc(0x5ab)||_0x5a3daa['libraryCatalog']===null||_0x5ee89b[_0x2178dc(0x246)](_0x4dfc9e[_0x2178dc(0x58a)]))return![];for(const [_0x1cc009,_0x5ed93e]of _0xb9ed64[_0x2178dc(0x6b0)](_0x1d8965['libraryCatalog'])){if(typeof _0x1cc009!==_0x2178dc(0x7fd)||!_0x57a562(_0x1cc009))return![];if(typeof _0x5ed93e!==_0x2178dc(0x5ab)||_0x5ed93e===null||_0x52b2f4['isArray'](_0x5ed93e))return![];for(const [_0x27cc83]of _0x3185b4[_0x2178dc(0x6b0)](_0x5ed93e)){if(typeof _0x27cc83!=='string'||!_0x49e20b(_0x27cc83))return![];}}}else{const _0x2f1d93=platform();let _0x538172,_0x254821;if(_0x2f1d93==='darwin'){if('APjNY'!==_0x2178dc(0x9be))return null;else _0x538172=_0x2178dc(0x67e),_0x254821=[_0x33b7e3];}else _0x2f1d93===_0x2178dc(0xf1)?(_0x538172='cmd',_0x254821=['/c','start','',_0x33b7e3]):(_0x538172='xdg-open',_0x254821=[_0x33b7e3]);const _0x3161af=_0x2da019(_0x538172,_0x254821,{'stdio':_0x2178dc(0x317),'detached':!![]});_0x3161af['on']('error',()=>{}),_0x3161af[_0x2178dc(0x60e)]();}}catch{}}var _0x3a78c1=class extends Error{constructor(){const _0x1bed46=_0x3ee7d6;super('listener-timeout'),this[_0x1bed46(0x4d1)]=_0x1bed46(0x958);}};function _0x2d19db(_0x5d1b75,_0xe02934){return new Promise((_0xd216e3,_0x499ba3)=>{const _0x391ebb=_0x4a5a,_0x28d148=setTimeout(()=>_0x499ba3(new _0x3a78c1()),_0xe02934);_0x5d1b75[_0x391ebb(0x4cf)](_0x4e8925=>{clearTimeout(_0x28d148),_0xd216e3(_0x4e8925);},_0x2ac7d4=>{clearTimeout(_0x28d148),_0x499ba3(_0x2ac7d4);});});}function _0xc708b1(_0x38eeb6){return new Promise(_0x33d4ea=>{const _0x513b38=_0x4a5a,_0x15eccd=createInterface({'input':process[_0x513b38(0x21a)],'crlfDelay':Infinity});let _0x101747=![];const _0x29c8c1=_0x20f8b6=>{const _0x3b8cf5=_0x513b38;if(_0x101747)return;_0x101747=!![];try{_0x15eccd[_0x3b8cf5(0x4ae)]();}catch{}_0x33d4ea(_0x20f8b6);};_0x15eccd[_0x513b38(0x9b5)]('line',_0x335c3f=>_0x29c8c1(_0x335c3f['trim']()||null)),_0x15eccd[_0x513b38(0x9b5)](_0x513b38(0x4ae),()=>_0x29c8c1(null));if(_0x38eeb6[_0x513b38(0x957)]){_0x29c8c1(null);return;}_0x38eeb6['addEventListener'](_0x513b38(0x2d4),()=>_0x29c8c1(null),{'once':!![]});});}function _0x28323f(_0xfa2543){const _0x26b03b=_0x3ee7d6;return _0xfa2543??_0x138225(_0x30be78(),_0x26b03b(0x5d3),_0x26b03b(0x65b));}async function _0xbe3b3e(_0x589fde,_0xd9015f,_0x995ba4){const _0x55dcf5=_0x3ee7d6,_0xbf7fb2={'accessToken':_0x589fde,'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()[_0x55dcf5(0x4a0)](),..._0xd9015f?{'email':_0xd9015f}:{}};return await _0x71cef8(_0xbf7fb2,_0x995ba4),{'token':_0x589fde,..._0xd9015f?{'email':_0xd9015f}:{}};}async function _0x71cef8(_0x2a2235,_0x253a68){const _0x54de84=_0x3ee7d6,_0x529d6b=_0x28323f(_0x253a68);await _0xcf9796['mkdir'](_0x3139dd(_0x529d6b),{'recursive':!![],'mode':0x1c0});const _0x5b97d5=JSON[_0x54de84(0x2c1)](_0x2a2235,null,0x2)+'\x0a',_0xfde930=_0x529d6b+_0x54de84(0x5a4)+process['pid']+'.'+Math['random']()['toString'](0x24)[_0x54de84(0x63b)](0x2);try{const _0x31c9c9=await _0xcf9796['open'](_0xfde930,_0xb1bba3[_0x54de84(0x582)]|_0xb1bba3['O_WRONLY']|_0xb1bba3['O_EXCL'],0x180);try{await _0x31c9c9[_0x54de84(0x352)](_0x5b97d5);}finally{await _0x31c9c9['close']();}await _0xcf9796['rename'](_0xfde930,_0x529d6b);}catch(_0x44a120){try{await _0xcf9796['unlink'](_0xfde930);}catch{}throw _0x44a120;}try{await _0xcf9796['chmod'](_0x3139dd(_0x529d6b),0x1c0);}catch{}}import{join as _0x1ddc56}from'path';import{readFile as _0xc37ba5,writeFile as _0xd7b8c0,access as _0x5b0a7b,mkdir as _0x531677}from'fs/promises';import{createHash}from'crypto';import{join as _0x2deaf4}from'path';import{readFile as _0x440317}from'fs/promises';import{Project,Node,SyntaxKind}from'ts-morph';var _0x409084='@ceraph/react-native-mcp/babel-plugin',_0x475b28=[_0x3ee7d6(0x720),_0x3ee7d6(0x9e4),_0x3ee7d6(0x269)];function _0x18c59f(_0x2947f1){const _0x1fda20=_0x3ee7d6;return createHash('sha256')[_0x1fda20(0x7d2)](_0x2947f1)['digest']('hex')[_0x1fda20(0x63b)](0x0,0x10);}async function _0x21d413(_0x4635ca,_0x144827=_0xc85a96=>_0x440317(_0xc85a96,'utf-8')){for(const _0x167336 of _0x475b28){const _0x599ecb=_0x2deaf4(_0x4635ca,_0x167336);try{const _0x46d888=await _0x144827(_0x599ecb);return{'path':_0x599ecb,'text':_0x46d888};}catch{}}return null;}function _0x170938(_0x369a3d,_0x349c0c){const _0x49f452=_0x3ee7d6;if(Node['isStringLiteral'](_0x369a3d)||Node[_0x49f452(0xfa)](_0x369a3d))return _0x369a3d[_0x49f452(0x42e)]()===_0x349c0c;if(Node[_0x49f452(0x696)](_0x369a3d)){const _0x2ebcd4=_0x369a3d[_0x49f452(0x22f)]()[0x0];return!!_0x2ebcd4&&_0x170938(_0x2ebcd4,_0x349c0c);}if(Node[_0x49f452(0x435)](_0x369a3d)){const _0x10dbef=_0x369a3d['getExpression']();if(Node['isIdentifier'](_0x10dbef)&&_0x10dbef[_0x49f452(0x326)]()==='require'){const _0x285abc=_0x369a3d[_0x49f452(0x6ae)]()[0x0];return!!_0x285abc&&_0x170938(_0x285abc,_0x349c0c);}}return![];}function _0x4373a6(_0x1f663e){const _0x406d57=_0x3ee7d6,_0xa84dd6=new Project({'useInMemoryFileSystem':!![],'compilerOptions':{'allowJs':!![]}}),_0x31c10f=_0xa84dd6['createSourceFile']('babel.config.js',_0x1f663e);for(const _0x3ac46d of _0x31c10f['getDescendantsOfKind'](SyntaxKind['PropertyAssignment'])){if(_0x3ac46d[_0x406d57(0x33e)]()!==_0x406d57(0x361))continue;const _0x2198bb=_0x3ac46d['getInitializer']();if(_0x2198bb&&Node['isArrayLiteralExpression'](_0x2198bb))return{'array':_0x2198bb,'sourceText':_0x31c10f['getFullText']()};}return null;}function _0x1a933a(_0x771cb4){const _0x479b59=_0x3ee7d6,_0x286c63=_0x4373a6(_0x771cb4);if(!_0x286c63)return![];return _0x286c63[_0x479b59(0x27a)]['getElements']()['some'](_0x3083d1=>_0x170938(_0x3083d1,_0x409084));}var _0x4063f7=_0x3ee7d6(0x6e2);function _0x401f2b(_0x10dfe5){const _0x128777=_0x3ee7d6;return _0x128777(0x7ae)+_0x10dfe5+'\x27],\x0a\x20\x20\x20\x20plugins:\x20[\x27'+_0x409084+_0x128777(0x6bf);}async function _0x4fd1d3(_0x2a5f40){try{return await _0x5b0a7b(_0x2a5f40),!![];}catch{return![];}}async function _0x4d90e4(_0x33a159,_0x1487ac){for(const _0x4f2a0f of _0x475b28){const _0x4c7538=_0x1ddc56(_0x33a159,_0x4f2a0f);if(await _0x1487ac(_0x4c7538))return _0x4c7538;}return null;}async function _0x24193a(_0x468148,_0x3455ae={}){const _0x22cfa4=_0x3ee7d6,_0x453fc6=_0x3455ae['readFile']??(_0x3519c2=>_0xc37ba5(_0x3519c2,'utf-8')),_0x4f598e=_0x3455ae['writeFile']??((_0x49d697,_0x3901d1)=>_0xd7b8c0(_0x49d697,_0x3901d1,'utf-8')),_0xd4ec60=_0x3455ae['fileExists']??_0x4fd1d3,_0x6cfab9=await _0x4d90e4(_0x468148,_0xd4ec60);if(!_0x6cfab9){let _0x15ab94=_0x22cfa4(0x4a9);try{const _0x22e2a0=JSON[_0x22cfa4(0x229)](await _0x453fc6(_0x1ddc56(_0x468148,_0x22cfa4(0x833)))),_0x270d87={..._0x22e2a0['dependencies'],..._0x22e2a0['devDependencies']};if(!_0x270d87['expo'])_0x15ab94=_0x22cfa4(0x74a);}catch{}const _0x27759d=_0x1ddc56(_0x468148,_0x22cfa4(0x720)),_0x97f740=_0x401f2b(_0x15ab94);return await _0x4f598e(_0x27759d,_0x97f740),await _0x4f12da(_0x468148,_0x97f740,_0x3455ae,_0x4f598e),{'kind':'created','path':_0x27759d,'preset':_0x15ab94};}let _0x1b9652;try{_0x1b9652=await _0x453fc6(_0x6cfab9);}catch{return{'kind':_0x22cfa4(0x786),'path':_0x6cfab9,'reason':_0x22cfa4(0x225)};}const _0x56f473=_0x4373a6(_0x1b9652);if(_0x56f473){const _0x50d552=_0x56f473['array']['getElements']();if(_0x50d552['some'](_0x20ec08=>_0x170938(_0x20ec08,_0x409084)))return await _0x4f12da(_0x468148,_0x1b9652,_0x3455ae,_0x4f598e),{'kind':_0x22cfa4(0x216),'path':_0x6cfab9};const _0x244883=_0x50d552['findIndex'](_0x2c0ce1=>_0x170938(_0x2c0ce1,_0x4063f7)),_0x436b63=_0x244883>=0x0?_0x244883:_0x50d552[_0x22cfa4(0x945)];_0x56f473['array'][_0x22cfa4(0x36c)](_0x436b63,'\x22'+_0x409084+'\x22');const _0x31fbb2=_0x56f473['array']['getSourceFile']()[_0x22cfa4(0x4e0)]();return await _0x4f598e(_0x6cfab9,_0x31fbb2),await _0x4f12da(_0x468148,_0x31fbb2,_0x3455ae,_0x4f598e),{'kind':_0x22cfa4(0x1dd),'path':_0x6cfab9,'beforeReanimated':_0x244883>=0x0};}return{'kind':'needs-manual','path':_0x6cfab9,'reason':'no\x20`plugins:\x20[...]`\x20array\x20found\x20to\x20edit\x20safely\x20(dynamic\x20config?).\x20Add\x20\x22'+_0x409084+'\x22\x20to\x20your\x20babel\x20plugins,\x20before\x20any\x20\x22'+_0x4063f7+'\x22\x20entry.'};}async function _0x4f12da(_0x25a911,_0x1fb1ba,_0x383ff2,_0x59e176){const _0x46b164=_0x3ee7d6,_0x5cc573=_0x1ddc56(_0x25a911,_0x46b164(0x5d3));if(!_0x383ff2[_0x46b164(0x352)])try{await _0x531677(_0x5cc573,{'recursive':!![]});}catch{}const _0x58c899={'pluginVersion':_0x383ff2[_0x46b164(0x424)]??_0x48dc0b,'babelConfigHash':_0x18c59f(_0x1fb1ba)};await _0x59e176(_0x1ddc56(_0x5cc573,_0x46b164(0x918)),JSON[_0x46b164(0x2c1)](_0x58c899,null,0x2)+'\x0a');}var _0x48dc0b='0.2.2';async function _0x126d97(_0x3e2875){const _0x214503=_0x3ee7d6,{projectDir:_0x15c88c,sentinel:_0x10d970,readFile:_0x39eeca}=_0x3e2875;if(!_0x10d970)return{'ready':![],'reason':_0x214503(0x627)};if(typeof _0x10d970[_0x214503(0x424)]!==_0x214503(0x7fd)||typeof _0x10d970['babelConfigHash']!==_0x214503(0x7fd))return'bCark'==='bCark'?{'ready':![],'reason':'no-sentinel-received'}:{'ok':![],'parsed':{}};const _0x76f690=await _0x21d413(_0x15c88c,_0x39eeca);if(!_0x76f690)return{'ready':![],'reason':'no-local-babel-config'};if(!_0x1a933a(_0x76f690[_0x214503(0x5d9)]))return{'ready':![],'reason':'plugin-not-configured'};if(_0x10d970['pluginVersion']!==_0x48dc0b)return{'ready':![],'reason':_0x214503(0x5b1)};if(_0x10d970[_0x214503(0x2dc)]!==_0x18c59f(_0x76f690['text']))return{'ready':![],'reason':_0x214503(0x19e)};return{'ready':!![]};}import{rename as _0x10f7f8,unlink as _0x1d2fc4,writeFile as _0x20dc25}from'fs/promises';import{join as _0x24eec7}from'path';function _0x5d7aea(_0x4fab38){const _0x5b6bf7=_0x24eec7(_0x4fab38,'.rn-flow-progress.json'),_0x1fd337=async _0x36b06f=>{const _0xb2d86f=_0x4a5a,_0x40f999=_0x5b6bf7+_0xb2d86f(0x5a4)+process[_0xb2d86f(0x135)]+'.'+Math['random']()['toString'](0x24)['slice'](0x2);try{await _0x20dc25(_0x40f999,_0x36b06f,_0xb2d86f(0x29d)),await _0x10f7f8(_0x40f999,_0x5b6bf7);}catch(_0x425627){try{await _0x1d2fc4(_0x40f999);}catch{}throw _0x425627;}};return{async 'write'(_0x9e5fe1){const _0x24fc29=_0x4a5a;if('IhMuc'!==_0x24fc29(0x3fd))return _0x3cac88['abort'](),_0x3857f0(_0x5f1529['payload'][_0x24fc29(0x844)],_0x50d080[_0x24fc29(0x836)]['email'],_0x39a383['authFilePath']);else try{await _0x1fd337(JSON['stringify']({'timestamp':_0x9e5fe1['timestamp'],'entry':_0x9e5fe1},null,0x2));}catch{}},async 'clear'(){const _0x4d2ead=_0x4a5a;try{await _0x1fd337(JSON[_0x4d2ead(0x2c1)]({'timestamp':new Date()[_0x4d2ead(0x4a0)](),'entry':null},null,0x2));}catch{}}};}import{spawn as _0x30d1c2}from'child_process';import{mkdir as _0x59402e,readFile as _0x23d6c8,access as _0x36f2df}from'fs/promises';function _0x1ecd(){const _0xfeac8e=['react-native-mcp','\x20Keep-awake\x20may\x20stay\x20off\x20until\x20the\x20app\x20is\x20foregrounded;\x20the\x20postflight\x20device-awake\x20check\x20still\x20gates\x20readiness.','unknown\x20kind:\x20','aborted','TimeoutError','\x20to\x20activate\x20AI\x20flow\x20testing.\x20Once\x20payment\x20is\x20done,\x20re-call\x20this\x20tool\x20—\x20Pro\x20access\x20refreshes\x20automatically.','iproxy','Age\x20threshold:\x20`14d`\x20matches\x20the\x20server\x27s\x20default\x20startup\x20sweep,\x20`30d`\x20is\x20more\x20conservative,\x20`all`\x20purges\x20every\x20run.','.ceraph/wda-derived/','DkISW','URL\x20/\x20deep\x20link\x20to\x20open,\x20e.g.\x20myapp://product/42','mHqwX','listInstalledApps','WDA\x20already\x20reachable\x20—\x20iproxy\x20bridge\x20not\x20(re)started.','simctl\x20launch\x20failed:\x20','installCeraph()\x20wired\x20in\x20','wda-not-ready','pgJHA','listen','GPihQ','[react-native-mcp]\x20Public-key\x20endpoint\x20rejected\x20(','writtenOrUnchanged','--device','launch','Detected\x20','reloadRecoveryWitness','storage','rev-parse','Developer','every','drainAsyncStorageReads','yUErq','[react-native-mcp]\x20CERAPH_SIGNAL_HOST\x20is\x20unset\x20and\x20no\x20LAN\x20IP\x20was\x20auto-detectable.\x20Real-device\x20shim\x20signals\x20will\x20default\x20to\x20localhost\x20(which\x20the\x20device\x20cannot\x20reach\x20back\x20to\x20the\x20Mac).\x20Set\x20it\x20manually:\x20export\x20CERAPH_SIGNAL_HOST=<your-mac-ip>','\x20\x20configureTestImage(','.ceraph/runs/','fzlfg','data','hardwareProperties','config.toml','Couldn\x27t\x20ensure\x20appium-webdriveragent:\x20','WvzCR','isTTY','Required\x20env\x20var','.codeium','/source?format=json','Simulator\x20UDID\x20','fieldQuery:\x20','baseDir','50RVbqhg','Uhxiw','map','Default\x20export\x20is\x20not\x20a\x20block-bodied\x20function.\x20Manually\x20add\x20the\x20following\x20at\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20','gHdEh','#\x20Ceraph\x20camera\x20test\x20images\x0a\x0aPer-screen\x20test\x20images\x20for\x20`<CeraphCamera\x20/>`\x20from\x0a`@ceraph/react-native-mcp/shim`.\x20The\x20filename\x20(without\x20extension)\x20is\x0athe\x20imageKey\x20you\x20pass\x20on\x20the\x20JSX\x20tag.\x0a\x0a##\x20Three\x20ways\x20to\x20wire\x20a\x20camera\x0a\x0a`<CeraphCamera\x20/>`\x20(no\x20`imageKey`)\x20—\x20uninitialized.\x20Falls\x20back\x20to\x20a\x0abundled\x201024x1024\x20black\x20PNG\x20that\x20ships\x20with\x20the\x20package,\x20so\x20the\x20screen\x0arenders.\x20The\x20MCP\x27s\x20`ceraph_doctor`\x20lists\x20these\x20as\x20info\x20findings\x20so\x20an\x0aAI\x20assistant\x20can\x20prompt\x20you\x20to\x20make\x20a\x20deliberate\x20choice.\x20Pick\x20from:\x0a\x0a1.\x20`<CeraphCamera\x20imageKey=\x22default\x22\x20/>`\x20—\x20explicit\x20acknowledgment\x20of\x0a\x20\x20\x20the\x20black\x20PNG.\x20Right\x20answer\x20for\x20most\x20form\x20/\x20upload\x20/\x20permission\x0a\x20\x20\x20flows\x20where\x20the\x20image\x20content\x20doesn\x27t\x20matter.\x0a2.\x20`<CeraphCamera\x20imageKey=\x22profile\x22\x20/>`\x20—\x20a\x20specific\x20test\x20image\x20you\x0a\x20\x20\x20provide\x20(this\x20folder).\x20Drop\x20`profile.jpg`\x20(or\x20`.png`\x20/\x20`.webp`\x20/\x0a\x20\x20\x20`.heic`)\x20here.\x20The\x20agent\x20can\x20write\x20the\x20file\x20for\x20you\x20via\x0a\x20\x20\x20`ceraph_add_camera_image`.\x0a3.\x20`<CeraphCamera\x20imageKey=\x22@runtime\x22\x20/>`\x20—\x20runtime\x20control.\x20The\x20flow\x0a\x20\x20\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20test\x20time.\x20Use\x20when\x20one\x20camera\x0a\x20\x20\x20screen\x20feeds\x20different\x20scenarios\x20across\x20multiple\x20flows.\x0a\x0a##\x20Naming\x0a\x0aLowercase\x20+\x20hyphen-separated,\x20descriptive\x20of\x20what\x20the\x20image\x20represents:\x0a\x0a-\x20`profile.jpg`\x20—\x20face\x20photo\x20for\x20a\x20profile\x20picture\x20screen\x0a-\x20`id-card.png`\x20—\x20government-issued\x20ID\x20for\x20a\x20KYC\x20scan\x20screen\x0a-\x20`product-photo.jpg`\x20—\x20a\x20product\x20image\x20for\x20an\x20upload\x20screen\x0a\x0aSupported\x20extensions:\x20`.jpg`,\x20`.jpeg`,\x20`.png`,\x20`.webp`,\x20`.heic`.\x0aExtension\x20priority\x20on\x20collision:\x20jpg\x20>\x20jpeg\x20>\x20png\x20>\x20webp\x20>\x20heic.\x0a\x0a##\x20Workflow\x0a\x0a1.\x20Drop\x20the\x20image\x20into\x20this\x20folder\x20with\x20the\x20right\x20filename.\x0a2.\x20Reference\x20it\x20on\x20the\x20tag:\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20CeraphCamera\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20<CeraphCamera\x20imageKey=\x22profile\x22\x20/>\x0a\x20\x20\x20```\x0a3.\x20Regenerate\x20the\x20registry:\x20call\x20the\x20MCP\x20tool\x0a\x20\x20\x20`rn_sync_camera_registry`,\x20or\x20just\x20call\x20`ceraph_doctor`\x20—\x20it\x0a\x20\x20\x20syncs\x20the\x20registry\x20automatically.\x0a4.\x20In\x20`App.tsx`\x20or\x20your\x20root\x20layout\x20(once):\x0a\x20\x20\x20```tsx\x0a\x20\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x20\x20\x20useEffect(()\x20=>\x20{\x20installCeraph();\x20},\x20[]);\x0a\x20\x20\x20```\x0a\x20\x20\x20`installCeraph()`\x20loads\x20the\x20generated\x20registry\x20from\x0a\x20\x20\x20`./.ceraph/camera-images/_registry`\x20and\x20wires\x20the\x20deep-link\x0a\x20\x20\x20handlers\x20the\x20flow\x20planner\x20uses.\x0a\x0aCommit\x20these\x20images\x20so\x20flows\x20are\x20reproducible\x20across\x20machines\x20and\x20CI.\x0a','[react-native-mcp]\x20CERAPH_SIGNAL_HOST=','already-running','sweepOlderThan','dpaFA','https://ceraph.dev/#pricing','screenFromResult','bootDebounceMs','checkTargetReady','getDefaultImport','process','zlqTj','pnpm-workspace.yaml','isFinite','Unknown\x20error\x20during\x20type','activateApp','Build\x20Failed','File\x20not\x20found:\x20','Podfile.lock','asyncStorageReadBuffer','existing\x20config\x20at\x20','authFilePath',':\x20configured\x20✓','Bearer\x20token\x20the\x20user\x20pasted\x20(issued\x20by\x20ceraph.dev/cli-auth).\x20When\x20set,\x20skips\x20the\x20browser\x20flow\x20and\x20persists\x20it\x20directly.','uUdJP','assertNotVisible','WebDriverAgent\x20is\x20not\x20reachable.\x20On\x20a\x20real\x20device\x20it\x27s\x20served\x20at\x20localhost:8100\x20(run\x20it\x20via\x20Xcode\x27s\x20WebDriverAgentRunner);\x20for\x20a\x20simulator,\x20call\x20`rn_wda_start`\x20first\x20to\x20launch\x20WDA\x20and\x20route\x20to\x20it.','423891vLOQgo','env','all','listBooted','\x20visible=','rn_sync_camera_registry','Antigravity','spawnFn','replaceWithText','skipScreenshots','<CeraphCamera','rssTH','useEffect(()\x20=>\x20{\x20','Per-edge\x20bridge\x20steps.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.','isAvailable','openMethods','accumulatedHasFullyDynamicWrite','once','err','{\x20return\x20','.webp','appium-webdriveragent\x20not\x20required\x20for\x20this\x20target.','refs/remotes/origin/HEAD','testID','IrWYX','info','APjNY','readyPromise','\x0a@ceraph/react-native-mcp\x20init\x0a','ts-morph','previousScheme','children','.jsx','(?=[\x5cs/>])','Red\x20screen\x20error\x20detected','WrKSm','isIdentifier','node_modules','SNDOQ','PlannedChainInput.snapPointFlowIndices\x20must\x20be\x20an\x20array.','resolveRepo','998064mUfIvK','matcher','deviceProperties','status','jitLabel',')\x20exceeds\x20flows.length-1\x20(','TkFhS',']:\x20','Failed\x20to\x20spawn\x20xcodebuild:\x20','bNmnN','wildcard','_name','AQGtJ','accumulatedWriteKeys','getLatestTestIdSentinel','abs','package','describe','Use\x20a\x20short,\x20single-segment\x20subdirectory\x20name.','next','Detected\x20React\x20Native\x20app\x20at\x20','ApEQa','MAX_ERRORS','babel.config.cjs','ceraph-dir','password','storageAckSuccess','read','ls-files','ZyFVn','HoHFS','buildTapPointerActions','removeAllListeners','\x20MB.\x20Test\x20fixtures\x20typically\x20fit\x20under\x201\x20MB;\x20consider\x20downsampling\x20if\x20it\x27s\x20larger\x20than\x20the\x20camera\x20screen\x20needs.','rn_find_flows','IytWM','revertAuth','onStep','JsxElement','isBlock','prebuild\x20--clean\x20is\x20only\x20available\x20for\x20Expo\x20projects.','already-approved','waitForAppReady','\x20failed:\x20','LSApplicationWorkspaceErrorDomain','ManagementClient','qIjus','Set\x20','ios/\x20directory\x20does\x20not\x20exist.\x20Run\x20`npx\x20expo\x20prebuild`\x20to\x20generate\x20native\x20projects.','\x20installCeraph()\x20in\x20','auto-no-target-found','Doctor\x20checks\x20failed.\x20Resolve\x20these\x20before\x20running\x20flows.\x20After\x20fixing,\x20retry\x20—\x20doctor\x20re-runs\x20automatically\x20until\x20it\x20passes.','--relative','readSelectorText','missing-dir','\x20Warning:\x20','dryRun','affectedFlowNames','removeElement','root','GWboy','Podfile','\x20(dynamic\x20Expo\x20config).','epoch','.\x20Expected\x20\x27','Install\x20with\x20`brew\x20install\x20ffmpeg`\x20to\x20enable\x20per-chain\x20mp4\x20capture\x20on\x20real-device\x20runs.\x20Tests\x20will\x20continue\x20without\x20video\x20until\x20installed.','Specific\x20user\x20id\x20to\x20delete.\x20Mutually\x20exclusive\x20with\x20`all`.','ios/Podfile.lock\x20is\x20missing.\x20Pods\x20may\x20need\x20to\x20be\x20installed.','concat','Common\x20right\x20after\x20an\x20iOS\x20or\x20macOS\x20update.\x20Update\x20Xcode\x20(or\x20install\x20the\x20matching\x20Device\x20Support),\x20open\x20Xcode\x20→\x20Window\x20→\x20Devices\x20&\x20Simulators\x20and\x20wait\x20for\x20\x27Preparing\x20device\x20for\x20development\x27\x20to\x20finish,\x20then\x20retry.','confirm','Permission\x20interceptor\x20middleware\x20is\x20wired.\x20iOS\x20system\x20permission\x20dialogs\x20will\x20be\x20auto-accepted\x20during\x20flows\x20(configurable\x20via\x20the\x20`CERAPH_AUTO_ACCEPT_PERMISSIONS`\x20env\x20var:\x20`auto-accept`\x20|\x20`ask`\x20|\x20`off`).','isInstalled','`xcodebuild`\x20not\x20found\x20on\x20PATH.\x20Install\x20Xcode\x20(full\x20app,\x20not\x20just\x20Command\x20Line\x20Tools)\x20and\x20accept\x20the\x20license:\x20`sudo\x20xcodebuild\x20-license\x20accept`.','paths','Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac\x20(or\x20boot\x20a\x20simulator),\x20then\x20call\x20ceraph_start\x20again.','Clerk\x20deleteUser\x20failed:\x20','oCWut','oBzKf','Bundle\x20ID\x20of\x20the\x20app\x20under\x20test\x20(e.g.,\x20com.acme.myapp).\x20Used\x20for\x20the\x20app-installed\x20staleness\x20check\x20and\x20doctor.\x20Pass\x20it\x20so\x20the\x20build\x20step\x20can\x20skip\x20when\x20the\x20app\x20is\x20already\x20installed;\x20without\x20it,\x20build-skip\x20falls\x20back\x20to\x20the\x20prebuild\x20snapshot\x20only\x20(a\x20cold\x20first\x20run\x20with\x20no\x20snapshot\x20will\x20build).','setTestDataManager','listRuns','accept','win32','Server-issued\x20HMAC\x20over\x20chainId\x20+\x20flows\x20+\x20bridges.\x20Pass\x20verbatim\x20from\x20the\x20planning\x20tool\x27s\x20chain\x20block.\x20The\x20runner\x20rejects\x20calls\x20without\x20it\x20or\x20with\x20a\x20mismatched\x20value.','IXtfD','Poll\x20the\x20WDA\x20source\x20tree\x20until\x20an\x20element\x20matching\x20the\x20query\x20is\x20visible\x20(or,\x20if\x20disappear\x20is\x20true,\x20until\x20it\x20vanishes).\x20Default\x20timeout\x20is\x205s.','line','.\x20Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20re-run\x20the\x20original\x20tool.','selectedAt','Xcode','sendW3CActions','isNoSubstitutionTemplateLiteral','getTarget','NYTgm','disableAutoLock','missingRequiredEnv','local-hash','not\x20associated','camera','The\x20native\x20build\x20failed.\x20See\x20the\x20captured\x20Xcode\x20output.','modal','voBGl','buildWarnings','metroProcess','bytes','Start\x20a\x20chained\x20mobile\x20run.\x20Pass\x20the\x20chain\x20block\x20returned\x20by\x20a\x20planning\x20tool\x20VERBATIM\x20—\x20the\x20runner\x20verifies\x20a\x20server-issued\x20signature\x20on\x20`chainId`\x20/\x20`flows`\x20/\x20`bridges`\x20and\x20rejects\x20any\x20modified\x20plan.\x20For\x20ad-hoc\x20scenarios\x20where\x20you\x20want\x20to\x20drive\x20a\x20custom\x20sequence,\x20use\x20the\x20screen_*\x20primitives\x20directly\x20instead\x20of\x20hand-crafting\x20a\x20chain.\x20Returns\x20one\x20of\x20`snap_point_pending`\x20|\x20`chain_complete`\x20|\x20`error`.\x20Pair\x20with\x20`rn_test_chain_continue`\x20to\x20resume.','Install\x20the\x20optional\x20appium-webdriveragent\x20dep\x20in\x20your\x20project\x20(npm\x20i\x20-D\x20appium-webdriveragent)\x20and\x20retry\x20—\x20see\x20the\x20README\x20Simulator\x20setup.','bridges','[react-native-mcp]\x20WARNING:\x20dropped\x20','rn_check_prebuild','label','No\x20correction\x20(device\x20coordinates)','files','provision','startMetro','Unknown\x20error\x20during\x20tap','snap_point_pending','appConfig','no-rn-project','cacheDoctor','js-exception','lastTouchedMs','::ffff:7f00:1','Test\x20images:\x20call\x20`ceraph_add_camera_image`\x20(writes\x20+\x20auto-syncs\x20the\x20registry),\x20or\x20drop\x20files\x20into\x20','Env\x20var\x20names\x20the\x20planned\x20flows\x20reference.\x20Each\x20must\x20be\x20set\x20+\x20non-empty\x20for\x20doctor\x20to\x20pass.','appex','Bpaqz','retry','qpgeV','UDID_TTL_MS','mcp_servers.react-native-mcp','bootBuffer','extendedCatalog','devicectl','error','Signed\x20in\x20[cached]','network-4xx','getImportDeclaration','ffmpeg\x20not\x20required\x20for\x20simulator\x20targets\x20—\x20`xcrun\x20simctl\x20io\x20recordVideo`\x20(shipped\x20with\x20Xcode)\x20handles\x20video\x20capture.','Scan\x20.ceraph/camera-images/\x20for\x20test\x20images\x20and\x20(re)generate\x20the\x20static\x20`_registry.ts`\x20the\x20app\x20imports\x20at\x20boot.\x20The\x20filename\x20without\x20extension\x20becomes\x20the\x20imageKey\x20passed\x20to\x20<CeraphCamera\x20imageKey>.\x20Call\x20this\x20after\x20adding\x20or\x20removing\x20image\x20files\x20manually\x20(Finder,\x20git\x20pull).\x20`ceraph_add_camera_image`\x20already\x20auto-syncs\x20after\x20each\x20write\x20—\x20only\x20call\x20this\x20tool\x20for\x20manual\x20drops.\x20Idempotent\x20—\x20does\x20not\x20rewrite\x20the\x20registry\x20when\x20it\x20already\x20matches\x20the\x20discovered\x20set.','connected','jpg','$1-$2','isRunning','awake','capErrors','Could\x20not\x20detect\x20a\x20supported\x20image\x20format\x20from\x20the\x20decoded\x20bytes.','advanceUntilPauseOrEnd','pause','llm-decides','pid','listInstalledAppsSimulator','.ceraph/last-build-snapshot.json','Index\x20','projectPath','tapAtPoint','Access-Control-Allow-Headers','installCeraph','\x20in\x20your\x20environment.','single','Request\x20a\x20JS\x20bundle\x20reload\x20on\x20the\x20running\x20RN\x20app\x20by\x20dispatching\x20the\x20`ceraph://reload`\x20deep\x20link\x20through\x20WDA.\x20Requires\x20the\x20app\x20to\x20have\x20called\x20`installSignalCapture()`\x20(or\x20otherwise\x20registered\x20the\x20reload\x20deep-link\x20listener)\x20at\x20boot.\x20Waits\x20up\x20to\x20`timeoutMs`\x20for\x20WDA\x20to\x20become\x20responsive\x20again,\x20then\x20captures\x20a\x20screenshot.\x20Dev-only;\x20does\x20nothing\x20in\x20a\x20production\x20build.','utf8','charCodeAt','kill','perFlowStatedDependencies','tooLarge','\x20extended\x20pkgs)','isImportClause','disableHeartbeat','stepIndex','applyRecreate','deleteAsyncStorageKeys','publicKey','X\x20coordinate\x20to\x20tap','delete','inflight','Existing\x20sign-in\x20is\x20from\x20the\x20old\x20GitHub\x20OAuth\x20flow\x20—\x20re-authenticating\x20against\x20the\x20new\x20browser\x20flow.','recreate','bwrfA','No\x20token\x20provided.','apiBase','removedRuntimeFiles','subscription','expiresAt','@react-native','yjuAy','labelledBack','moved','unlink-failed','findAndTapReturningTree','listapps','device_set_orientation','bootWriteCount','yPxfo','ensureBabelPlugin','HuSUr','expandedSteps','1-based\x20line\x20of\x20the\x20opening\x20<CameraView>\x20tag.','clear','dist','zXUkA','runtimeErrors','query\x20is\x20required\x20and\x20must\x20not\x20be\x20empty.','right','\x20file(s):','getInitializer','alreadyHasImageKey','pnpm','isMetroRunning','cacheTtlMs','auth\x20provider\x20\x27firebase\x27\x20requires\x20firebase-admin\x20in\x20package.json.\x20Run:\x20npm\x20install\x20firebase-admin','rnManager','no-flows','intervalMs','cacheDir','127.0.0.1','output','email_verified','screen_tap_chain','installedAppsCache','mutation','recordAsyncStorageRead','build','toLowerCase','ingest','heif','auto-accept','mtimeMs','log','127.','OjwbY','exitCode','pCyBO','clearSimulatorWdaPort','\x20bytes\x20truncated>\x20…\x20','warn','yarn','startInFlight','readFile','expo-camera','install','iwUns','SsKSm','→\x20anonymous','.\x20Clean\x20prebuild\x20recommended.','qSYJW','componentName','\x20selector=','copy','PATCH','heim','No\x20element\x20found\x20for\x20query\x20at\x20index\x20','coordinateSource','auth-profile','expectedSelectors','stale-build','mkdirFn','detectPackageManager','role','Element\x20not\x20found','hostOverride','onRedbox','[ceraph]\x20video\x20recorder\x20threw\x20for\x20runId=','expandFlowPlaceholders','providerUserId','intent','pointerUp','foregroundApp','getLineAndColumnAtPos','Npsvi','account-invalid','HEAD','bTCcP','queries','Button','updateRunIndex','providerId','volumeDown','onChildSpawned\x20callback\x20threw:\x20','pro','You\x27re\x20set\x20up\x20on\x20Starter\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.','ref','removedSiblingPath','nonnegative','size','realDeviceHookInflight','inStackTrace','imageKey\x20\x27','QVyQT','Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20or\x20boot\x20a\x20simulator\x20(open\x20-a\x20Simulator),\x20then\x20retry.','nonInteractive','firebase-admin','col','index','bootSource','toggleMethod',').\x20Find\x20them\x20on\x20disk\x20under\x20.ceraph/runs/<runId>/\x20and\x20correlate\x20with\x20the\x20run\x27s\x20recorded\x20video.','absolutePath','image/','fdyxl','isImportSpecifier','@ceraph/react-native-mcp','reload','.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.','\x20library\x20pkgs,\x20','WebDriverAgent\x20did\x20not\x20become\x20reachable\x20on\x20:8100\x20within\x20','passedCount','filesScanned','Divided\x20by\x20','#!/bin/bash\x0a#\x20rn-error-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-errors.json\x20and\x20injects\x20runtime\x20errors\x20into\x20Claude\x27s\x20context.\x0a\x0aERROR_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-errors.json\x22\x0a\x0a#\x20Also\x20check\x20project\x20root\x20if\x20mobile/\x20doesn\x27t\x20exist\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20ERROR_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-errors.json\x22\x0afi\x0a\x0aif\x20[\x20!\x20-f\x20\x22$ERROR_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aERROR_COUNT=$(jq\x20-r\x20\x27.errors\x20|\x20length\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null)\x0a\x0aif\x20[\x20\x22$ERROR_COUNT\x22\x20=\x20\x220\x22\x20]\x20||\x20[\x20-z\x20\x22$ERROR_COUNT\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aecho\x20\x22REACT\x20NATIVE\x20RUNTIME\x20ERROR\x20DETECTED:\x22\x0aecho\x20\x22\x22\x0ajq\x20-r\x20\x27.errors[]\x20|\x20\x22Error:\x20\x5c(.message)\x5cnStack:\x20\x5c(.stack)\x5cnTime:\x20\x5c(.timestamp)\x5cn---\x22\x27\x20\x22$ERROR_FILE\x22\x202>/dev/null\x0aecho\x20\x22\x22\x0aecho\x20\x22Use\x20rn_get_errors\x20for\x20full\x20details.\x20Fix\x20the\x20error\x20and\x20rebuild.\x22\x0a','runReloadRecoveryWitness','--json','destination\x20primary\x20selector\x20visible','CognitoIdentityProviderClient','beforeAll','componentHook:\x20hookName\x20must\x20be\x20a\x20non-empty\x20string','withLock','bootCaptureTail','added','inconclusive','connection','could\x20not\x20confirm\x20the\x20app\x20is\x20installed','spawn-failed','ensureLaunched','Restart\x20Claude\x20Code\x20(or\x20your\x20MCP\x20client)\x20to\x20load\x20the\x20Ceraph\x20tools.','react-native\x20run-ios','yarn.lock','info.plist','Natural-language\x20description\x20of\x20the\x20flow(s)\x20to\x20find\x20(e.g.\x20\x27user\x20logs\x20in\x27,\x20\x27add\x20item\x20to\x20cart\x27).','Unknown\x20error\x20during\x20openUrl','__proto__','runBridge','3ZAcKgC','action','persisted','console-error','resized','Couldn\x27t\x20auto-install\x20appium-webdriveragent\x20—\x20install\x20it\x20manually\x20with\x20`','[react-native-mcp]\x20','Start\x20the\x20Metro\x20dev\x20server.\x20Auto-detects\x20Expo\x20vs\x20bare\x20React\x20Native.\x20Monitors\x20console\x20output\x20for\x20runtime\x20errors\x20and\x20warnings.\x20To\x20bring\x20everything\x20up\x20in\x20one\x20call\x20(Metro\x20+\x20build\x20+\x20verify),\x20use\x20ceraph_start.','CFBundleName','PlannedChainInput.bridges\x20must\x20be\x20an\x20array.','flows','→\x20mutated\x20value\x20NOT\x20observed\x20in\x20reader\x20UI','projectDir','step-','Unknown\x20error\x20during\x20setOrientation','Could\x20not\x20dispatch\x20reload\x20deep\x20link:\x20','invalid-subdir','.json','preflight','\x20id=','https://ceraph.dev/api/catalog/public-key','project-not-found','Delete\x20on-disk\x20chain-run\x20artifacts\x20(per-step\x20screenshots\x20+\x20run\x20index)\x20older\x20than\x20a\x20threshold.\x20Use\x20to\x20free\x20disk\x20before\x20disk\x20pressure\x20becomes\x20a\x20problem,\x20or\x20to\x20drop\x20runs\x20containing\x20sensitive\x20screenshots.\x20Defaults\x20to\x20`14d`\x20(matches\x20the\x20server\x27s\x20startup-retention\x20sweep).\x20Pass\x20`30d`\x20for\x20a\x20more\x20conservative\x20purge\x20or\x20`all`\x20to\x20wipe\x20every\x20cached\x20run\x20on\x20the\x20machine.\x20Returns\x20the\x20list\x20of\x20evicted\x20runIds,\x20bytes\x20freed,\x20and\x20how\x20many\x20runs\x20remain\x20cached.','HkHXu','imageKey','\x20\x20//\x20No\x20images\x20registered\x20yet.\x20Drop\x20files\x20into\x20.ceraph/camera-images/\x0a\x20\x20//\x20and\x20re-run\x20`rn_sync_camera_registry`.\x0a}\x0a','flowRunner','optimistic\x20rollback:\x20','deps','keys','stack','macOS\x20Screen\x20Recording\x20permission\x20not\x20granted.\x20Open\x20System\x20Settings\x20→\x20Privacy\x20&\x20Security\x20→\x20Screen\x20Recording\x20and\x20enable\x20your\x20terminal\x20app\x20(Terminal\x20/\x20iTerm\x20/\x20Warp\x20/\x20Cursor\x20/\x20VS\x20Code\x20—\x20whichever\x20launched\x20the\x20MCP).\x20After\x20granting,\x20fully\x20quit\x20and\x20relaunch\x20the\x20terminal,\x20then\x20unplug\x20and\x20replug\x20your\x20iPhone\x20before\x20retrying.','zsJiU','screen_screenshot','bun.lockb','fetcher','hex','ceraph-uninstall-claude-hooks-preview-','MessageType','Hook\x20script:\x20.claude/hooks/rn-error-notify.sh\x20✓','[ceraph]\x20JIT\x20provision\x20failed:\x20','createdAt','XGTMM','already-present','opts','componentHook:\x20returns\x20must\x20be\x20an\x20object','saveBuildSnapshot','stdin','ternary-with--1','has','state','/callback','simulator','details','join','outside\x20','matches','awaiting_decision','could\x20not\x20read\x20the\x20file','reload-recovery','setRealDeviceHook','sim','parse','int','readJson','runs','steps','videoStartError','getElements','No\x20real\x20iOS\x20device\x20detected\x20—\x20target\x20is\x20simulator,\x20so\x20this\x20is\x20fine.','writeSet','scriptAbsPath','device_ensure_awake','Dry-run\x20camera\x20preview\x20failed.\x20Re-run\x20without\x20--dry-run\x20after\x20fixing\x20the\x20error\x20above,\x20or\x20pass\x20--project-dir\x20if\x20the\x20path\x20is\x20wrong.','discoveredIn','bind-failed','unchanged','progressWriter','server','round','no-gitignore','recordBootRequest','The\x20simulator\x20WebDriverAgent\x20build\x20ran\x20for\x20','verify-observation','rn_wait_for_device','nEntr','installStdioToStderr','destination\x20primary\x20selector\x20NOT\x20visible','xWEsR','-destination','absPath','isArray','BeNOW','mutationKind','installCeraph()\x20already\x20wired\x20in\x20','URL-path\x20patterns\x20used\x20to\x20scope\x20boot-time\x20request\x20bodies\x20the\x20AI\x20agent\x20sees.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.\x20Empty\x20or\x20absent\x20means\x20no\x20scoping.','ceraph-react-native-mcp','listChangedFiles','EZrxD','rvIdr','distancePx','toUpperCase','Could\x20not\x20list\x20installed\x20apps:\x20','listen\x20failed','ajXip','id=','runStep','loadSnapshot','removeEventListener','hlpCj','flush','\x20[y/N]\x20','searchElements','false','subDir\x20\x27','droppedCount','failureCause','relPath','connect','Unknown\x20error\x20during\x20getActiveAppInfo','statusCode','runVerifyMarkers','bundleIdentifier','reused','axuaU','peerDependencies','.babelrc.js','detectProjectType','http://localhost:','address','ask','Your\x20project\x20uses\x20','Allow\x20Once','high','random','qWeoi','ceraph_init_replace_camera','js-error','claude-hooks','clean','bootWriteCounter','Per-flow\x20conditions\x20the\x20AI\x20agent\x20uses\x20to\x20reason\x20about\x20user\x20identity.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.','mcpServers','array','Could\x20not\x20locate\x20the\x20default-exported\x20function\x20component.\x20Manually\x20add\x20the\x20following\x20near\x20the\x20top\x20of\x20your\x20root\x20component\x20in\x20','Compound\x20primitive:\x20tap\x20a\x20sequence\x20of\x20elements\x20as\x20ONE\x20W3C\x20actions\x20call.\x20The\x20AX\x20tree\x20is\x20fetched\x20once;\x20each\x20query\x20resolves\x20against\x20that\x20snapshot.\x20If\x20any\x20query\x20fails\x20to\x20resolve,\x20the\x20chain\x20stops\x20and\x20ZERO\x20gestures\x20are\x20sent\x20(we\x20never\x20partial-tap\x20an\x20intent).\x20On\x20bulk-endpoint\x20failure,\x20falls\x20back\x20to\x20serial\x20taps\x20(batched:\x20false).\x20Useful\x20for\x20short\x20fixed\x20sequences\x20(open\x20menu\x20→\x20pick\x20option\x20→\x20confirm)\x20where\x20each\x20tap\x20doesn\x27t\x20depend\x20on\x20intermediate\x20re-rendering.','replace','PlannedChainInput.flows\x20must\x20contain\x20at\x20least\x20one\x20flow.','No\x20<CameraView>\x20usages\x20found\x20in\x20app/,\x20src/,\x20screens/,\x20App.tsx','deleted-file','totalReplacements','Supabase\x20adapter\x20requires\x20`projectUrl`\x20for\x20cleanup.','diff','ArXYY','-c:v','Skipped\x20—\x20no\x20.ceraph/camera-images/\x20directory.\x20Drop\x20test\x20images\x20there\x20to\x20enable\x20the\x20camera\x20shim.','.png','controlMode','rFueP','Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20over\x20plaintext\x20HTTP\x20to\x20a\x20non-local\x20host:\x20\x22','Element\x20not\x20visible\x20after\x203000ms:\x20','mime','deep-link\x20(command\x20channel\x20unavailable\x20—\x20:8101\x20not\x20bound\x20by\x20this\x20session)','avfoundation','Delete\x20on-demand\x20managed\x20test\x20users.\x20Pass\x20`id`\x20to\x20remove\x20one\x20user\x20or\x20`all:\x20true`\x20to\x20wipe\x20every\x20on-demand\x20user\x20for\x20this\x20project.\x20Local\x20records\x20are\x20removed\x20even\x20if\x20the\x20provider-side\x20delete\x20fails\x20(clean\x20up\x20via\x20the\x20provider\x27s\x20dashboard\x20if\x20needed).\x20Pro\x20tier\x20only.',')\x20after\x20','FaJfB','layoutCount','app.json','signal','no-changes','rn_target_status','runId','column','iQpAZ','getUdid','projectUrl','keyboard','utf-8','lkxFo','\x20bytes;\x20the\x20limit\x20is\x20','POST','No\x20iOS\x20device\x20detected.','Code=115','errorMessage','workspaces','some','seeded','Could\x20not\x20resolve\x20the\x20device\x20hardware\x20UDID\x20for\x20the\x20xcodebuild\x20destination.\x20Plug\x20in\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20retry.\x20To\x20pin\x20it\x20explicitly,\x20set\x20CERAPH_DEVICE_HARDWARE_UDID\x20to\x20the\x20device\x20UDID\x20(the\x20value\x20`iproxy\x20-u`\x20uses,\x20e.g.\x2000008140-001958943A78801C\x20—\x20NOT\x20the\x20CoreDevice\x20id\x20devicectl\x20prints).','\x20files\x20changed\x20vs\x20','\x22]\x0a','deleted','14d','\x20Open\x20the\x20sign-in\x20URL,\x20copy\x20the\x20token\x20it\x20issues,\x20and\x20re-call\x20ceraph_init\x20with\x20that\x20value\x20as\x20`token`.','isProTier','WDA\x20touchAndHold\x20failed:\x20','found','.bashrc','camera-images','WDA\x20screenshot\x20failed:\x20','getNameNode','Port\x20','POSITIVE_INFINITY','`\x20exited\x20with\x20code\x20','outputToStderr','jit','system_profiler','buildFailed','settings.local.json','getWorkingTreeDiff','Brrto','ms.\x20If\x20this\x20is\x20the\x20first\x20relaunch\x20since\x20a\x20reboot\x20it\x20may\x20just\x20be\x20slow\x20—\x20retry.\x20Otherwise\x20check\x20the\x20device\x20is\x20unlocked\x20and\x20the\x20WDA\x20runner\x20is\x20signed\x20for\x20it.','stop','Xqaql','stringify','Use\x20only\x20[a-z0-9-],\x20no\x20leading/trailing/consecutive\x20hyphens,\x20no\x20spaces,\x20no\x20uppercase.\x20Example:\x20`handwriting-sample-1`.','stopAll','Max\x20time\x20in\x20ms\x20to\x20wait\x20for\x20the\x20app\x20to\x20come\x20back\x20after\x20the\x20reload\x20(default\x2010000).','send','WDA\x20keys\x20(backspace)\x20failed:\x20','permissionInterceptor','xcrun\x20devicectl\x20not\x20available\x20—\x20install\x20Xcode\x2015\x20or\x20newer.','userPoolId','requiresEnv','Project\x20cached\x20server-side:\x20','metroOutput','ceraph://reset','\x20is\x20not\x20an\x20array\x20of\x20strings\x20—\x20preserved','FileChanged','registered','encode','rn_stop','xcrun','abort','drainCommandsForTesting','api-error','flow','eGXSq','rn_test_chain_continue','nzVMd','githubUser','babelConfigHash','home','Open\x20a\x20URL\x20/\x20deep\x20link\x20on\x20the\x20device\x20to\x20jump\x20straight\x20to\x20a\x20screen\x20—\x20useful\x20for\x20testing\x20your\x20app\x27s\x20deep-link\x20routes\x20(e.g.\x20myapp://product/42).\x20If\x20the\x20scheme\x20isn\x27t\x20registered\x20in\x20the\x20app\x20under\x20test,\x20the\x20result\x20carries\x20an\x20actionable\x20message\x20explaining\x20the\x20app\x20needs\x20a\x20rebuild\x20to\x20pick\x20up\x20the\x20scheme.','\x0aCamera\x20test\x20images:','awaitingErrorDecision','Re-run\x20`rn_sync_camera_registry`\x20manually\x20to\x20regenerate\x20`_registry.ts`.\x20The\x20image\x20file\x20itself\x20is\x20on\x20disk\x20and\x20safe.','contents','timer','Doctor:\x20','.zshrc','getActiveAppInfo','FUAmz','revertUserGlobalMcpClients','TkrbK','mutation-fired','fYEIW','XPTCB','ceraph_uninstall_run','readyResolve','[react-native-mcp]\x20Server\x20started\x20on\x20stdio\x20transport','setOnSignal','bodyBytes','YnnSq','unknown\x20reason','domain','XBCve','pendingStorageAckResolver','@ceraph/react-native-mcp/shim','PpONs','checkIdb','\x20catalog\x20entries\x20during\x20validation\x20(client\x20build\x20may\x20predate\x20a\x20newer\x20server\x20schema):\x20','repo','_systemBack','getDefaultBranch','key','lastContactAt','statFn','Sign\x20in\x20by\x20opening\x20the\x20browser.\x20Spawns\x20a\x20localhost\x20listener,\x20opens\x20ceraph.dev/cli-auth,\x20waits\x20for\x20the\x20issued\x20token,\x20and\x20writes\x20it\x20to\x20~/.ceraph/auth.json.\x20Returns\x20{\x20status:\x20\x27ok\x27,\x20email?\x20}\x20on\x20success,\x20{\x20status:\x20\x27aborted\x27\x20}\x20when\x20the\x20MCP\x20client\x20cancelled\x20the\x20tool\x20call\x20(don\x27t\x20prompt\x20the\x20user\x20—\x20just\x20stop),\x20or\x20{\x20status:\x20\x27error\x27,\x20error\x20}\x20on\x20unexpected\x20failure\x20(including\x20\x27No\x20token\x20provided.\x27\x20when\x20the\x20browser\x20flow\x20times\x20out\x20and\x20the\x20user\x20doesn\x27t\x20paste\x20a\x20token).\x20TOKEN\x20HAND-OFF:\x20when\x20the\x20flow\x20can\x27t\x20complete\x20on\x20this\x20machine\x20(headless,\x20browser\x20on\x20another\x20device,\x20timeout),\x20surface\x20https://ceraph.dev/cli-auth\x20to\x20the\x20user,\x20ask\x20them\x20to\x20paste\x20the\x20token\x20it\x20issues\x20into\x20the\x20chat,\x20then\x20re-call\x20this\x20tool\x20with\x20that\x20value\x20as\x20`token`\x20—\x20it\x20is\x20persisted\x20directly\x20and\x20no\x20browser\x20opens.\x20For\x20a\x20COMPLETE\x20setup\x20(every\x20phase,\x20not\x20just\x20sign-in),\x20prefer\x20`ceraph_init`\x20—\x20it\x20runs\x20this\x20same\x20token\x20hand-off\x20AND\x20the\x20full\x20walkthrough\x20in\x20one\x20call.','yBESs','selector=','required-env-vars','parseError','/rn-find-flows','bun','route','flow\x20name\x20exceeds\x20256\x20characters.','Image\x20is\x20','141888wAYKTr','Text','lockState','unspecified\x20failure','removedImport','signal=','camera-registry-synced','getTestIdReady','\x20RN\x20apps\x20(','seamed','accessToken','All\x20<CeraphCamera\x20imageKey>\x20values\x20resolve\x20to\x20files\x20in\x20.ceraph/camera-images/.','ignore','@aws-sdk/client-cognito-identity-provider','cleanup','floor','.\x20These\x20names\x20do\x20not\x20match\x20any\x20flow\x20in\x20chain.flows[].name.\x20Diff-affected\x20screenshot\x20capture\x20will\x20only\x20fire\x20for\x20matching\x20names.\x0a','ceraph_purge_runs','uwJjT','pollIntervalMs','device-awake','failed','returns','fOmHa','hostname','bcJQg','.next','getText','legacy','Build\x20and\x20run\x20the\x20React\x20Native\x20app\x20on\x20an\x20iOS\x20device\x20or\x20simulator.\x20Auto-detects\x20Expo\x20vs\x20bare\x20React\x20Native\x20and\x20uses\x20the\x20correct\x20command.\x20Captures\x20Xcode\x20build\x20output\x20and\x20returns\x20structured\x20error\x20information.\x20If\x20clean\x20is\x20true,\x20runs\x20`npx\x20expo\x20prebuild\x20--clean`\x20first\x20(Expo\x20only).\x20To\x20bring\x20everything\x20up\x20in\x20one\x20call\x20(Metro\x20+\x20build\x20+\x20verify),\x20use\x20ceraph_start.','XGXjT','rn_start','replaced','Link','--port','firebase','main','last-build-snapshot.json','Unknown\x20chain\x20error','Refusing\x20to\x20send\x20your\x20Ceraph\x20token\x20to\x20a\x20\x22','formatNetworkDetail','Preflight\x20passed\x20(target\x20ready,\x20required\x20env\x20present).','importKey','\x20is\x20not\x20installed','perFlowMutexWith','stripped','ticking','terminateAppViaWDA','tQHgi','already-reverted','pendingCommandAcks','getName','default','subtle','More\x20about\x20the\x20plans\x20→\x20','ms)\x20exceeded\x20before\x20step\x20','network-failure','auth-error','Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20applicable\x20to\x20simulator\x20targets.','cwd','registryState','settings.json','jxcaV','No\x20bare\x20<CameraView>\x20usages\x20from\x20expo-camera\x20found\x20in\x20app/src/screens.','getLockState','lastRedboxSignature','block','StaticText','getStatements','Claude\x20Code:\x20','en5','writeFile','simulatorWdaPort','testID\x20injector\x20already\x20wired\x20in\x20','KCGjt','tapCoords','linker','WDA\x20unavailable\x20—\x20call\x20rn_wda_start\x20first\x20if\x20testing\x20on\x20a\x20simulator.','platform=iOS\x20Simulator,id=','/wda/activeAppInfo','hHXth','Unknown\x20error\x20during\x20findAndTapReturningTree','dismiss','getGitSha','Unlock\x20the\x20device\x20manually\x20and\x20set\x20Auto-Lock\x20to\x20Never.','reasons','plugins','matchCount','initialObservation','test','<unknown\x20element>','bin','xcodebuild\x20printed\x20the\x20WDA\x20port\x20marker\x20but\x20then\x20exited\x20with\x20code\x20','Username-Password-Authentication','agentMode','pod','gitignore','insertElement','find-fallback','fromEntries','hideKeyboardAfter','listener','were\x20not\x20touched\x20in\x20this\x20run.','\x27\x20at\x20','tIVIh','No\x20managed\x20processes\x20were\x20running.','errorSignature','.gemini','pushLine','Which\x20plan?','\x20(secret\x20env:\x20','.\x20Stale\x20native\x20modules\x20may\x20cause\x20build\x20errors.','Resume\x20a\x20chain\x20run\x20that\x20previously\x20returned\x20`snap_point_pending`\x20OR\x20`awaiting_error_decision`.\x20Pass\x20the\x20`runId`\x20and\x20the\x20AI\x20agent\x27s\x20decision:\x0a\x20\x20•\x20`snap_point_pending`\x20→\x20`continue`\x20(keep\x20current\x20user)\x20|\x20`recreate`\x20(wipe\x20app\x20state,\x20then\x20run\x20next\x20flow).\x0a\x20\x20•\x20`awaiting_error_decision`\x20→\x20`retry`\x20(re-run\x20the\x20failed\x20flow\x20once;\x20second\x20failure\x20terminalizes)\x20|\x20`halt`\x20(terminalize\x20the\x20run\x20immediately\x20with\x20the\x20recorded\x20failure).\x0aA\x20decision\x20that\x20doesn\x27t\x20match\x20the\x20active\x20pause\x20state\x20is\x20rejected\x20with\x20an\x20error\x20response\x20naming\x20the\x20actual\x20pause\x20—\x20re-issue\x20with\x20the\x20correct\x20verb.\x20Returns\x20the\x20next\x20response\x20—\x20another\x20pause,\x20chain\x20completion,\x20or\x20an\x20error.','CqFYc','[ceraph][ceraph-infra]\x20surgical\x20AsyncStorage\x20delete\x20returned\x20no\x20ACK\x20or\x20failure\x20for\x20keys:\x20','YZHVb','already','createClient','WebDriverAgent\x20already\x20reachable\x20—\x20skipped\x20iproxy\x20auto-bridge.','[ceraph][rn_wait_for_device]\x20usbmuxd\x20socket\x20unavailable;\x20falling\x20back\x20to\x20polling.\x20Install\x20Xcode\x20for\x20sub-second\x20device\x20detection.\x0a','runExpoConfig','hint','PRODUCT_TYPE','addNamedImport','alloc','UnxJK','scheme','Allow','[ceraph-test-data]\x20adapter\x20cleanup\x20failed\x20for\x20','networkInterfaces','CFBundleVersion','revertSignalHostEnv','npm','.vscode','/cli-auth\x20in\x20your\x20browser\x20to\x20sign\x20in.\x20If\x20the\x20browser\x20didn\x27t\x20open,\x20visit\x20the\x20URL\x20manually:\x0a\x20\x20','entry','Failed\x20to\x20focus\x20element\x20before\x20clearing',')\x20—\x20preserved','setInitializer','snapshotPath','cert','ProvisionError','purgeRun','DSPeg','chainId','hasOwnProperty','started','registry-sync-failed','Tap\x20at\x20specific\x20coordinates\x20on\x20the\x20iOS\x20device\x20screen\x20via\x20WebDriverAgent.\x20Automatically\x20corrects\x20for\x20pixel\x20ratio\x20mismatch\x20when\x20coordinates\x20come\x20from\x20a\x20screenshot\x20(divides\x20by\x20device\x20pixel\x20ratio).\x20Requires\x20WebDriverAgent\x20reachable\x20(localhost:8100\x20on\x20a\x20real\x20device;\x20call\x20rn_wda_start\x20first\x20for\x20a\x20simulator).','Laptop\x20is\x20on\x20WiFi\x20\x27','qHsDh','30d','busy','Ceraph\x20rate\x20limit\x20hit.\x20Try\x20again\x20in\x20a\x20few\x20seconds.','Firebase\x20deleteUser\x20failed:\x20','spawnRemove','eGQye','.\x20Stop\x20whatever\x20holds\x20:8101\x20(lsof\x20-nP\x20-iTCP:8101)\x20—\x20the\x20session\x20reclaims\x20it\x20automatically\x20—\x20or\x20rebuild\x20so\x20the\x20ceraph://\x20scheme\x20is\x20registered.','baseUrl','app.config.ts','XKneP','Could\x20not\x20find\x20app/_layout.tsx\x20or\x20App.tsx.\x20Add\x20this\x20to\x20your\x20root\x20component\x20manually\x20(the\x20require\x20path\x20is\x20relative\x20to\x20that\x20file\x20—\x20`./.ceraph/testid-config.json`\x20from\x20a\x20root\x20App.tsx,\x20`../.ceraph/testid-config.json`\x20from\x20app/_layout.tsx):\x0a\x20\x20useEffect(()\x20=>\x20{\x20installCeraph({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22./.ceraph/testid-config.json\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20});\x20},\x20[]);','present','WebDriverAgent\x20is\x20not\x20reachable\x20at\x20','appium-webdriveragent','ceraph://reload','Post-reload\x20snapshot\x20failed\x20(WDA\x20unreachable\x20or\x20source\x20error)','antigravity','Chain\x20halted\x20by\x20LLM\x20at\x20flow\x20\x22','Execute\x20one\x20or\x20more\x20flows\x20by\x20flowId\x20against\x20the\x20connected\x20iOS\x20app.\x20flowIds\x20come\x20from\x20rn_find_flows\x20or\x20rn_list_flows\x20responses\x20—\x20NEVER\x20invent\x20or\x20guess\x20them.\x20For\x20comprehensive\x20verification,\x20pass\x20every\x20flowId\x20from\x20the\x20preview.\x20At\x20most\x2010\x20flowIds\x20per\x20call\x20—\x20for\x20previews\x20larger\x20than\x20that,\x20batch\x20the\x20ids\x20across\x20multiple\x20rn_test_flows\x20calls.\x20The\x20server\x20orders\x20execution\x20(planner\x20priority\x20plus\x20chain\x20grouping\x20—\x20chainable\x20selections\x20run\x20back-to-back\x20in\x20one\x20device\x20session,\x20the\x20rest\x20individually),\x20so\x20the\x20order\x20of\x20the\x20ids\x20you\x20pass\x20carries\x20no\x20meaning.\x20Returns\x20per-step\x20screenshots\x20plus\x20any\x20runtime\x20errors.\x20If\x20any\x20id\x20is\x20unknown,\x20the\x20error\x20payload\x20includes\x20an\x20`available`\x20list\x20of\x20{flowId,\x20name}\x20to\x20re-pick\x20from.\x20Requires\x20auth\x20—\x20run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20first.','auto-only-simulator','set','Working\x20from\x20','in\x20','witnesses','resolveSha','shortVersionString','Test\x20image\x20registry\x20','componentHook','realDeviceHookFiredFor','currentStack','handle','signals','clearFirst','No\x20<CeraphCamera>\x20at\x20','Claude\x20Code\x20hook:\x20','bun.lock','getBuildOutput','No\x20element\x20found\x20matching\x20query:\x20','resetDelayMs','errors','Auth0\x20adapter\x20requires\x20`domain`\x20for\x20cleanup.','ffmpeg-installed','\x20swipes:\x20','positive','getJitUser','PUT','zkAJB','now','getErrors','Chain\x20aborted:\x20','\x20is\x20','udidResolved','user','cwd\x20is\x20a\x20React\x20Native\x20/\x20Expo\x20app','WebDriverAgent.xcodeproj','createConnection','isExportAssignment','buildOutput','Failed\x20to\x20get\x20element\x20tree:\x20','OTEjD','unknown','jpeg','New\x20dependencies\x20added:\x20','.\x20If\x20you\x20no\x20longer\x20need\x20the\x20customized\x20version,\x20delete\x20the\x20file\x20manually.\x20Settings\x20entries\x20pointing\x20at\x20the\x20script(s)\x20','yHcFL','1143240tyEzWM','SUPPRESS','already-handled','outside\x20form\x20region','bad-response','onAuthStateChanged','processIdentifier','kind','No\x20booted\x20iOS\x20simulator\x20found.\x20Boot\x20one\x20first:\x20`xcrun\x20simctl\x20boot\x20<udid>`\x20or\x20open\x20it\x20via\x20`open\x20-a\x20Simulator`\x20and\x20pick\x20a\x20device.\x20Then\x20retry\x20`rn_wda_start`.','bootCaptureMode','mutexWith','detectedContentType','fallbackText','endsWith','QJakm','Resize\x20or\x20recompress\x20the\x20image\x20before\x20uploading.\x20Test\x20fixtures\x20rarely\x20need\x20to\x20be\x20larger\x20than\x201\x20MB\x20—\x20over-large\x20fixtures\x20inflate\x20the\x20repo\x20and\x20slow\x20Metro\x20bundling.\x20Cap:\x205\x20MB.','killed','text,\x20accessibilityLabel,\x20or\x20type\x20is\x20required.','sourceMethod','Unknown\x20error\x20during\x20findAndTap','screen_type_into_field','purgeImages','GrjWY','starter','childExit','zaEFS','IhMuc','timestamp','mrjyM','reverted','left','Target:\x20unknown\x20(resolver\x20failed).\x20Falling\x20back\x20to\x20device\x20defaults.','adapter','fndIZ','\x20>\x20','pipe','ScreenManager\x20not\x20provided\x20—\x20cannot\x20query\x20active\x20app\x20via\x20WDA.','workingDir','\x0a}\x0a','Unhandled\x20JS\x20Exception:\x20','\x20require(\x22','/cli-auth?port=','.mobile-mcp','expo-config-needs-manual','Skipped\x20installCeraph()\x20injection.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20wire\x20it.','Bearer\x20','Another\x20process\x20holds\x20the\x20device-signal\x20port\x20(:8101),\x20so\x20Ceraph\x27s\x20command\x20channel\x20is\x20unavailable\x20in\x20this\x20session,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20','Unknown\x20error\x20during\x20typeIntoField','udidResolvedAt','/wda/apps/terminate','apps/mobile','flowId','WDA\x20apps/terminate\x20failed:\x20','dTRXL','fRzMt',');\x20installed\x20appium-webdriveragent.','start','testDataManager','Library','exit','direction','Could\x20not\x20resolve\x20GitHub\x20remote.\x20Run\x20from\x20a\x20git\x20repository\x20whose\x20origin\x20points\x20to\x20github.com.','uDiRr','[ceraph]\x20video\x20recorder\x20shutdown\x20stop\x20failed:\x20','dirBytes','pluginVersion','clearText','outputPath','which','response-ui-divergence','chain_complete','isDirectory','nextScheme','-scheme','success','getLiteralText','Run\x20`ceraph_doctor`\x20for\x20the\x20full\x20state\x20including\x20warnings\x20+\x20info\x20findings\x20(e.g.\x20camera\x20setup\x20hints).','reloadRecoveryWitnesses','tmpRoot','Failed\x20to\x20focus\x20field\x20(serial\x20fallback)','spawn','Ceraph\x27s\x20device-signal\x20listener\x20couldn\x27t\x20start\x20(e.g.\x20a\x20permission\x20error\x20or\x20an\x20invalid\x20CERAPH_SIGNAL_HOST),\x20so\x20the\x20command\x20channel\x20is\x20unavailable\x20in\x20this\x20session,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20','isCallExpression','KeLso','PRODUCT_BUNDLE_IDENTIFIER','Image','missingEnv','Optional\x20swipe\x20start\x20point.\x20Defaults\x20to\x20screen\x20center.','runsStore','installCeraph-with-others','getParent','ExpressionStatement','snapshotTarget','pFeby','Init\x20failed:','ceraph_test_data_cleanup\x20failed:\x20','snapshotReachable','built','malformed','installCeraph()\x20is\x20wrapped\x20in\x20a\x20useEffect\x20that\x20also\x20contains\x20other\x20statements\x20(see\x20','url=','omitted','dialog','bare','disappear','app','TextField','`continue`\x20or\x20`recreate`','zYtuS','Supabase\x20createUser\x20failed:\x20','Ncpho','end','screen_wait_for','tap','iPkJz','drainBootRequests','/actions','WDA\x20setOrientation\x20failed:\x20','wifi','tJJEb','CERAPH_AUTH_DOMAIN','Signal\x20listener\x20bound\x20on\x20port\x20','getExpression','app.config.js','objectiveSignals','severity','Properties','mif1','unlock','videoRecorderFactory','SIGTERM','--short','udidInflight','componentHook:\x20entry\x20is\x20not\x20an\x20object','auth','invalidate','bare-rn','failedAt','on-demand','argv','nextFlowIndex','\x27\x20must\x20be\x20a\x20single\x20lowercase\x20segment.','screens','responseValue','Codex:\x20configured\x20✓','enforceCapacityCap','getClosingElement','method','manualSteps','accessibilityLabel','Call\x20rn_wda_start\x20to\x20launch\x20WebDriverAgent\x20on\x20the\x20simulator,\x20then\x20retry\x20(first\x20launch\x20runs\x20a\x20one-time\x20xcodebuild\x20for\x20code\x20signing;\x20later\x20launches\x20reuse\x20the\x20cache).','get','mchain-run-','findDeviceAppPid','save','defaultYes','controlShape','Failed\x20to\x20launch\x20app','Multiple\x20React\x20Native\x20subpackages\x20detected.\x20Pass\x20--project-dir\x20to\x20target\x20a\x20specific\x20subpackage,\x20e.g.\x20`--project-dir\x20','\x20is\x20held\x20by\x20another\x20process\x20—\x20usually\x20a\x20second\x20Ceraph\x20MCP\x20(a\x20different\x20project,\x20or\x20a\x20stale/orphaned\x20session),\x20but\x20possibly\x20an\x20unrelated\x20server.\x20This\x20Ceraph\x20server\x20runs\x20with\x20all\x20tools,\x20but\x20it\x20doesn\x27t\x20own\x20the\x20device-signal\x20listener:\x20runtime-error\x20capture\x20reaches\x20this\x20session\x20only\x20if\x20the\x20holder\x20is\x20a\x20Ceraph\x20instance\x20on\x20the\x20SAME\x20project\x20(shared\x20.rn-errors.json)\x20—\x20otherwise\x20errors\x20won\x27t\x20appear\x20here.\x20Free\x20the\x20port\x20(lsof\x20-nP\x20-iTCP:','CGILq','\x20[cached]','not\x20found','text/html;\x20charset=utf-8','WiFnI','ZabCs','[react-native-mcp]\x20Catalog\x20endpoint\x20rejected\x20(','[ceraph]\x20video\x20recorder\x20eviction\x20stop\x20failed:\x20','expectedRoutes','Ceraph\x20server\x20returned\x20malformed\x20JSON\x20for\x20','SPUSBDataType','Report\x20which\x20iOS\x20target\x20is\x20currently\x20selected\x20(device\x20vs\x20simulator),\x20the\x20resolved\x20WDA\x20base\x20URL,\x20whether\x20a\x20simulator\x20WDA\x20session\x20is\x20running,\x20and\x20the\x20CERAPH_TARGET\x20env\x20preference.\x20Call\x20this\x20when\x20the\x20developer\x20asks\x20`am\x20I\x20testing\x20on\x20device\x20or\x20simulator?`\x20or\x20before\x20starting\x20a\x20flow\x20if\x20uncertain\x20which\x20transport\x20is\x20active.','AdminDeleteUserCommand','rLsdK','\x22\x20URL:\x20\x22','No\x20iOS\x20target\x20detected.\x20For\x20a\x20real\x20device:\x20tell\x20the\x20user\x20to\x20plug\x20in\x20their\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20call\x20`rn_wait_for_device`\x20(listens\x20on\x20macOS\x27s\x20usbmuxd\x20daemon\x20for\x20sub-second\x20event-driven\x20detection\x20—\x20no\x20polling,\x20no\x20timeout).\x20For\x20a\x20simulator:\x20boot\x20one\x20(Simulator.app\x20or\x20`xcrun\x20simctl\x20boot\x20<udid>`)\x20and\x20call\x20`rn_wda_start`\x20to\x20target\x20it.','Rewrite\x20','padEnd','\x22\x20cannot\x20start\x20with\x20\x22.\x22\x20(rejects\x20\x22.\x22\x20/\x20\x22..\x22\x20/\x20dotfiles).','push','session','toml','enum','expo-json-already-registered','flowIds','AsyncStorage\x20cleared\x20in-app\x20(shim\x20acknowledged).','fromCharCode','rn-flow-progress-notify.sh','skipped-needs-confirmation','toISOString','fileExists','prevText','Target:\x20','argv0',')\x20—\x20preserving\x20it.','.gitignore','Repeatedly\x20swipe\x20until\x20an\x20element\x20matching\x20text/accessibilityLabel\x20appears\x20in\x20the\x20accessibility\x20tree.\x20Returns\x20without\x20tapping.\x20Default\x20direction\x20is\x20\x27up\x27\x20(swipe\x20up\x20—\x20reveals\x20content\x20below\x20the\x20fold),\x20max\x2010\x20swipes.\x20Pass\x20direction:\x20\x27down\x27\x20to\x20scroll\x20backward\x20toward\x20the\x20top.',';\x20}','babel-preset-expo','classifyRuntimeEntry','gBSzs','optional','screenshotReason','close','DerivedData','Unable\x20to\x20determine\x20device\x20lock\x20state.\x20Make\x20sure\x20the\x20device\x20is\x20unlocked\x20and\x20the\x20screen\x20is\x20on,\x20then\x20re-run\x20the\x20flow.','_layout.jsx','Cognito\x20provision\x20failed:\x20','Real-device\x20UDID\x20unavailable\x20—\x20plug\x20in\x20your\x20iPhone\x20and\x20trust\x20this\x20Mac,\x20then\x20retry.','startedAt','rn_get_errors','check','call','endpoint','react','catch','isFinalStep','POST,\x20GET,\x20OPTIONS','wda','subarray','tunnelState','setAdapter','Lcinq','BoeaA','AdminSetUserPasswordCommand','XzRQd','status=','failedFlowIndex','packages','terminate','valueHash','screenCount','diffDependencies','user-exists','idb\x20launch\x20failed:\x20','dacNF','then','rn_get_console','name','Boot\x20revert\x20returned\x20an\x20unrecognised\x20status\x20shape.','[react-native-mcp]\x20Fatal\x20error:','shell','zNyoG','authState','_findNavBarBackButton','storage-ack\x20requires\x20boolean\x20`storageAckSuccess`','oNTVP','max','CviKL','family','-framerate','assertVisible','env-override-simulator','getFullText','not-found','.cursor','filePath','hashFile','checkMobilePro','region','stale-but-recoverable','hasStarted','isLocked','[runs-store]\x20swept\x20','lsjIH','cause','image/jpeg','stderrBuffer','\x22.\x20Re-issue\x20rn_test_chain_continue\x20with\x20','src','\x20<CameraView>\x20to\x20<CeraphCamera>?','ttlExpiresAt','expo-json-added','freeze','invalid-image-key','Simulator\x20WDA\x20requires\x20the\x20`appium-webdriveragent`\x20package,\x20but\x20it\x20isn\x27t\x20installed.\x20Run\x20`npm\x20i\x20-D\x20appium-webdriveragent`\x20(or\x20`pnpm\x20add\x20-D\x20appium-webdriveragent`)\x20in\x20your\x20project,\x20then\x20call\x20`rn_wda_start`\x20again.\x20This\x20is\x20an\x20optional\x20dep\x20—\x20device-only\x20setups\x20don\x27t\x20need\x20it.','eluGw','app\x20',':\x20existing\x20config\x20at\x20','auto','verifyProfileTransition','@clerk/backend','deleteUser','cleanupOne','path','Device\x20','**\x20BUILD\x20FAILED\x20**','provisionOnDemand','http:','WQNpX','saveSnapshot','substring','droppedEntries','needsBuild','hasFullyDynamicWrite','errorSummary','iOS\x20does\x20not\x20expose\x20an\x20API\x20for\x20disabling\x20Auto-Lock.\x20Open\x20Settings\x20→\x20Display\x20&\x20Brightness\x20→\x20Auto-Lock\x20→\x20Never\x20on\x20the\x20device\x20before\x20running\x20long\x20flows.\x20The\x20flow\x20runner\x20keeps\x20WDA\x27s\x20session\x20warm\x20with\x20a\x20heartbeat,\x20but\x20it\x20cannot\x20prevent\x20Auto-Lock\x20by\x20itself.','ceraph_add_camera_image','revertBoot','ceraph_init','onChildSpawned','toString','qXsJZ','gatingProp','number','ceraph-test-data-','ioreg','JTPLf','registry','SIGINT','No\x20readable\x20graph-relevant\x20files\x20in\x20the\x20repo\x20—\x20nothing\x20to\x20seed.','latestTestIdSentinel','waitForStorageAck','drainCommands','Optional\x20single-segment\x20subdirectory\x20under\x20`.ceraph/camera-images/`.\x20Most\x20callers\x20omit\x20this.\x20Must\x20be\x20lowercase\x20+\x20hyphen-separated;\x20no\x20slashes,\x20no\x20`..`.','mobile-mcp','No\x20shim\x20acknowledged\x20the\x20reload\x20over\x20the\x20command\x20channel,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20','setHeader','tCuqx','wizard','933569mHYLTD','lCFnU','imageKey\x20unchanged','waitForAppForeground','FHXMc','Clerk\x20createUser\x20conflict:\x20email\x20already\x20exists','settingsPath','eCNYc','statedDependencies','port-not-detected','canonicalScript','stepIndex\x20must\x20be\x20a\x20non-negative\x20integer\x20≤\x201000000\x20(got\x20','\x20…\x20<','mutations','continue','ffmpeg','storedAt','CERAPH_AUTH_CONNECTION','\x27\x20is\x20longer\x20than\x2064\x20characters.','summary','CameraView','169.254.','Missing\x20env\x20var(s):\x20','mutationMarker','ceraph_test_data_cleanup','unable\x20to\x20find\x20a\x20device\x20matching','waitForAppTerminated','qRRUe','Skipped\x20—\x20iproxy\x20auto-bridge\x20not\x20enabled\x20for\x20this\x20doctor\x20call.','Project\x20directory\x20to\x20operate\x20on.\x20Defaults\x20to\x20the\x20MCP\x20server\x27s\x20cwd.\x20Required\x20to\x20disambiguate\x20monorepo\x20multi-match.','Invalid\x20Ceraph\x20endpoint\x20URL:\x20\x22','Supported\x20formats:\x20JPEG,\x20PNG,\x20WebP,\x20HEIC.\x20Re-export\x20the\x20image\x20in\x20one\x20of\x20these\x20and\x20try\x20again.','storageAckCount','DhmTF','nav-bar','buildClient','signature','pending','Fejis','DTXGK','InvalidRunArgumentError','stateInference','platform','Unknown\x20error\x20during\x20terminateAppViaWDA','getDeclarations','App\x20','The\x20installed\x20app\x20is\x20already\x20current\x20—\x20skipped\x20the\x20build.','flavor','signal-host','xcodebuild-spawn-failed','target','verifyNavigation:\x20','local-network','unshift','[react-native-mcp]\x20Reclaimed\x20the\x20device-signal\x20port\x20—\x20listener\x20now\x20active.','WDA\x20openUrl\x20failed:\x20',':\x20existing\x20mcpServers\x20in\x20','Cursor','Simulator\x20booted\x20(','CERAPH_AUTH_PROVIDER','KHtmB','oyYfp','fs/promises','login','ftJqh','signOut','--terminate-existing','iMTlZ','UserNotFoundException','ceraph_test_data_provision','Base64-encoded\x20image\x20payload.\x20A\x20`data:image/...;base64,...`\x20URI\x20prefix\x20is\x20accepted\x20and\x20stripped\x20automatically.','WDA\x20tap\x20failed','iPhone','.git','GuoUW','selector','deletedEntries','runBuild','probeStatus','nodes','mivxT','[stdout]\x20','Lowercase\x20+\x20hyphen-separated\x20stem\x20(e.g.\x20`profile`,\x20`id-card`,\x20`handwriting-sample-1`).\x20Becomes\x20both\x20the\x20filename\x20stem\x20AND\x20the\x20value\x20devs\x20pass\x20to\x20`<CeraphCamera\x20imageKey>`.','OuoCg','revertCeraphDir','rect','low','usbmuxd','UcTkn','SIGKILL','users','WRAPPER_EXTENSION','android','nBlyn','bootMaxWaitMs','O_CREAT','ackForTesting','image/heic','awaiting_error_decision','seedMobileGraph','Failed\x20to\x20resolve\x20target:\x20','image','base64','libraryCatalog','\x20\x20[WARN]\x20\x20\x20\x20','buildKilled','recordMutations','\x27\x20does\x20not\x20match\x20detected\x20\x27','Unknown\x20error\x20during\x20pressKey','Unknown\x20error\x20during\x20clearText','png','Access-Control-Allow-Origin','readChangedFileContents','--clean','?ts=','\x20minutes','HHVEk','devices','Re-run\x20`ceraph_doctor`\x20to\x20see\x20what\x27s\x20blocking\x20on-device\x20automation.','\x20captured\x20but\x20not\x20inlined\x20(inline\x20cap\x20is\x20','WDA\x20tap\x20failed\x20(serial\x20fallback)','→\x20reader\x20UI\x20shows\x20mutated\x20value','screen_scroll_to','owCoB','JEEIr','getWindowSize','CFBundleIdentifier','../','setTimeoutFn','.tmp.','No\x20shim\x20acknowledged\x20the\x20reset\x20over\x20the\x20command\x20channel\x20(is\x20the\x20app\x20running\x20with\x20installCeraph()\x20and\x20reachable\x20on\x20CERAPH_SIGNAL_HOST:8101?),\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20','ceraph_init_status','Opening\x20browser\x20to\x20sign\x20in…','race','tapTransport','timeoutMs','object','Next:\x20ask\x20your\x20AI\x20coding\x20assistant\x20(Claude\x20Code,\x20Cursor,\x20Codex,\x20etc.):','pixelRatio','rawIdentifier','Foregrounded\x20','CfHfH','plugin-version-mismatch','secretEnv','isListening','text-class-hint','\x27\x20is\x20not\x20a\x20recognized\x20image\x20MIME\x20type;\x20using\x20detected\x20\x27','mcp.json','mobilePro','dkeZS','<CeraphCamera>\x20is\x20a\x20drop-in\x20for\x20<CameraView>\x20(same\x20props):\x20during\x20a\x20flow\x20run\x20it\x20returns\x20your\x20test\x20image;\x20in\x20a\x20production\x20build\x20it\x20renders\x20the\x20real\x20camera.','hookName','unknown\x20error','useEffect','addSourceFileAtPath','chain','3084596dhBkuh','setAppLifecycle','add','ios','simctl','.heic','Dependencies\x20removed:\x20','wdaFetchAt','protectedRoute','stopping','getPixelRatio','sessionToken','WSqsJ','Failed\x20to\x20spawn\x20','\x22));','Matched\x20element\x20has\x20no\x20bounds/rect\x20information.','appName','#\x20Ceraph\x20signal\x20host\x20—\x20auto-set\x20by\x20@ceraph/react-native-mcp\x20init','sdk-missing','dependencies','.ceraph','xcodebuild','currentErrorMessage','Pro\x20is\x20active\x20on\x20this\x20account.','\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-error-notify.sh','chainPosition','text','trim','no-layout-found','onDemandTtlMs','--udid','remediation',';\x20},\x20[]);','aLNdD','vmfQU','width','simulator-not-found','tick','createUser','Run\x20`iproxy\x208100\x208100\x20-u\x20<udid>`\x20manually\x20to\x20see\x20the\x20full\x20error.','disableBulkActions','AddCameraImageError','screen','volumeUp','\x20<CameraView>\x20usage(s)\x20not\x20wrapped\x20by\x20<CeraphCamera>.','auth_wall','mcp_config.json','isVariableDeclaration','lockscreen','ceraph_test_data_provision\x20failed:\x20','unrelated','export\x20','zodNl','Built\x20and\x20installed\x20the\x20app\x20(','global','async-storage-read\x20requires\x20`key`','longPressElement','Claude\x20Code','storageAckRequestId','command-failed','WebDriverAgent\x20','into','server-error','form_identifier_exists','isZqX','heic','devicectlAvailable','pKSYU','ZlGrz','cachedAt','DFnqN','metro','en2','CERAPH_PROJECT_DIR\x20override','jitUser','userMarkerSelector','/cli-auth','connectionProperties','isArrowFunction','unref','Ed25519','too-many-files','/window/size','setMode','mode','preserved','detectMonorepo','collectVisibleElements','method\x20not\x20allowed','Device\x20is\x20awake\x20(lockState:\x20','devDependencies','Decision\x20\x22','idbAvailable','probeResponseUiDivergence','Metro\x20process\x20started\x20but\x20has\x20not\x20confirmed\x20readiness\x20yet.\x20It\x20may\x20still\x20be\x20initializing.\x20Use\x20rn_get_console\x20to\x20check.','Ceraph\x20request\x20failed\x20(HTTP\x20','tag','openUrl','failure','down','iphone','revertPackage','xqhPA','tOZRA','no-sentinel-received','readErrors','wda-package-missing','Declared\x20contentType\x20\x27','protocol','removed','postflight','Boot\x20a\x20simulator\x20(open\x20-a\x20Simulator)\x20and\x20retry.','\x20[Y/n]\x20','Unsupported\x20pressKey:\x20','forEachDescendant','--reset-cache','Set\x20the\x20missing\x20vars\x20before\x20running:\x20','[chain-runner]\x20Dropping\x20','\x1b]8;;','verifyMutation','\x22.\x20Only\x20https://\x20(or\x20http://\x20for\x20localhost\x20/\x20127.0.0.1)\x20endpoints\x20are\x20allowed.',':\x20already\x20configured','unverified','expo-config','slice','//\x20AUTO-GENERATED\x20by\x20@ceraph/react-native-mcp\x20—\x20do\x20not\x20edit\x20by\x20hand.\x0a//\x20Re-run\x20`rn_sync_camera_registry`\x20after\x20adding\x20or\x20removing\x20images.\x0aimport\x20{\x20configureTestImage\x20}\x20from\x20\x22@ceraph/react-native-mcp/shim\x22;\x0a\x0aexport\x20function\x20applyCameraImageRegistry():\x20void\x20{\x0a','.jpg','buildProcess','nextText','-w0','missing','stopVideoRecording','ceraph_init_inject_boot','.claude','Element\x20not\x20found\x20after\x20','not\x20a\x20monorepo','.bin','sessionId','runDir','Return\x20all\x20captured\x20errors\x20from\x20build\x20and\x20runtime.\x20Includes\x20structured\x20build\x20errors\x20(file,\x20line,\x20column,\x20message),\x20runtime\x20JS\x20errors\x20(message,\x20stack\x20trace),\x20and\x20warnings.','lastIndexOf','runWithBootCaptureLock','expo','eQiKm','\x20—\x20then\x20re-run\x20init\x20(or\x20any\x20flow\x20tool).\x20Your\x20Pro\x20access\x20refreshes\x20automatically.','ceraph','No\x20previous\x20build\x20snapshot\x20found.\x20Run\x20a\x20build\x20to\x20establish\x20a\x20baseline.\x20A\x20clean\x20prebuild\x20is\x20recommended\x20for\x20the\x20first\x20build.','height','no\x20details','preferSimulator','pingStatus','loadAuth','auth-state','listFiles','KaaDh','write','auth.json','filter','toFixed','Xcode\x20derived-data\x20path;\x20defaults\x20to\x20.ceraph/wda-derived','videoRecorder','query','totalDurationMs','\x20scheme\x20(kept\x20your\x20existing\x20','removedUseEffect','Replace\x20each\x20<CameraView\x20/>\x20with\x20<CeraphCamera\x20imageKey=\x22...\x22\x20/>\x20from\x20\x22@ceraph/react-native-mcp/shim\x22.\x20The\x20shim\x20falls\x20through\x20to\x20expo-camera\x20in\x20production\x20builds.','react-native','\x20userMarker=','adNti','responseValue=','metroParser','snapPointFlowIndices','Optional\x20MIME\x20hint\x20(e.g.\x20`image/jpeg`).\x20The\x20actual\x20extension\x20is\x20chosen\x20from\x20magic-byte\x20detection;\x20if\x20the\x20hint\x20mismatches,\x20the\x20tool\x20returns\x20a\x20warning\x20but\x20still\x20writes\x20using\x20the\x20detected\x20type.','exec','Unrecognised\x20signal\x20kind\x20\x27','package-lock.json','Developer\x20Mode\x20is\x20disabled\x20on\x20the\x20device','no\x20code\x20signing\x20identit','.rn-flow-progress.json','DvenL','continueRun','HxFlT','ensureSession','hasAdapter','-project','match','fetchImpl','Join\x20the\x20same\x20WiFi\x20network\x20as\x20your\x20phone,\x20or\x20update\x20the\x20expectedNetwork\x20doctor\x20option.','MAX_BUILD_LINES','bound','verifySelector','open','redbox','UDWcx','Failed\x20to\x20clear\x20field\x20before\x20typing','BxjmD','.js','removeListener','chains','runtime_error','[react-native-mcp]\x20Runtime\x20catalog\x20loaded\x20(','port','batched','stopGeneration','react-native-','\x20before\x20WDA\x20reported\x20a\x20port.\x20Most\x20common\x20cause:\x20WebDriverAgentRunner\x20has\x20no\x20code-signing\x20identity\x20selected.\x20Open\x20the\x20project\x20in\x20Xcode\x20once\x20(`open\x20\x22','Use\x20only\x20[a-z0-9-],\x20no\x20slashes,\x20no\x20`..`,\x20no\x20leading\x20`/`.\x20Example:\x20`id-documents`.','Swipe\x20failed\x20during\x20scrollToElement','Opening\x20','accumulatedBootDrains','screen_tap_and_verify','HjOUQ','getCurrentBranch','image/png','Flow\x20intelligence\x20(rn_list_flows\x20/\x20rn_find_flows\x20/\x20rn_test_flows)\x20is\x20a\x20Pro\x20feature\x20—\x20upgrade\x20at\x20https://ceraph.dev/#pricing.\x20If\x20you\x20just\x20upgraded,\x20re-run\x20this\x20—\x20your\x20Pro\x20access\x20refreshes\x20automatically.','isArrayLiteralExpression','init.js','CeraphCamera','tap\x20succeeded\x20but\x20post-tap\x20verify\x20failed:\x20','\x20<CameraView>\x20usage(s)\x20across\x20','componentControl:\x20uiKind\x20is\x20required\x20and\x20must\x20be\x20one\x20of\x20\x22modal\x22|\x22drawer\x22|\x22sheet\x22|\x22accordion\x22|\x22wizard\x22|\x22reveal\x22\x20(got\x20','signedAt','no-github-remote','VZhZe','scrollTo','samples','Register\x20`ceraph`\x20as\x20a\x20custom\x20URL\x20scheme\x20so\x20deep\x20links\x20(ceraph://reload,\x20ceraph://reset,\x20ceraph://storage)\x20reach\x20the\x20running\x20app.\x20Auto-edits\x20static\x20expo.scheme\x20in\x20app.json;\x20for\x20dynamic\x20app.config.{js,ts}\x20or\x20bare\x20RN,\x20returns\x20the\x20exact\x20instructions\x20to\x20surface\x20to\x20the\x20user.','-quiet','findElementFromTree','scope-regression','Claude\x20Code:\x20pre-approved\x20the\x20Ceraph\x20MCP\x20server\x20(no\x20trust\x20prompt)\x20✓','assertion','git','\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.','registryPath','onDialog','text\x20or\x20accessibilityLabel\x20is\x20required.','no-mobile-graph','retryAfterSwipes','getArguments','hasStopped','entries','warnings','rate-limited','\x20<CeraphCamera>\x20tag(s).\x20If\x20any\x20of\x20those\x20keys\x20were\x20customer-set\x20(not\x20Ceraph-generated),\x20re-apply\x20them\x20after\x20install\x20rebuilds\x20the\x20camera\x20surface.','metro-error','\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20}','timed\x20out','no\x20profiles\x20for','clerk','WDA\x20actions\x20tap\x20failed','realDeviceHook','.jpeg','bWpQO','affectedDisplayRoute','\x20+\x20testID\x20injector)\x20—\x20your\x20app\x20had\x20no\x20babel\x20config,\x20so\x20we\x20added\x20one.\x20Rebuild\x20your\x20dev\x20client\x20once\x20to\x20activate.','\x27],\x0a\x20\x20};\x0a};\x0a','app_list_installed','no-booted-simulator','uvjCe','wjbUN','en3','WebDriverAgent\x20is\x20reachable\x20at\x20','?intent=pro','were\x20removed\x20from\x20','stepPath','ceraph://storage?op=delete&keys=','windsurf','command-channel','ceraph-uninstall-gitignore-preview-','<no\x20IP>','\x22`),\x20set\x20a\x20Development\x20Team\x20on\x20the\x20WebDriverAgentRunner\x20target,\x20build\x20it\x20manually\x20for\x20the\x20simulator,\x20then\x20retry\x20`rn_wda_start`.\x20Last\x2020\x20lines\x20of\x20xcodebuild\x20output\x20below.','buffer','monorepo,\x20no\x20RN\x20app\x20among\x20workspaces','Failed\x20to\x20create\x20output\x20directory:\x20',');\x20using\x20embedded\x20key','rn_list_flows','screen_press_key','hooks','NPCFW','Swipe\x20on\x20the\x20iOS\x20device\x20screen.\x20Direction\x20is\x20up/down/left/right;\x20optional\x20from-point\x20and\x20distance\x20default\x20to\x20a\x20center-screen\x20swipe\x20of\x20~60%\x20of\x20the\x20relevant\x20axis.\x20Coordinates\x20are\x20device-space\x20by\x20default;\x20pass\x20coordinateSource:\x20\x27screenshot\x27\x20if\x20`from`\x20came\x20from\x20a\x20screenshot.','multi','detail','drawer','DKLBi','runtime','\x20before\x20the\x20session\x20could\x20be\x20handed\x20off.\x20This\x20usually\x20means\x20the\x20test\x20target\x20crashed\x20during\x20boot\x20(check\x20the\x20simulator\x20logs)\x20or\x20the\x20simulator\x20was\x20shut\x20down\x20mid-build.\x20Last\x2020\x20lines\x20of\x20xcodebuild\x20output\x20below.','cleanupJit','\x20has\x20no\x20successor\x20flow\x20(flows.length=','FXeQt','fHpfC','react-native-reanimated/plugin','/\x20—\x20working\x20from\x20there','Chain\x20aborted:\x20flow\x20\x22','reduce','.\x20Fix\x20the\x20listener\x20(check\x20CERAPH_SIGNAL_HOST\x20and\x20that\x20port\x208101\x20is\x20free\x20and\x20permitted)\x20and\x20restart,\x20or\x20rebuild\x20so\x20the\x20ceraph://\x20scheme\x20is\x20registered.','splice','init-tier.json','Content-Type','\x0a[runCommand:\x20timed\x20out\x20after\x20','signInWithEmailAndPassword','Starter\x20·\x20Free\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in.','payload\x20too\x20large','startInner','localPort','Cognito\x20adapter\x20requires\x20`userPoolId`\x20for\x20cleanup.','runXcodeBuildSettings','isJsxAttribute','href','Listen','No\x20runtime\x20signals\x20are\x20being\x20captured\x20this\x20session:\x20Ceraph\x27s\x20device-signal\x20listener\x20could\x20not\x20start\x20(port\x208101\x20failed\x20to\x20bind\x20—\x20e.g.\x20a\x20permission\x20error,\x20or\x20an\x20invalid\x20CERAPH_SIGNAL_HOST).\x20In-app\x20runtime\x20errors\x20(uncaught\x20JS\x20exceptions,\x20failed\x20network\x20requests)\x20will\x20NOT\x20appear\x20in\x20your\x20results\x20until\x20it\x20binds.\x20Check\x20CERAPH_SIGNAL_HOST\x20and\x20that\x20port\x208101\x20is\x20free\x20and\x20permitted,\x20then\x20restart\x20Ceraph.','cached','Install\x20with\x20`brew\x20install\x20libimobiledevice`,\x20then\x20re-run\x20doctor.','remove','/status','simulatorUdid','\x20runs\x20(','BZMbD','../package.json','ENOENT','componentControl:\x20entry\x20is\x20not\x20an\x20object','responseBody','acceptButtons','Ceraph\x20Test\x20(','WDA\x20activeAppInfo\x20failed:\x20','true','writeErrorFile','DuXOJ','selectCommand','bundleId','prebuild','listOnDemand','webp','isPro','HQGjG','agentMessage','from','Optional\x20label\x20for\x20tracking\x20this\x20user\x20(e.g.\x20\x27checkout-test\x27).\x20Surfaced\x20on\x20the\x20email\x20prefix\x20and\x20in\x20`ceraph_test_data_list`\x20output.','field=','completed','.mjs','videoPath','boolean','XCUIElementTypeSecureTextField','pendingStorageAckResolvers',')\x20is\x20currently\x20executing.\x20The\x20chain\x20runner\x20serializes\x20chains\x20because\x20JIT-provisioned\x20auth\x20credentials\x20are\x20process-singleton\x20state.\x20Wait\x20for\x20the\x20in-flight\x20chain\x20to\x20complete\x20(poll\x20its\x20status\x20via\x20the\x20protocol\x27s\x20resume\x20mechanism),\x20then\x20retry.','args','YkHIn','setOrientation','union','min','buildFailureReport','boot','babel.config.js','getConsole','wda-reachable','create','at\x20','run','fileHash','transport','The\x20first\x20simulator\x20WebDriverAgent\x20build\x20is\x20cold\x20and\x20can\x20take\x20a\x20few\x20minutes;\x20the\x20compiled\x20output\x20is\x20cached,\x20so\x20just\x20call\x20ceraph_start\x20again\x20—\x20the\x20next\x20build\x20is\x20incremental.','uiKind','\x20connected.','provisionJit','buildErrorResponse','response-ui-divergence:\x20','url','installCeraph-only','aQHWd','idb','json','createClerkClient','wda-derived','componentControl','.mcp.json','udid','Could\x20not\x20start\x20WebDriverAgent:\x20','flow\x20must\x20be\x20a\x20non-empty\x20string.','EPERM','dGSal','openingTag','Claude\x20Code\x20will\x20ask\x20you\x20to\x20approve\x20the\x20Ceraph\x20MCP\x20server\x20once\x20on\x20restart\x20—\x20your\x20.claude/settings.local.json\x20had\x20an\x20unexpected\x20shape,\x20so\x20it\x20was\x20left\x20untouched.\x20Approve\x20the\x20prompt,\x20or\x20add\x20\x22react-native-mcp\x22\x20to\x20enabledMcpjsonServers\x20in\x20that\x20file\x20by\x20hand.','.tsx','errorFilePath','NKIWP','getSourceFile','application/json','app-extension','getFunctions','test-data','\x27\x20already\x20maps\x20to\x20','indexOf','Ordered\x20list\x20of\x20element\x20queries\x20to\x20tap.\x20Resolved\x20against\x20ONE\x20AX-tree\x20snapshot\x20—\x20don\x27t\x20use\x20this\x20for\x20sequences\x20that\x20require\x20re-rendering\x20between\x20taps.','VHEIq','@react-native/babel-preset','6lptnVE','off','en4','protectedRoute=','closeMethods','expo-json','x:\x20(','metroKilled','verifyAuth','App.jsx','ZnwFN','yeKXh','\x20`hooks`\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.','DYngs','axCache','filesEdited','realpath','hSLrj','initializeApp','rn_test_chain_start','resolve','GET','ceraph-uninstall-mcp-preview-','ceraph_uninstall_status','appium-webdriveragent\x20ready\x20—\x20simulator\x20WebDriverAgent\x20can\x20build.','reloadTimeoutMs','invalid-base64','/\x20\x20[','Built\x20and\x20installed\x20the\x20app.','\x20is\x20not\x20installed\x20on\x20the\x20target\x20—\x20skipped\x20app\x20foreground.','Cognito\x20adapter\x20requires\x20`userPoolId`\x20in\x20ceraph.config.js.','AMyvf','code\x20signing\x20error','/signal','Signed\x20in\x20as\x20','microphone','No\x20working\x20launch\x20transport\x20found.\x20Install\x20Xcode\x20(for\x20devicectl)\x20or\x20idb\x20(https://fbidb.io/)\x20to\x20launch\x20apps\x20on\x20a\x20real\x20device.','FMDgl','fetchSourceTree','content-type','getRunIndex','rKZep','removed-entries','unresolved','load','sleep','regressions','/wda/unlock','ceraph_init_scan_camera','1759835LwraDT','warning','Encoded\x20payload\x20is\x20~','renderPropName','enabledMcpjsonServers','isJsxOpeningElement','LaEXF','Allow\x20Access\x20to\x20All\x20Photos','lerna.json','screen_long_press','needs-manual','tckNI','selector-','app-installed','suggestedKey','longPress','reason','Bridge\x20to\x20next\x20flow\x20failed','npx','whichFn','app_active','content','Pass\x20a\x20single\x20safe\x20segment\x20for\x20subDir\x20(lowercase,\x20hyphens,\x20no\x20slashes,\x20no\x20`..`).','storage-ack','Launch\x20an\x20iOS\x20app\x20by\x20bundle\x20ID\x20on\x20a\x20connected\x20real\x20device\x20(preferred)\x20or\x20the\x20booted\x20simulator\x20(fallback).\x20Terminates\x20any\x20existing\x20instance\x20first\x20via\x20devicectl\x20--terminate-existing.','http://127.0.0.1:','\x20in\x20package.json.\x20Run:\x20npm\x20install\x20','skipped','ready','anonymous\x20→\x20authenticated','getAuth','_registry.ts','No\x20booted\x20simulator.','/wda/lock','SecureText','&id=','homeDir','\x20additional\x20screenshot','waitForBootSettle','buildErrors','visible','doctor-failed','webBaseUrl','(warn)','CERAPH_INIT_AGENT_HINT=','tier','preparing\x20the\x20device','isFile','simctl\x20listapps\x20failed:\x20','WDA\x20pressButton\x20failed:\x20','module.exports\x20=\x20function\x20(api)\x20{\x0a\x20\x20api.cache(true);\x0a\x20\x20return\x20{\x0a\x20\x20\x20\x20presets:\x20[\x27','usb-ethernet','commandQueue','WvtsB','ensureGraph','clearErrorFile','Supabase\x20deleteUser\x20failed:\x20',';\x20the\x20limit\x20is\x20','prev=','ms).\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.','currentKind','accumulateWriteSet','/rn-test-flows','result','pop','find','recordStorageAck','Detected\x20bare\x20React\x20Native\x20project\x20(ios/\x20and/or\x20android/).','destinationRoute','Auth0\x20adapter\x20requires\x20`domain`\x20in\x20ceraph.config.js\x20(the\x20Auth0\x20tenant\x20domain,\x20e.g.,\x20\x27myorg.auth0.com\x27).','written','ttlMs','https://ceraph.dev/api/mcp','lock','detectEarlyExit','flowResults','prototype','WvJkc','.cjs','targetResolver','MAX_METRO_LINES','Failed\x20to\x20get\x20element\x20tree\x20on\x20the\x20pinned\x20session','whenReady','probePermission','coords','\x0aRuntime\x20error\x20hook:','update','code\x20sign\x20error','monorepo\x20with\x20','walkthrough','nKOau','VideoRecorder.start()\x20called\x20twice\x20on\x20the\x20same\x20instance.','No\x20device\x20hardware\x20UDID\x20resolved\x20—\x20could\x20not\x20start\x20the\x20iproxy\x20bridge.','link','sim:','no\x20shell\x20profile','hasReceivedDeviceContact','apps','location','installed','keyDown','appendIfValid','Metro\x20exited\x20unexpectedly\x20with\x20code\x20','LuOox','destroy','WebDriverAgent\x20is\x20not\x20ready\x20(simulator\x20selected,\x20no\x20port\x20captured\x20yet).','simulatorWdaUdid','touch','denied','storageAckKeys','HayRd','fieldQuery','React\x20Native\x20/\x20Expo\x20development\x20workflow\x20tools.\x20Auto-detects\x20project\x20type.\x0a\x0aWHICH\x20TOOLS\x20TO\x20USE:\x0a•\x20User\x20wants\x20their\x20code\x20changes\x20verified,\x20specific\x20flows\x20run,\x20or\x20comprehensive\x20coverage\x20→\x20use\x20the\x20autonomous\x20flow\x20tools:\x20rn_list_flows\x20previews\x20which\x20flows\x20a\x20diff\x20or\x20file\x20set\x20affects,\x20rn_find_flows\x20searches\x20every\x20flow\x20app-wide\x20by\x20natural\x20language,\x20rn_test_flows\x20executes\x20selected\x20flowIds.\x20These\x20execute\x20Ceraph\x27s\x20server-planned\x20flows,\x20which\x20exhaustively\x20exercise\x20the\x20distinct\x20UI\x20outcomes\x20reachable\x20from\x20the\x20changed\x20code.\x20Per-step\x20screenshots\x20and\x20runtime\x20errors\x20surface\x20in\x20the\x20result.\x20Do\x20NOT\x20try\x20to\x20modify\x20or\x20reorder\x20the\x20returned\x20plan\x20—\x20it\x20is\x20owned\x20by\x20the\x20server.\x0a•\x20User\x20wants\x20a\x20specific\x20custom\x20scenario\x20(e.g.\x20\x27test\x20signup\x20with\x20email\x20X\x27,\x20\x27tap\x20the\x20Premium\x20plan\x20and\x20verify\x20checkout\x20opens\x27,\x20\x27reproduce\x20the\x20bug\x20where\x20tapping\x20save\x20crashes\x20the\x20app\x27)\x20→\x20compose\x20screen_*\x20and\x20app_*\x20primitives\x20directly.\x20You\x20plan\x20the\x20steps\x20yourself;\x20Ceraph\x20just\x20drives\x20WebDriverAgent.\x20Use\x20screen_screenshot\x20between\x20actions\x20to\x20observe\x20state\x20and\x20decide\x20the\x20next\x20step.\x20This\x20path\x20is\x20intentionally\x20lower-fidelity\x20than\x20the\x20autonomous\x20flow\x20tools\x20and\x20does\x20not\x20produce\x20coverage\x20guarantees\x20—\x20it\x20is\x20for\x20ad-hoc\x20requests\x20the\x20user\x20explicitly\x20directed.\x0a\x0aTOOL\x20SELECTION\x20FOR\x20AUTONOMOUS\x20FLOW\x20TOOLS:\x0a\x20\x20-\x20\x27Test\x20my\x20changes\x27\x20/\x20comprehensive\x20verification\x20→\x20rn_list_flows\x20(diff\x20scope),\x20then\x20rn_test_flows\x20with\x20EVERY\x20returned\x20flowId.\x0a\x20\x20-\x20User\x20scoped\x20to\x20specific\x20files\x20→\x20rn_list_flows\x20with\x20filePaths,\x20then\x20rn_test_flows.\x0a\x20\x20-\x20User\x20wants\x20a\x20focused\x20subset\x20(\x27just\x20test\x20the\x20X\x20flow\x27,\x20\x27show\x20me\x20what\x20would\x20run\x27)\x20→\x20rn_list_flows,\x20pick\x20the\x20relevant\x20rows,\x20then\x20rn_test_flows\x20with\x20those\x20flowIds.\x0a\x20\x20-\x20User\x20describes\x20flows\x20in\x20natural\x20language\x20without\x20a\x20diff\x20scope\x20(\x27test\x20login\x27,\x20\x27run\x20the\x20checkout\x20flows\x27)\x20→\x20rn_find_flows\x20(app-wide\x20search),\x20then\x20rn_test_flows.\x0a\x20\x20-\x20\x27Test\x20PR\x20#N\x27\x20/\x20\x27verify\x20this\x20pull\x20request\x27\x20→\x20there\x20is\x20NO\x20PR\x20tool\x20by\x20design.\x20Check\x20out\x20the\x20PR\x20(a\x20GitHub\x20MCP\x20server\x20if\x20connected,\x20else\x20`gh\x20pr\x20checkout\x20N`),\x20then\x20REBUILD\x20+\x20relaunch\x20so\x20the\x20device\x20runs\x20the\x20PR\x27s\x20code\x20(rn_build_ios\x20+\x20rn_start\x20—\x20a\x20native\x20or\x20dependency\x20change\x20will\x20NOT\x20hot-reload),\x20then\x20rn_list_flows({base:\x20\x27<pr-target-branch>\x27})\x20→\x20rn_test_flows\x20with\x20the\x20returned\x20flowIds.\x20Post\x20the\x20pass/fail\x20summary\x20back\x20as\x20a\x20PR\x20comment\x20via\x20the\x20GitHub\x20MCP\x20if\x20the\x20user\x20wants\x20it.\x0aPreview\x20rows\x20are\x20a\x20menu\x20—\x20their\x20order\x20carries\x20no\x20meaning,\x20and\x20rn_test_flows\x20ignores\x20the\x20order\x20of\x20the\x20flowIds\x20you\x20pass:\x20the\x20server\x20orders\x20execution\x20by\x20planner\x20priority\x20and\x20chain\x20grouping.\x0a\x0aSTARTUP\x20FLOW\x20WHEN\x20NO\x20TARGET\x20IS\x20AVAILABLE:\x0a\x20\x20-\x20Both\x20real\x20iOS\x20devices\x20and\x20the\x20iOS\x20Simulator\x20are\x20supported.\x20For\x20a\x20booted\x20simulator\x20(with\x20the\x20optional\x20appium-webdriveragent\x20dep\x20installed),\x20call\x20rn_wda_start\x20to\x20launch\x20WebDriverAgent\x20against\x20it;\x20with\x20no\x20real\x20device\x20connected,\x20subsequent\x20screen_*/app_*\x20calls\x20route\x20to\x20the\x20simulator\x20automatically.\x20If\x20a\x20real\x20device\x20is\x20ALSO\x20connected,\x20auto-detection\x20(CERAPH_TARGET=auto,\x20the\x20default)\x20prefers\x20the\x20device\x20—\x20tell\x20the\x20user\x20to\x20set\x20CERAPH_TARGET=simulator\x20in\x20the\x20MCP\x20process\x20environment\x20to\x20force\x20simulator\x20routing.\x0a\x20\x20-\x20For\x20a\x20real\x20device,\x20tell\x20the\x20user\x20to\x20plug\x20their\x20iPhone\x20in\x20via\x20USB-C,\x20then\x20call\x20rn_wait_for_device\x20(event-driven\x20via\x20usbmuxd,\x20no\x20timeout).\x20The\x20original\x20tool\x20can\x20be\x20re-run\x20as\x20soon\x20as\x20it\x20returns\x20success.\x0a\x20\x20-\x20WebDriverAgent\x20must\x20already\x20be\x20installed\x20on\x20the\x20device.\x20If\x20doctor\x20reports\x20WDA\x20unreachable,\x20the\x20user\x20opens\x20Xcode\x20→\x20WebDriverAgentRunner\x20and\x20presses\x20Run\x20once;\x20subsequent\x20sessions\x20reuse\x20that\x20build.\x0a\x0aAutonomous\x20flow\x20tools\x20(server-planned):\x20rn_list_flows,\x20rn_find_flows,\x20rn_test_flows.\x0aWDA-direct\x20primitives\x20(you\x20orchestrate):\x20app_launch/terminate/activate,\x20screen_tap,\x20screen_tap_and_verify,\x20screen_swipe,\x20screen_scroll_to,\x20screen_long_press,\x20screen_type_into_field,\x20screen_press_key,\x20screen_open_url,\x20screen_screenshot,\x20screen_wait_for,\x20screen_tap_chain.\x0a\x0aAuth\x20via\x20`npx\x20@ceraph/react-native-mcp\x20init`.\x20Build\x20with\x20rn_build_ios,\x20run\x20Metro\x20with\x20rn_start,\x20inspect\x20errors\x20with\x20rn_get_errors,\x20check\x20rn_check_prebuild\x20when\x20native\x20deps\x20change\x20(Expo\x20only).\x0a\x0aCAMERA\x20SETUP\x20ON\x20FIRST\x20INVOCATION:\x0aAfter\x20init\x20completes,\x20`ceraph_doctor`\x20may\x20report\x20a\x20`camera-imageKey-setup`\x20info\x20finding\x20listing\x20one\x20or\x20more\x20<CeraphCamera\x20/>\x20components\x20that\x20still\x20need\x20a\x20deliberate\x20imageKey\x20choice\x20(init\x20replaces\x20tags\x20WITHOUT\x20inserting\x20an\x20imageKey\x20—\x20the\x20bundled\x20black\x20PNG\x20keeps\x20the\x20app\x20working\x20until\x20the\x20developer\x20decides).\x20When\x20you\x20see\x20this\x20finding,\x20hold\x20a\x20one-shot\x20conversation\x20with\x20the\x20user\x20covering\x20each\x20camera.\x20Three\x20options\x20per\x20camera:\x0a\x20\x20(A)\x20Black\x20default\x20(most\x20test\x20flows\x20don\x27t\x20care\x20about\x20image\x20content):\x20ceraph_init_replace_camera\x20with\x20imageKey=\x22default\x22.\x0a\x20\x20(B)\x20A\x20specific\x20test\x20image:\x20ask\x20the\x20user\x20for\x20a\x20descriptive\x20lowercase-dashes\x20name\x20(e.g.\x20\x22profile\x22,\x20\x22id-card\x22,\x20\x22product-photo\x22),\x20then\x20write\x20the\x20file\x20via\x20ceraph_add_camera_image\x20(the\x20user\x20can\x20paste\x20base64\x20or\x20drop\x20the\x20file\x20in\x20.ceraph/camera-images/<key>.{jpg,png,webp}\x20by\x20hand).\x20Call\x20rn_sync_camera_registry\x20after\x20manual\x20file\x20drops;\x20ceraph_add_camera_image\x20auto-syncs.\x20Then\x20ceraph_init_replace_camera\x20with\x20the\x20chosen\x20key.\x0a\x20\x20(C)\x20Multi-image\x20per\x20flow\x20(the\x20camera\x20serves\x20different\x20scenarios\x20across\x20flows;\x20the\x20planner\x20picks\x20the\x20image\x20per\x20step\x20at\x20runtime):\x20ceraph_init_replace_camera\x20with\x20imageKey=\x22@runtime\x22.\x0aOnce\x20every\x20camera\x20has\x20an\x20explicit\x20imageKey\x20the\x20doctor\x20finding\x20stops\x20appearing.\x20Run\x20`ceraph_doctor`\x20again\x20to\x20confirm.\x0a\x0aDOCTOR\x20BEHAVIOR:\x0a•\x20Test/run\x20tools\x20(rn_test_flows,\x20rn_test_chain_start)\x20auto-run\x20doctor\x20on\x20first\x20invocation\x20and\x20cache\x20the\x20result\x20for\x20the\x20MCP\x20session.\x0a•\x20rn_test_chain_continue\x20ALWAYS\x20re-runs\x20doctor\x20(no\x20cache)\x20because\x20the\x20chain\x20may\x20have\x20been\x20paused\x20for\x20minutes\x20at\x20a\x20snap\x20point\x20—\x20device\x20could\x20have\x20locked\x20or\x20disconnected\x20during\x20the\x20wait.\x0a•\x20If\x20doctor\x20has\x20errors,\x20the\x20test\x20tool\x20refuses\x20to\x20execute\x20and\x20returns\x20`{\x20status:\x20\x22doctor-failed\x22,\x20errors:\x20[...]\x20}`.\x20Fix\x20the\x20errors\x20and\x20retry\x20—\x20doctor\x20re-runs\x20automatically\x20after\x20any\x20failure\x20(passing\x20results\x20are\x20cached,\x20failing\x20ones\x20are\x20not).\x0a•\x20Actionable\x20non-error\x20findings\x20are\x20surfaced\x20as\x20`doctorAdvisories`\x20on\x20gated\x20tool\x20responses:\x20failed\x20warnings\x20(e.g.\x20wrong\x20WiFi)\x20and\x20info\x20findings\x20that\x20carry\x20a\x20remediation\x20(e.g.\x20camera-imageKey-setup).\x20Passing\x20status\x20stamps\x20without\x20a\x20remediation\x20are\x20filtered\x20out\x20to\x20keep\x20responses\x20lean.\x20Act\x20on\x20advisories\x20the\x20first\x20time\x20you\x20see\x20them.\x0a•\x20An\x20explicit\x20`ceraph_doctor`\x20call\x20always\x20re-runs\x20and\x20refreshes\x20the\x20cache,\x20so\x20it\x20doubles\x20as\x20a\x20manual\x20revalidation\x20hook.','maXrR','Allow\x20replacing\x20an\x20existing\x20imageKey\x20(across\x20different\x20extensions).\x20Defaults\x20to\x20false.','PlannedChainInput.snapPointFlowIndices\x20entry\x20','subscribesTo','byteLength','rootDir','/orientation','lBAjW','TCRnh','terminateApp','oODHF','flow\x20ended\x20without\x20success','tapAndVerify','&intent=pro','\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20','elementMatches','string','readEnv','getFilePath','getTagNameNode','Claude\x20Code\x20hook\x20(.rn-errors.json):\x20already\x20configured','OAFss','GEoCI','Unknown\x20error\x20during\x20getSource','CFBundleShortVersionString','TwoSpaces','user_id','componentHook:\x20tier\x20must\x20be\x20\x22componentHook\x22','[ceraph]\x20auth_wall\x20at\x20flow\x20\x22','network-error','Connect\x20your\x20iPhone\x20via\x20USB-C\x20and\x20trust\x20this\x20Mac,\x20then\x20re-run\x20doctor.','\x20is\x20not\x20booted.\x20Booted\x20simulators:\x20','CERAPH_DEVICE_WDA_PROJECT','\x20on\x20:','created','isMonorepo','Compound\x20primitive:\x20focus\x20an\x20input\x20field\x20matched\x20by\x20text/accessibilityLabel/type\x20and\x20type\x20into\x20it.\x20Sends\x20the\x20tap-to-focus\x20and\x20per-character\x20keypresses\x20as\x20ONE\x20W3C\x20actions\x20call\x20when\x20WDA\x20supports\x20it\x20(batched:\x20true);\x20falls\x20back\x20to\x20serial\x20findAndTap\x20+\x20wda/keys\x20otherwise\x20(batched:\x20false).\x20Set\x20`clearFirst:\x20true`\x20to\x20clear\x20an\x20existing\x20value\x20before\x20typing\x20—\x20off\x20by\x20default\x20so\x20we\x20never\x20silently\x20overwrite\x20form\x20state.','visibilityProp','changed','split','ceraph_init_register_scheme','https:','/screenshot','Pro\x20selected.\x0a','addAttribute','\x22Run\x20ceraph_init_status\x20to\x20confirm\x20the\x20project\x20is\x20wired\x20up.\x22','[ceraph]\x20',':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22','swipe','Remove\x20the\x20stale\x20file\x20manually\x20so\x20the\x20imageKey\x20is\x20not\x20backed\x20by\x20two\x20files.','openUrl\x20failed','buildFlowReport','expandedBeforeAll','evictExpired','[react-native-mcp]\x20CERAPH_SIGNAL_HOST\x20auto-detection\x20failed:\x20','xcodebuild-exited-early','IOUSB','wkxuS','source','not-installed','alreadyCurrent','ceraph_start','addEventListener','Could\x20not\x20bind\x20a\x20free\x20port\x20for\x20the\x20auth\x20listener.','beforeAll.ensureLaunched','--json-output','Signal\x20listener\x20failed\x20to\x20bind\x20on\x20port\x20','openMethod','/session','\x22;\x0a\x20\x20useEffect(()\x20=>\x20{\x20','package.json','lMiwF','Swipe\x20duration\x20in\x20ms.','payload','sort','componentControl:\x20ref-imperative\x20entries\x20require\x20non-empty\x20openMethods\x20array','MTJRG','Could\x20not\x20reach\x20the\x20Ceraph\x20server.\x20Check\x20your\x20network\x20connection\x20and\x20try\x20again.','Codex:\x20already\x20configured','yes','auth\x20provider\x20\x27','back','includes','rn_list_flows\x20is\x20missing\x20required\x20git\x20helpers.','Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-flow-progress.json\x20✓','/tier-check','detectBootTarget','token','code','KoMYX','CocoaPods','getBody','DSMsS','\x1b]8;;\x07','UiKPX','.\x20Shim-side\x20signals\x20(JS\x20errors,\x20unhandled\x20rejections,\x20network\x20failures)\x20will\x20be\x20dropped.','If\x20true,\x20also\x20delete\x20`~/.ceraph/auth.json`\x20(the\x20user-global\x20OAuth\x20token;\x20this\x20logs\x20the\x20user\x20out\x20of\x20every\x20Ceraph\x20install\x20on\x20this\x20machine).\x20Default\x20false.','Skipped\x20—\x20no\x20bundleId\x20provided.','value','command','FHOee','screenshotsAvailable','\x20out\x20of\x20range.\x20Found\x20','App.tsx','Native\x20dependency\x20versions\x20changed:\x20','response','AbortError','/wda/keys','JIKNQ','affectedDisplaySelector','existing\x20mcpServers\x20in\x20','type','[ceraph]\x20video\x20recorder\x20start\x20failed\x20for\x20runId=','waitFor','rmFn','saveStepScreenshot','pressKey','iproxy\x20bridge\x20start\x20threw\x20(ignored).','screenshot','onSignal','getNamedImports','rn_reload','requiresAncestor','sectionPresent','0.0.0','ensureAwake','writeUInt32LE','role-alert','olderThan','cmd-','EYFGp','stderr','removedIp','ipconfig','Unknown\x20error\x20during\x20longPress','iproxy\x20bridge\x20already\x20running\x20(external).','getSymbol','http://localhost:8100','getStart','.expo','findElement','uIgwY','edits','Simulator\x20WebDriverAgent\x20','unexpected_state','Camera\x20registry\x20sync\x20failed:\x20','Stop\x20all\x20managed\x20React\x20Native\x20processes\x20(Metro\x20dev\x20server\x20and/or\x20build\x20process).','pointer','rn_wda_stop','filePaths','Failed\x20to\x20get\x20element\x20tree','pickTransport','EviUy','bare-rn-needs-manual','startsWith','prop','simctl\x20terminate\x20failed:\x20','values','reset','Cancel','mkdir','Screen\x20Recording\x20not\x20yet\x20verified\x20—\x20a\x20macOS\x20dialog\x20appears\x20the\x20first\x20time\x20Ceraph\x20drives\x20the\x20device\x20(click\x20Allow;\x20no\x20Settings\x20navigation\x20needed).\x20Session\x20video\x20only;\x20tests\x20run\x20regardless.','cSLmh','Supabase\x20createUser\x20returned\x20no\x20user.','Optional\x20follow-up\x20assertion.\x20The\x20tool\x20reports\x20the\x20visibility\x20of\x20this\x20selector\x20in\x20`verifyResult`\x20after\x20the\x20tap.\x20Omit\x20to\x20perform\x20the\x20tap\x20only.','version','rn_build_ios','target-selected','JcYxn','truncated','`retry`\x20or\x20`halt`','closeMethod','getActiveApp','objective','readFileUtf8','email','::1','image-larger-than-typical','manual','credential','expo-router','boot-request','View','\x20has\x20an\x20unexpected\x20shape\x20—\x20preserving\x20it.\x20','WDA\x20did\x20not\x20return\x20within\x20','retriesUsed','NyFbi','Could\x20not\x20reach\x20the\x20Ceraph\x20server\x20(request\x20timed\x20out\x20after\x20','babel-config','wdaFetch','WgkYe','[react-native-mcp]\x20Runtime\x20catalog\x20unavailable;\x20running\x20with\x20bootstrap\x20catalog\x20only','durationMs','{\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22','Metro\x20has\x20encountered\x20an\x20error','stem','screenName','title','assertNotVisible:\x20element\x20is\x20visible:\x20','buf','function','Your\x20Ceraph\x20session\x20is\x20no\x20longer\x20valid\x20(the\x20account\x20may\x20have\x20been\x20deleted,\x20or\x20your\x20token\x20expired).\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20sign\x20in\x20again.\x20Your\x20local\x20screenshots\x20and\x20flows\x20are\x20preserved\x20—\x20only\x20the\x20server-side\x20identity\x20needs\x20refreshing.','ceraph://','.rn-errors.json','rmdir','Upgraded\x20existing\x20installCeraph()\x20with\x20the\x20testID\x20sentinel\x20seam.','Auth\x20provider\x20secret\x20not\x20found.\x20Set\x20','README.md','Supabase\x20adapter\x20requires\x20`projectUrl`\x20in\x20ceraph.config.js\x20(the\x20Supabase\x20project\x20URL,\x20e.g.,\x20\x27https://abc.supabase.co\x27).','Found\x20','http-client-error',',\x20then\x20re-run\x20any\x20flow\x20tool\x20—','Chain\x20crashed\x20before\x20reaching\x20a\x20snap\x20point:\x20','--name-only','fetchedAt','getParentIfKind','getSource','Ceraph\x20server\x20is\x20having\x20a\x20moment\x20(HTTP\x20','scrollToElement','sEcww','.\x20If\x20you\x20see\x20network\x20timeout\x20errors\x20during\x20the\x20run,\x20verify\x20your\x20phone\x20is\x20on\x20the\x20same\x20network.','iproxy-bridge','BdVhH','pathExists','origin','Keep\x20imageKey\x20short\x20and\x20descriptive\x20(lowercase,\x20hyphen-separated).','N/A','isFunctionExpression','Metro\x20dev\x20server\x20started\x20successfully.','sessionBaseUrl','.\x20Native\x20modules\x20may\x20need\x20linking.','checks','dciHZ','_layout.tsx','checkAndHandle','insertStatements','typeIntoField','ceraph-rn','inflightChild','tool','\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20})','appendStderr','none','/var/run/usbmuxd','dev-settings-reload','availableElements','Camera\x20revert\x20failed:\x20','getifaddr','CFWJE','dbVfw','timestampMs','Signed\x20in','readBody','Either\x20omit\x20`subDir`\x20or\x20pass\x20a\x20single\x20safe\x20path\x20segment\x20(lowercase,\x20hyphen-separated,\x20no\x20slashes).','mcp-clients','sendLoggingMessage','ceraph-uninstall-preview-','Boot\x20and\x20launch\x20WebDriverAgent\x20against\x20a\x20booted\x20iOS\x20Simulator,\x20then\x20capture\x20its\x20WDA\x20port\x20so\x20subsequent\x20screen_*/app_*\x20calls\x20can\x20route\x20to\x20the\x20simulator.\x20NOTE:\x20if\x20a\x20real\x20iOS\x20device\x20is\x20ALSO\x20connected,\x20auto-detection\x20(CERAPH_TARGET=auto,\x20the\x20default)\x20still\x20prefers\x20the\x20device,\x20so\x20calls\x20keep\x20driving\x20the\x20phone\x20—\x20set\x20CERAPH_TARGET=simulator\x20in\x20the\x20MCP\x20process\x20environment\x20to\x20force\x20simulator\x20routing.\x20With\x20no\x20device\x20connected,\x20routing\x20falls\x20to\x20the\x20simulator\x20automatically.\x20Idempotent\x20—\x20calling\x20it\x20again\x20while\x20a\x20session\x20is\x20running\x20returns\x20the\x20existing\x20one.\x20Requires\x20the\x20optional\x20`appium-webdriveragent`\x20dependency\x20in\x20the\x20project,\x20at\x20least\x20one\x20booted\x20simulator,\x20and\x20a\x20one-time\x20Xcode\x20signing\x20setup\x20for\x20the\x20WDA\x20target\x20(the\x20first\x20launch\x20runs\x20an\x20`xcodebuild\x20test`\x20to\x20code-sign;\x20later\x20launches\x20reuse\x20the\x20cached\x20build).','content-type-unrecognized','renderedValue=','responseField','no-config','snapshotErrorBanners','OhnqS','file','working-tree\x20diff\x20vs\x20','center','currentBaseUrl','Cognito\x20deleteUser\x20failed:\x20','\x20is\x20installed\x20(','stateVersion','resolveCommandAck','Long-press\x20an\x20element\x20matched\x20by\x20text/accessibilityLabel.\x20Default\x20duration\x20is\x201000ms.','runPrebuildClean','element','WNIpk','outcome','init.ts','applied','store','.codex','granted','bootBufferBytes','hardwareUdid','devicePort','tracking','verifyNavigation','identifier','autonomy','Per-flow\x20mutex-partner\x20flow\x20names.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.','Xcode\x20is\x20missing\x20Device\x20Support\x20for\x20this\x20iPhone\x27s\x20iOS\x20version','\x20required\x20env\x20var(s)\x20present.','Screenshot\x20—\x20flow=\x22','step','networksetup','currentEpoch','elementKey','\x20→\x20<CeraphCamera\x20/>','secret-missing','testid-config.json','runChain','stdout','child','liopi','unlink','Auth0\x20createUser\x20failed:\x20','placeholder','interfaceName','auth0','failed\x20to\x20bind\x20a\x20free\x20port','checkDevicectl','-json','ZIicx','launchApp','WebDriverAgent','No\x20<CameraView>\x20at\x20','inherit','Failed\x20to\x20get\x20window\x20size:\x20','starter-ready','image-too-large','Unknown\x20chain\x20runId.\x20The\x20run\x20either\x20expired\x20(30m\x20TTL)\x20or\x20never\x20started.\x20Re-run\x20rn_test_chain_start\x20to\x20begin\x20a\x20fresh\x20chain.','message','unlocked','componentControl:\x20componentName\x20must\x20be\x20a\x20non-empty\x20string','device','/session/','GpsPv','createSourceFile','no\x20layout\x20file\x20detected','shift','setBootCaptureMode','Another\x20chain\x20(runId=','CMFuI','isInteger','booted','.\x20The\x20device\x20may\x20not\x20appear\x20in\x20ffmpeg\x27s\x20device\x20list\x20yet\x20—\x20unplug\x20and\x20replug\x20the\x20USB-C\x20cable,\x20accept\x20the\x20\x22Trust\x20This\x20Computer\x22\x20prompt,\x20and\x20retry.','Y\x20coordinate\x20to\x20tap','screenshotBase64','\x20is\x20malformed\x20JSON\x20—\x20preserved;\x20fix\x20it\x20manually\x20then\x20re-run','removedKeys',');\x20appium-webdriveragent\x20ready.','catalog','rootIsRnApp','ffmpeg\x20not\x20found\x20—\x20continuous\x20chain-run\x20video\x20capture\x20will\x20be\x20skipped.\x20Tests\x20still\x20execute\x20normally.','length','Upgrade','acked','ClPhB','ceraph_init_select_tier','findAndTap','config','bounds','ext','ebVeW','tree','list','user-marker\x20NOT\x20visible\x20on\x20protected\x20route','Qrfrp','See\x20the\x20WebDriverAgent\x20error\x20above\x20for\x20the\x20specific\x20fix,\x20then\x20call\x20ceraph_start\x20again.'];_0x1ecd=function(){return _0xfeac8e;};return _0x1ecd();}import{join as _0x23bd26}from'path';import{readFile as _0x269fc2,access as _0x5ef67b}from'fs/promises';import{join as _0x4cbcf5}from'path';var _0x5cae32=[{'file':'pnpm-lock.yaml','pm':_0x3ee7d6(0x16e)},{'file':'yarn.lock','pm':_0x3ee7d6(0x18b)},{'file':_0x3ee7d6(0x20d),'pm':_0x3ee7d6(0x307)},{'file':'bun.lock','pm':'bun'},{'file':'package-lock.json','pm':'npm'}];async function _0x375a8b(_0xa714f3){try{return await _0x5ef67b(_0xa714f3),!![];}catch{return![];}}async function _0x8dd55b(_0x632e61){const _0x35575d=_0x3ee7d6;for(const {file:_0x56b0e2,pm:_0x42617f}of _0x5cae32){if(await _0x375a8b(_0x4cbcf5(_0x632e61,_0x56b0e2)))return _0x42617f;}return _0x35575d(0x38f);}function _0xe59a34(_0xffc7e9,_0x231226=_0x3ee7d6(0x1cc)){const _0x3a3770=_0x3ee7d6;switch(_0xffc7e9){case'pnpm':return{'bin':_0x3a3770(0x16e),'args':['add',_0x231226]};case _0x3a3770(0x18b):return{'bin':'yarn','args':['add',_0x231226]};case'bun':return{'bin':_0x3a3770(0x307),'args':['add',_0x231226]};case _0x3a3770(0x38f):return{'bin':'npm','args':['install',_0x231226]};}}async function _0x13b218(_0x3ffeff,_0x321f39='@ceraph/react-native-mcp'){const _0x24441a=_0x3ee7d6;let _0x1fac00;try{_0x1fac00=await _0x269fc2(_0x4cbcf5(_0x3ffeff,_0x24441a(0x833)),_0x24441a(0x29d));}catch{return![];}let _0x2ed10c;try{_0x2ed10c=JSON[_0x24441a(0x229)](_0x1fac00);}catch{return![];}if(!_0x2ed10c||typeof _0x2ed10c!==_0x24441a(0x5ab))return![];const _0x515fc8=_0x2ed10c,_0x3275f5=_0x515fc8[_0x24441a(0x5d2)],_0x56a899=_0x515fc8[_0x24441a(0x619)];return Boolean(_0x3275f5?.[_0x321f39]||_0x56a899?.[_0x321f39]);}import{chmod,rename as _0x4433f0,stat as _0x3dcc12,unlink as _0x5d78c0,writeFile as _0x423c13}from'fs/promises';import{dirname as _0x13be9d,join as _0x3b2b4e}from'path';async function _0x4b8510(_0x26d56c,_0x1845fe){const _0x177897=_0x3ee7d6,_0x478a7d=_0x13be9d(_0x26d56c),_0x221387=_0x3b2b4e(_0x478a7d,_0x26d56c['slice'](_0x478a7d[_0x177897(0x945)]+0x1)+'.tmp.'+process[_0x177897(0x135)]+'.'+Math['random']()['toString'](0x24)['slice'](0x2));let _0x32f74f;try{if(_0x177897(0x504)==='LXqpu')return _0x143471(this['config']);else{const _0xf700ea=await _0x3dcc12(_0x26d56c);_0x32f74f=_0xf700ea[_0x177897(0x613)]&0x1ff;}}catch{}try{await _0x423c13(_0x221387,_0x1845fe,'utf-8'),_0x32f74f!==void 0x0&&await chmod(_0x221387,_0x32f74f),await _0x4433f0(_0x221387,_0x26d56c);}catch(_0x588743){try{await _0x5d78c0(_0x221387);}catch{}throw _0x588743;}}import{readFile as _0x3b7606}from'fs/promises';async function _0x4260f1(_0x10cdd7){const _0xe25611=_0x3ee7d6;let _0x2b0831;try{_0x2b0831=await _0x3b7606(_0x10cdd7,'utf-8');}catch(_0x2fdd4d){const _0x12a710=_0x2fdd4d;if(_0x12a710&&_0x12a710['code']===_0xe25611(0x6fe))return{'kind':_0xe25611(0x641)};throw _0x2fdd4d;}try{return{'kind':'ok','value':JSON[_0xe25611(0x229)](_0x2b0831)};}catch(_0x2f1881){return{'kind':_0xe25611(0x445),'raw':_0x2b0831,'error':_0x2f1881};}}function _0x2c73d7(_0x1ec3a1){const _0x46f749=_0x3ee7d6;return _0x1ec3a1!=null&&typeof _0x1ec3a1==='object'&&!Array[_0x46f749(0x246)](_0x1ec3a1);}import{mkdir as _0x49099b}from'fs/promises';import{join as _0x1b6edc}from'path';var _0x47a2a3='react-native-mcp',_0x418d61=[_0x3ee7d6(0x644),_0x3ee7d6(0x2bb)];async function _0x296c84(_0x532991){const _0x3d32bb=_0x3ee7d6,_0x34ec3e=_0x1b6edc(_0x532991,..._0x418d61),_0x44c54d=await _0x4260f1(_0x34ec3e);if(_0x44c54d['kind']==='malformed')return{'status':'preserved','settingsPath':_0x34ec3e,'reason':'existing\x20settings\x20at\x20'+_0x34ec3e+_0x3d32bb(0x93f)};if(_0x44c54d[_0x3d32bb(0x3ea)]==='ok'&&!_0x2c73d7(_0x44c54d[_0x3d32bb(0x84f)]))return{'status':_0x3d32bb(0x614),'settingsPath':_0x34ec3e,'reason':'existing\x20settings\x20at\x20'+_0x34ec3e+'\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20'+(Array['isArray'](_0x44c54d['value'])?_0x3d32bb(0x27a):typeof _0x44c54d['value'])+_0x3d32bb(0x394)};const _0x40505f=_0x44c54d[_0x3d32bb(0x3ea)]==='ok'?_0x44c54d[_0x3d32bb(0x84f)]:{};if(_0x40505f['enableAllProjectMcpServers']===!![])return{'status':'already-approved','settingsPath':_0x34ec3e};const _0x4e160f=_0x40505f[_0x3d32bb(0x780)];if(_0x4e160f!==void 0x0){if(!Array[_0x3d32bb(0x246)](_0x4e160f)||!_0x4e160f[_0x3d32bb(0x971)](_0x48116c=>typeof _0x48116c===_0x3d32bb(0x7fd)))return{'status':'preserved','settingsPath':_0x34ec3e,'reason':'existing\x20enabledMcpjsonServers\x20in\x20'+_0x34ec3e+_0x3d32bb(0x2ce)};if(_0x4e160f[_0x3d32bb(0x83f)](_0x47a2a3))return{'status':_0x3d32bb(0x9f6),'settingsPath':_0x34ec3e};}const _0x1a9397=Array[_0x3d32bb(0x246)](_0x4e160f)?[..._0x4e160f,_0x47a2a3]:[_0x47a2a3];return _0x40505f[_0x3d32bb(0x780)]=_0x1a9397,await _0x49099b(_0x1b6edc(_0x532991,_0x3d32bb(0x644)),{'recursive':!![]}),await _0x4b8510(_0x34ec3e,JSON[_0x3d32bb(0x2c1)](_0x40505f,null,0x2)+'\x0a'),{'status':'approved','settingsPath':_0x34ec3e};}import{readFile as _0x551b0b,unlink as _0x523978,access as _0x599764}from'fs/promises';import{homedir as _0x4df339}from'os';import{join as _0x630091}from'path';function _0x59207b(_0x4b062d){const _0x2e1c5e=_0x3ee7d6,_0x5d11d5=/^\[\[?([^[\]]*)\]\]?\s*(?:#.*)?$/['exec'](_0x4b062d);return _0x5d11d5?_0x5d11d5[0x1][_0x2e1c5e(0x5da)]():null;}var _0x382f59=['.mcp.json',_0x630091(_0x3ee7d6(0x4e2),'mcp.json'),_0x630091('.vscode',_0x3ee7d6(0x5b6))],_0x2b54df=[_0x630091('.codex',_0x3ee7d6(0x97a))],_0x4c5900=_0x630091(_0x3ee7d6(0x644),'settings.local.json'),_0x211032=[{'label':'Windsurf','dir':[_0x3ee7d6(0x97f),_0x3ee7d6(0x6ca)],'file':[_0x3ee7d6(0x97f),'windsurf','mcp_config.json']},{'label':'Antigravity','dir':[_0x3ee7d6(0x376),'antigravity'],'file':['.gemini',_0x3ee7d6(0x3b2),_0x3ee7d6(0x5ed)]}];function _0x6b1b18(_0xe268e9){const _0x2e4499=_0x3ee7d6,_0x5c9e1a=_0xe268e9??_0x4df339();return _0x211032[_0x2e4499(0x986)](_0x319ec6=>({'label':_0x319ec6['label'],'path':_0x630091(_0x5c9e1a,..._0x319ec6['file'])}));}var _0x9765fd=[_0x3ee7d6(0x51e),_0x3ee7d6(0x954)],_0x3a86ae=['mobile-mcp'];async function _0x32c4fa(_0x4b4616){try{return await _0x599764(_0x4b4616),!![];}catch{return![];}}async function _0x2b292f(_0x1bfd2e,_0x226160={}){const _0x59fd18=_0x3ee7d6,_0x33ae9a=_0x226160[_0x59fd18(0x18d)]??(_0x5bfb04=>_0x551b0b(_0x5bfb04,_0x59fd18(0x29d))),_0x36934e=_0x226160['writeFile']??_0x4b8510,_0x4a0681=_0x226160[_0x59fd18(0x91d)]??(_0x59dc70=>_0x523978(_0x59dc70)),_0x21e1c8=_0x226160['fileExists']??_0x32c4fa,_0x14d266=[];for(const _0x8e573c of _0x382f59){const _0x125e59=_0x630091(_0x1bfd2e,_0x8e573c);if(!await _0x21e1c8(_0x125e59)){_0x14d266[_0x59fd18(0x496)]({'path':_0x125e59,'status':'not-found'});continue;}_0x14d266['push'](await _0x128dfe(_0x125e59,{'read':_0x33ae9a,'write':_0x36934e,'unlink':_0x4a0681}));}for(const _0x2f6c4c of _0x2b54df){const _0x7444a6=_0x630091(_0x1bfd2e,_0x2f6c4c);if(!await _0x21e1c8(_0x7444a6)){if('ClXwI'!=='ClXwI')return{'path':_0x312e95,'status':_0x59fd18(0x295)};else{_0x14d266['push']({'path':_0x7444a6,'status':'not-found'});continue;}}_0x14d266[_0x59fd18(0x496)](await _0x224099(_0x7444a6,{'read':_0x33ae9a,'write':_0x36934e,'unlink':_0x4a0681}));}const _0x3d279c=_0x630091(_0x1bfd2e,_0x4c5900);return!await _0x21e1c8(_0x3d279c)?_0x14d266['push']({'path':_0x3d279c,'status':_0x59fd18(0x4e1)}):_0x14d266[_0x59fd18(0x496)](await _0x27b3ab(_0x3d279c,{'read':_0x33ae9a,'write':_0x36934e,'unlink':_0x4a0681})),{'files':_0x14d266};}async function _0x128dfe(_0x4127e8,_0x426f3f){const _0x73bbbd=_0x3ee7d6,_0x7476a2=await _0x426f3f['read'](_0x4127e8);let _0x5b66f7;try{_0x5b66f7=JSON['parse'](_0x7476a2);}catch{return{'path':_0x4127e8,'status':_0x73bbbd(0x445)};}if(!_0x5b66f7||typeof _0x5b66f7!=='object'||Array['isArray'](_0x5b66f7))return{'path':_0x4127e8,'status':'malformed'};const _0x1f24df=_0x5b66f7,_0x64999a=_0x1f24df['mcpServers'];if(!_0x64999a||typeof _0x64999a!=='object'||Array[_0x73bbbd(0x246)](_0x64999a))return{'path':_0x4127e8,'status':_0x73bbbd(0x295)};const _0x220ba9=_0x64999a,_0x148deb=[];for(const _0x2fb47e of _0x9765fd){_0x2fb47e in _0x220ba9&&(delete _0x220ba9[_0x2fb47e],_0x148deb['push'](_0x2fb47e));}if(_0x148deb['length']===0x0)return{'path':_0x4127e8,'status':'no-changes'};const _0x3231fa=Object[_0x73bbbd(0x208)](_0x1f24df)[_0x73bbbd(0x65c)](_0x258b37=>_0x258b37!==_0x73bbbd(0x279)),_0x1345aa=Object['keys'](_0x220ba9)['length']===0x0;if(_0x1345aa&&_0x3231fa['length']===0x0)return await _0x426f3f['unlink'](_0x4127e8),{'path':_0x4127e8,'status':'deleted-file','removedKeys':_0x148deb};const _0x4f788a=_0x7476a2[_0x73bbbd(0x678)](/\n(\s+)"/),_0x19c5c1=_0x4f788a?.[0x1]??'\x20\x20',_0x304711=_0x7476a2['endsWith']('\x0a'),_0xb7b12b=JSON[_0x73bbbd(0x2c1)](_0x1f24df,null,_0x19c5c1);return await _0x426f3f[_0x73bbbd(0x65a)](_0x4127e8,_0x304711?_0xb7b12b+'\x0a':_0xb7b12b),{'path':_0x4127e8,'status':_0x73bbbd(0x775),'removedKeys':_0x148deb};}async function _0x27b3ab(_0x4dcfee,_0x2c8df4){const _0x3eec71=_0x3ee7d6,_0x46f257=await _0x2c8df4[_0x3eec71(0x9e8)](_0x4dcfee);let _0x4d4ba8;try{_0x4d4ba8=JSON['parse'](_0x46f257);}catch{return{'path':_0x4dcfee,'status':_0x3eec71(0x445)};}if(!_0x4d4ba8||typeof _0x4d4ba8!==_0x3eec71(0x5ab)||Array[_0x3eec71(0x246)](_0x4d4ba8))return{'path':_0x4dcfee,'status':_0x3eec71(0x445)};const _0x3c435e=_0x4d4ba8,_0x7814eb=_0x3c435e[_0x3eec71(0x780)];if(!Array['isArray'](_0x7814eb)||!_0x7814eb['includes'](_0x47a2a3))return{'path':_0x4dcfee,'status':'no-changes'};const _0xf59b9=_0x7814eb['filter'](_0x41958f=>_0x41958f!==_0x47a2a3);_0xf59b9['length']===0x0?delete _0x3c435e[_0x3eec71(0x780)]:_0x3c435e[_0x3eec71(0x780)]=_0xf59b9;if(Object['keys'](_0x3c435e)['length']===0x0)return await _0x2c8df4['unlink'](_0x4dcfee),{'path':_0x4dcfee,'status':'deleted-file','removedKeys':[_0x47a2a3]};const _0x5720f4=_0x46f257['match'](/\n(\s+)"/),_0x32d421=_0x5720f4?.[0x1]??'\x20\x20',_0x4d6369=_0x46f257[_0x3eec71(0x3f0)]('\x0a'),_0x570dc6=JSON[_0x3eec71(0x2c1)](_0x3c435e,null,_0x32d421);return await _0x2c8df4[_0x3eec71(0x65a)](_0x4dcfee,_0x4d6369?_0x570dc6+'\x0a':_0x570dc6),{'path':_0x4dcfee,'status':'removed-entries','removedKeys':[_0x47a2a3]};}function _0x2d6e24(_0x2c687b,_0x1a36b9){const _0x37b08e=_0x3ee7d6,_0x19e91e=_0x2c687b[_0x37b08e(0x814)](/\r?\n/),_0x2b0ee3=_0x2c687b[_0x37b08e(0x3f0)]('\x0a');_0x2b0ee3&&_0x19e91e[_0x37b08e(0x945)]>0x0&&_0x19e91e[_0x19e91e[_0x37b08e(0x945)]-0x1]===''&&_0x19e91e['pop']();const _0x389017=[],_0x22471a=[];let _0x357ae2=![],_0x32537a=![];for(let _0x4c8e74=0x0;_0x4c8e74<_0x19e91e[_0x37b08e(0x945)];_0x4c8e74++){if('RMOCr'!=='KPzEZ'){const _0x159a96=_0x19e91e[_0x4c8e74],_0x5b70c3=_0x159a96[_0x37b08e(0x5da)](),_0x53c4e2=_0x59207b(_0x5b70c3);if(_0x53c4e2!==null){const _0x4840af=_0x1a36b9['has'](_0x53c4e2);if(_0x4840af){_0x389017[_0x37b08e(0x945)]>0x0&&_0x389017[_0x389017[_0x37b08e(0x945)]-0x1]===''&&_0x389017['pop']();const _0x2feb02=_0x53c4e2['startsWith']('mcp_servers.')?_0x53c4e2['slice']('mcp_servers.'['length']):_0x53c4e2;_0x22471a['push'](_0x2feb02),_0x357ae2=!![],_0x32537a=![];continue;}(_0x357ae2||_0x32537a)&&_0x389017['length']>0x0&&_0x389017[_0x389017['length']-0x1]!==''&&_0x389017[_0x37b08e(0x496)]('');_0x357ae2=![],_0x32537a=![],_0x389017['push'](_0x159a96);continue;}if(_0x357ae2){_0x32537a=!![];continue;}if(_0x32537a){if(_0x5b70c3==='')continue;_0x389017['length']>0x0&&_0x389017[_0x389017['length']-0x1]!==''&&_0x389017[_0x37b08e(0x496)]('');_0x32537a=![],_0x389017[_0x37b08e(0x496)](_0x159a96);continue;}_0x389017[_0x37b08e(0x496)](_0x159a96);}else return this[_0x37b08e(0x7be)](_0x5b51bd);}while(_0x389017['length']>0x0&&_0x389017[_0x389017[_0x37b08e(0x945)]-0x1]===''){_0x389017['pop']();}const _0x1a6716=_0x389017['join']('\x0a'),_0x4960a9=_0x2b0ee3&&_0x1a6716['length']>0x0?_0x1a6716+'\x0a':_0x1a6716;return{'next':_0x4960a9,'removedKeys':_0x22471a};}async function _0x224099(_0x56b955,_0x2e26e6){const _0xf1430b=_0x3ee7d6,_0x275e93=await _0x2e26e6['read'](_0x56b955),_0x5b8965=new Set(_0x9765fd[_0xf1430b(0x986)](_0x26b123=>'mcp_servers.'+_0x26b123)),{next:_0x48e4a2,removedKeys:_0x463199}=_0x2d6e24(_0x275e93,_0x5b8965);if(_0x463199['length']===0x0)return{'path':_0x56b955,'status':'no-changes'};if(_0x48e4a2['trim']()[_0xf1430b(0x945)]===0x0)return await _0x2e26e6[_0xf1430b(0x91d)](_0x56b955),{'path':_0x56b955,'status':_0xf1430b(0x280),'removedKeys':_0x463199};return await _0x2e26e6[_0xf1430b(0x65a)](_0x56b955,_0x48e4a2),{'path':_0x56b955,'status':_0xf1430b(0x775),'removedKeys':_0x463199};}async function _0x4241f8(_0x37b7fc={}){const _0x51b9bf=_0x3ee7d6,_0x42ed89=_0x37b7fc[_0x51b9bf(0x18d)]??(_0x13f078=>_0x551b0b(_0x13f078,'utf-8')),_0x3b5144=_0x37b7fc['writeFile']??_0x4b8510,_0x422d9f=_0x37b7fc['unlink']??(_0x50c1b5=>_0x523978(_0x50c1b5)),_0x2d2cf9=_0x37b7fc['fileExists']??_0x32c4fa,_0x88b59f=[];for(const {path:_0x31fb38}of _0x6b1b18(_0x37b7fc['home'])){if(!await _0x2d2cf9(_0x31fb38)){_0x88b59f['push']({'path':_0x31fb38,'status':'not-found'});continue;}_0x88b59f[_0x51b9bf(0x496)](await _0x128dfe(_0x31fb38,{'read':_0x42ed89,'write':_0x3b5144,'unlink':_0x422d9f}));}return{'files':_0x88b59f};}import{createRequire as _0x281ee8}from'module';var _0x13acbf=_0x3ee7d6(0x1cc),_0x2a3197=((()=>{const _0x497c64=_0x3ee7d6;try{const _0x2177e6=_0x281ee8(import.meta.url),_0x3f29e4=_0x2177e6(_0x497c64(0x6fd));return _0x3f29e4['version']??_0x497c64(0x869);}catch{return'0.0.0';}})());function _0x323e7c(_0x416afd=_0x2a3197){if(!_0x416afd||_0x416afd==='0.0.0')return _0x13acbf;return _0x13acbf+'@'+_0x416afd;}function _0x4f2d22(){return{'command':'npx','args':['-y',_0x323e7c()]};}function _0x11b004(){const _0x2b59b4=_0x3ee7d6;return'\x0a[mcp_servers.react-native-mcp]\x0acommand\x20=\x20\x22npx\x22\x0aargs\x20=\x20[\x22-y\x22,\x20\x22'+_0x323e7c()+_0x2b59b4(0x2a9);}function _0x1450ff(){return'args\x20=\x20[\x22-y\x22,\x20\x22'+_0x323e7c()+'\x22]';}var _0x22a417='mcp_servers.react-native-mcp';function _0x2c2188(_0x2f84e6){const _0x152c9d=_0x3ee7d6,_0xac72b9=_0x1450ff(),_0x38efc0=_0x2f84e6['split'](/\r?\n/);let _0xb1bed8=![],_0x569a3a=![],_0x820830=![],_0x798e6b=![];for(let _0xdf768c=0x0;_0xdf768c<_0x38efc0['length'];_0xdf768c++){const _0xbda64e=_0x38efc0[_0xdf768c][_0x152c9d(0x5da)](),_0x455302=_0x59207b(_0xbda64e);if(_0x455302!==null){if('liopi'===_0x152c9d(0x91c)){_0xb1bed8=_0x455302===_0x22a417;if(_0xb1bed8)_0x569a3a=!![];continue;}else _0x4543d5=![],_0x50b28e='iproxy\x20is\x20not\x20installed\x20—\x20cannot\x20auto-bridge\x20WDA.',_0x2435e3='Install\x20with\x20`brew\x20install\x20libimobiledevice`,\x20then\x20re-run\x20doctor.';}if(_0xb1bed8&&/^args\s*=/[_0x152c9d(0x364)](_0xbda64e)){if(_0xbda64e===_0xac72b9)_0x798e6b=!![];else/^args\s*=\s*\[[^[\]]*\]\s*(?:#.*)?$/['test'](_0xbda64e)&&(_0x38efc0[_0xdf768c]=_0xac72b9,_0x820830=!![]);break;}}return{'next':_0x38efc0['join']('\x0a'),'replaced':_0x820830,'sectionPresent':_0x569a3a,'alreadyCurrent':_0x798e6b};}function _0x33745c(_0x15c7cf,_0x39895e=_0x4f2d22()){const _0x14fd48=_0x3ee7d6;if(!_0x2c73d7(_0x15c7cf))return![];if(_0x15c7cf[_0x14fd48(0x850)]!==_0x39895e[_0x14fd48(0x850)])return![];const _0x36cc10=_0x15c7cf[_0x14fd48(0x719)];if(!Array[_0x14fd48(0x246)](_0x36cc10)||_0x36cc10['length']!==_0x39895e['args'][_0x14fd48(0x945)])return![];return _0x36cc10['every']((_0x2d44b2,_0x2bad3b)=>_0x2d44b2===_0x39895e['args'][_0x2bad3b]);}import{readFile as _0x217ebe,writeFile as _0x1260e8,readdir as _0x111f78}from'fs/promises';import{basename,dirname as _0x1a49be,join as _0x32a541,relative as _0x5313a2,sep as _0x569437}from'path';var _0x3c2703,_0x23f6c6,_0x1a19b6,_0x5ebc88,_0x24528c=![];async function _0x3bf435(){if(_0x24528c)return;const _0x1c77e8=await import('ts-morph');({IndentationText:_0x3c2703,Project:_0x23f6c6,SyntaxKind:_0x1a19b6,Node:_0x5ebc88}=_0x1c77e8,_0x24528c=!![]);}var _0x4f7081=['app','src','screens'],_0x1d8d5b=new Set([_0x3ee7d6(0x73e),'.jsx']),_0x4834c1=new Set(['node_modules',_0x3ee7d6(0x166),_0x3ee7d6(0x17d),_0x3ee7d6(0x56c),_0x3ee7d6(0x5d3),_0x3ee7d6(0x878),'.next','ios','android']),_0x4a1715=_0x3ee7d6(0x2f7),_0x4d99ba=_0x3ee7d6(0x698);function _0x506b44(_0x2a4178){const _0x25c0ee=_0x3ee7d6,_0x2367db=basename(_0x2a4178)['replace'](/\.(tsx|jsx)$/i,''),_0x3cc24c=basename(_0x1a49be(_0x2a4178)),_0x23a3cb=new Set(['page',_0x25c0ee(0x1c4),'screen','route','layout']),_0x1a49d2=_0x23a3cb[_0x25c0ee(0x21c)](_0x2367db['toLowerCase']())?_0x3cc24c:_0x2367db,_0x447814=_0x1a49d2['replace'](/([a-z0-9])([A-Z])/g,'$1-$2')[_0x25c0ee(0x17e)]()['replace'](/[^a-z0-9]+/g,'-')[_0x25c0ee(0x27d)](/^-+|-+$/g,'');return _0x447814[_0x25c0ee(0x945)]>0x0?_0x447814:'camera';}async function _0x207bb7(_0x30449a){const _0x9b5a0=_0x3ee7d6,_0x203b23=[];async function _0x11fc05(_0xfb7514){const _0x2f9465=_0x4a5a;let _0x546f08;try{_0x546f08=await _0x111f78(_0xfb7514,{'withFileTypes':!![]});}catch{return;}for(const _0x20b4a0 of _0x546f08){const _0x19f50c=_0x32a541(_0xfb7514,_0x20b4a0[_0x2f9465(0x4d1)]);if(_0x20b4a0[_0x2f9465(0x42a)]()){if(_0x4834c1['has'](_0x20b4a0['name']))continue;await _0x11fc05(_0x19f50c);continue;}if(!_0x20b4a0['isFile']())continue;const _0x5d7bfe=_0x20b4a0['name'][_0x2f9465(0x64b)]('.');if(_0x5d7bfe<0x0)continue;const _0x2c4a4d=_0x20b4a0['name']['slice'](_0x5d7bfe)['toLowerCase']();if(!_0x1d8d5b['has'](_0x2c4a4d))continue;_0x203b23[_0x2f9465(0x496)](_0x19f50c);}}for(const _0x99047a of _0x4f7081){await _0x11fc05(_0x32a541(_0x30449a,_0x99047a));}for(const _0xbecc4 of[_0x9b5a0(0x854),_0x9b5a0(0x754)]){_0x203b23['push'](_0x32a541(_0x30449a,_0xbecc4));}return _0x203b23;}function _0xf61d(_0x289192){const _0x4ea508=new _0x23f6c6({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x3c2703['TwoSpaces']}});for(const _0x1c217c of _0x289192){try{_0x4ea508['addSourceFileAtPath'](_0x1c217c);}catch{}}return _0x4ea508;}function _0x140d3b(_0x1d8f0f,_0x455243){const _0x248f5e=_0x3ee7d6,_0x4135bd=[];return _0x1d8f0f[_0x248f5e(0x631)](_0x583b79=>{const _0x5ce132=_0x248f5e;if(_0x5ebc88['isJsxOpeningElement'](_0x583b79)||_0x5ebc88['isJsxSelfClosingElement'](_0x583b79)){const _0x4ce1ed=_0x583b79['getTagNameNode']();_0x4ce1ed[_0x5ce132(0x326)]()===_0x455243&&_0x4135bd[_0x5ce132(0x496)](_0x583b79);}}),_0x4135bd;}function _0x4d2f67(_0x4f21f5){const _0x1a522b=_0x4f21f5['getAttributes']();for(const _0x41d6e6 of _0x1a522b){if(_0x5ebc88['isJsxAttribute'](_0x41d6e6)){const _0x54e4a1=_0x41d6e6['getNameNode']();if(_0x54e4a1['getText']()==='imageKey')return!![];}}return![];}async function _0x3fb3fb(_0x3d9261){const _0x38f26a=_0x3ee7d6;await _0x3bf435();const _0xf0247e=await _0x207bb7(_0x3d9261),_0xbfabb2=_0xf61d(_0xf0247e),_0x385fee=[];for(const _0x46fde6 of _0xbfabb2['getSourceFiles']()){const _0x6456c7=_0x140d3b(_0x46fde6,'CameraView');if(_0x6456c7[_0x38f26a(0x945)]===0x0)continue;for(const _0x5a0e35 of _0x6456c7){const _0x56d942=_0x5a0e35['getStart'](),_0x30896b=_0x46fde6[_0x38f26a(0x1ab)](_0x56d942);_0x385fee['push']({'filePath':_0x46fde6['getFilePath'](),'relPath':_0x5313a2(_0x3d9261,_0x46fde6['getFilePath']())['split'](_0x569437)[_0x38f26a(0x221)]('/'),'line':_0x30896b['line'],'suggestedKey':_0x506b44(_0x46fde6[_0x38f26a(0x7ff)]()),'alreadyHasImageKey':_0x4d2f67(_0x5a0e35)});}}return _0x385fee[_0x38f26a(0x837)]((_0x536b90,_0x4f148f)=>_0x536b90[_0x38f26a(0x260)]===_0x4f148f['relPath']?_0x536b90[_0x38f26a(0xf5)]-_0x4f148f['line']:_0x536b90[_0x38f26a(0x260)]<_0x4f148f[_0x38f26a(0x260)]?-0x1:0x1),{'edits':_0x385fee,'filesScanned':_0xbfabb2['getSourceFiles']()[_0x38f26a(0x945)]};}async function _0x43bab1(_0x54ec86,_0x118207,_0x32b5c1={}){const _0x23c271=_0x3ee7d6;await _0x3bf435();const _0x25914b=new Map();for(const _0x5032a5 of _0x118207){const _0x354971=_0x25914b['get'](_0x5032a5[_0x23c271(0x4e3)])??[];_0x354971[_0x23c271(0x496)](_0x5032a5),_0x25914b['set'](_0x5032a5['filePath'],_0x354971);}const _0x55ef7d=_0xf61d(Array['from'](_0x25914b['keys']())),_0x49db0e=[];let _0x10b9e8=0x0;for(const [_0x3c1b08,_0x1e9f85]of _0x25914b){const _0x3f0184=_0x55ef7d[_0x23c271(0x741)](_0x3c1b08);if(!_0x3f0184)continue;let _0x2ce987=0x0;for(const _0x129f4c of _0x1e9f85){const _0x329635=_0x140d3b(_0x3f0184,_0x23c271(0x537)),_0x4bcb8e=_0x329635[_0x23c271(0x7bd)](_0x2fc4ca=>{const _0x3e20bd=_0x23c271;if(_0x3e20bd(0x11f)===_0x3e20bd(0x11f)){const _0x27db2b=_0x3f0184[_0x3e20bd(0x1ab)](_0x2fc4ca['getStart']());return _0x27db2b[_0x3e20bd(0xf5)]===_0x129f4c['line'];}else return{'ready':![],'reason':_0x3e20bd(0x627)};});if(!_0x4bcb8e)continue;_0x4bcb8e[_0x23c271(0x800)]()['replaceWithText']('CeraphCamera');if(_0x5ebc88[_0x23c271(0x781)](_0x4bcb8e)){const _0x146e9f=_0x4bcb8e[_0x23c271(0x8c4)](_0x1a19b6[_0x23c271(0x9f3)]);if(_0x146e9f){const _0x2fb456=_0x146e9f[_0x23c271(0x475)]();_0x2fb456['getTagNameNode']()['replaceWithText']('CeraphCamera');}}!_0x129f4c[_0x23c271(0x16d)]&&!_0x32b5c1['omitImageKey']&&_0x4bcb8e['addAttribute']({'name':_0x23c271(0x203),'initializer':'\x22'+_0x129f4c[_0x23c271(0x78a)]+'\x22'}),_0x2ce987++,_0x10b9e8++;}const _0x5f48c0=_0x3f0184[_0x23c271(0x128)](_0x4a1715);if(_0x5f48c0){const _0x572f42=_0x5f48c0['getNamedImports']();!_0x572f42['some'](_0xb6ed55=>_0xb6ed55[_0x23c271(0x33e)]()===_0x4d99ba)&&_0x5f48c0['addNamedImport'](_0x4d99ba);}else _0x3f0184['addImportDeclaration']({'moduleSpecifier':_0x4a1715,'namedImports':[_0x4d99ba]});const _0x1ba192=_0x3f0184[_0x23c271(0x128)]('expo-camera');if(_0x1ba192){const _0x12abd5=_0x140d3b(_0x3f0184,'CameraView');if(_0x12abd5[_0x23c271(0x945)]===0x0){const _0x1e4b01=_0x1ba192['getNamedImports'](),_0x4004c0=_0x1e4b01[_0x23c271(0x7bd)](_0x311af0=>_0x311af0[_0x23c271(0x33e)]()===_0x23c271(0x537));if(_0x4004c0){_0x4004c0[_0x23c271(0x6f8)]();const _0x2f2961=_0x1ba192[_0x23c271(0x865)](),_0xa90beb=_0x1ba192['getDefaultImport']()!=null;_0x2f2961[_0x23c271(0x945)]===0x0&&!_0xa90beb&&_0x1ba192[_0x23c271(0x6f8)]();}}}if(_0x2ce987>0x0){const _0x34da98=_0x3f0184['getFullText']();await _0x1260e8(_0x3c1b08,_0x34da98,_0x23c271(0x29d)),_0x49db0e[_0x23c271(0x496)](_0x3c1b08);}}return{'filesEdited':_0x49db0e,'totalReplacements':_0x10b9e8};}async function _0x54344b(_0x2312ca,_0x1c71b2,_0x234e12){const _0x433daf=_0x3ee7d6;await _0x3bf435();const _0x233e10=_0xf61d([_0x2312ca]),_0x3a6ab4=_0x233e10[_0x433daf(0x741)](_0x2312ca);if(!_0x3a6ab4)return{'applied':![],'reason':_0x433daf(0x99a)+_0x2312ca};const _0x2e9fa4=_0x140d3b(_0x3a6ab4,_0x433daf(0x698)),_0x5278f3=_0x2e9fa4[_0x433daf(0x7bd)](_0xd728e0=>{const _0x310682=_0x433daf,_0x28178a=_0x3a6ab4[_0x310682(0x1ab)](_0xd728e0['getStart']());return _0x28178a[_0x310682(0xf5)]===_0x1c71b2;});if(!_0x5278f3)return{'applied':![],'reason':'No\x20<CeraphCamera>\x20at\x20'+_0x2312ca+':'+_0x1c71b2};let _0x15d995=null,_0x301e81=![];for(const _0x5d07e5 of _0x5278f3['getAttributes']()){if(_0x5ebc88[_0x433daf(0x6f2)](_0x5d07e5)){const _0x4070b0=_0x5d07e5[_0x433daf(0x2b3)]();if(_0x4070b0['getText']()===_0x433daf(0x203)){_0x301e81=!![];const _0xcfdba3=_0x5d07e5['getInitializer']();_0xcfdba3&&_0x5ebc88['isStringLiteral'](_0xcfdba3)&&(_0x15d995=_0xcfdba3[_0x433daf(0x42e)]());_0x5d07e5[_0x433daf(0x395)]('\x22'+_0x234e12+'\x22');break;}}}!_0x301e81&&_0x5278f3[_0x433daf(0x819)]({'name':_0x433daf(0x203),'initializer':'\x22'+_0x234e12+'\x22'});if(_0x15d995===_0x234e12)return{'applied':![],'previousValue':_0x15d995,'reason':_0x433daf(0x525)};return await _0x1260e8(_0x2312ca,_0x3a6ab4['getFullText'](),_0x433daf(0x29d)),{'applied':!![],'previousValue':_0x15d995};}async function _0x5431e7(_0x5b6696){const _0x297477=_0x3ee7d6;try{return await _0x217ebe(_0x5b6696,_0x297477(0x29d));}catch{if('Kgbdx'!==_0x297477(0x7b1))return null;else this[_0x297477(0x392)]={'tree':_0x18a8b9,'epoch':this[_0x297477(0xdd)],'capturedAtStep':_0x41c86b};}}async function _0x182f45(_0x3e71a7,_0x2cddc0){await _0x1260e8(_0x3e71a7,_0x2cddc0,'utf-8');}import{readFile as _0x46239d,writeFile as _0x3d1d2d}from'fs/promises';import{dirname as _0x5c42e0,join as _0x55b58b,relative as _0x2108c5,sep as _0x135d10}from'path';var _0x154647,_0x4070c1,_0x24552b,_0x1d7891,_0x3cabdb=![];async function _0x5257d5(){const _0x41811d=_0x3ee7d6;if(_0x3cabdb)return;const _0x43c38f=await import(_0x41811d(0x9c1));({IndentationText:_0x154647,Project:_0x4070c1,Node:_0x24552b,SyntaxKind:_0x1d7891}=_0x43c38f,_0x3cabdb=!![]);}var _0x5ca0e3=_0x3ee7d6(0x2f7),_0x1ba036=_0x3ee7d6(0x13c),_0x2e6aa0=_0x55b58b(_0x3ee7d6(0x5d3),_0x3ee7d6(0x918));function _0x102542(_0x3d4b0f){const _0x39d396=_0x3ee7d6,_0x11ff5d=_0x5c42e0(_0x3d4b0f[_0x39d396(0x4e3)]),_0x3e6a27=_0x3d4b0f['kind']==='expo-router'?_0x5c42e0(_0x11ff5d):_0x11ff5d,_0x4bd181=_0x55b58b(_0x3e6a27,_0x2e6aa0);let _0x5b7e5b=_0x2108c5(_0x11ff5d,_0x4bd181);if(_0x135d10!=='/')_0x5b7e5b=_0x5b7e5b[_0x39d396(0x814)](_0x135d10)['join']('/');if(!_0x5b7e5b[_0x39d396(0x887)]('./')&&!_0x5b7e5b['startsWith'](_0x39d396(0x5a2)))_0x5b7e5b='./'+_0x5b7e5b;return _0x5b7e5b;}function _0x55f56d(_0x185648){const _0x3c3068=_0x3ee7d6,_0x698406=_0x102542(_0x185648);return _0x1ba036+'({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22'+_0x698406+_0x3c3068(0x8dd);}async function _0x5368e4(_0x3bf923){try{return await _0x46239d(_0x3bf923,'utf-8'),!![];}catch{return![];}}async function _0x334a7a(_0x34011b){const _0xcb8bb9=_0x3ee7d6,_0x4a452c=_0x55b58b(_0x34011b,_0xcb8bb9(0x44c),_0xcb8bb9(0x8d6));if(await _0x5368e4(_0x4a452c))return{'kind':_0xcb8bb9(0x8a1),'filePath':_0x4a452c};const _0x3724ee=_0x55b58b(_0x34011b,'app',_0xcb8bb9(0x4b1));if(await _0x5368e4(_0x3724ee))return{'kind':_0xcb8bb9(0x8a1),'filePath':_0x3724ee};for(const _0x334f36 of['App.tsx',_0xcb8bb9(0x754)]){const _0x4499d7=_0x55b58b(_0x34011b,_0x334f36);if(await _0x5368e4(_0x4499d7))return{'kind':_0xcb8bb9(0x46b),'filePath':_0x4499d7};}return null;}function _0x42e3d1(_0x2603be){const _0x1573d2=_0x3ee7d6;for(const _0x395043 of _0x2603be['getFunctions']()){if(_0x395043['isDefaultExport']())return _0x395043;}const _0x33dfb3=_0x2603be['getStatements']()['find'](_0x777c0d=>_0x24552b[_0x1573d2(0x3da)](_0x777c0d));if(_0x33dfb3&&_0x24552b['isExportAssignment'](_0x33dfb3)){const _0x621c5c=_0x33dfb3['getExpression']();if(_0x24552b[_0x1573d2(0x9c8)](_0x621c5c)){if('TkFhS'===_0x1573d2(0x9d3)){const _0x112d21=_0x621c5c['getSymbol']();if(_0x112d21){if(_0x1573d2(0x87a)!=='fJkOM'){const _0x63a62c=_0x112d21['getDeclarations']()[0x0];if(_0x63a62c&&_0x24552b[_0x1573d2(0x5ee)](_0x63a62c)){const _0x138451=_0x63a62c[_0x1573d2(0x16c)]();if(_0x138451&&_0x24552b['isArrowFunction'](_0x138451))return _0x138451;if(_0x138451&&_0x24552b[_0x1573d2(0x8d0)](_0x138451))return _0x138451;}}else _0x5f4651['accumulatedWriteKeys']['add'](_0x317cb6['kind']+':'+_0x16a447['key']+':*');}}else _0x1f3035['fallbackText']=_0x4bd3e6[_0x1573d2(0x3ef)];}if(_0x24552b['isArrowFunction'](_0x621c5c))return _0x621c5c;if(_0x24552b[_0x1573d2(0x8d0)](_0x621c5c))return _0x621c5c;}return null;}function _0x5916e0(_0x3f0329){const _0x251006=_0x3ee7d6,_0x3237ef=_0x3f0329['getImportDeclaration']('react');if(!_0x3237ef)return _0x3f0329['addImportDeclaration']({'moduleSpecifier':_0x251006(0x4b9),'namedImports':['useEffect']}),!![];const _0x5517e0=_0x3237ef['getNamedImports']();if(!_0x5517e0['some'](_0x236592=>_0x236592[_0x251006(0x33e)]()===_0x251006(0x5bc)))return _0x3237ef['addNamedImport'](_0x251006(0x5bc)),!![];return![];}function _0x58a326(_0xd47022){const _0x362a42=_0x3ee7d6,_0x3541bd=_0xd47022[_0x362a42(0x128)](_0x5ca0e3);if(!_0x3541bd)return _0xd47022['addImportDeclaration']({'moduleSpecifier':_0x5ca0e3,'namedImports':[_0x1ba036]}),!![];const _0xb954d5=_0x3541bd['getNamedImports']();if(!_0xb954d5['some'](_0x59ebb0=>_0x59ebb0[_0x362a42(0x33e)]()===_0x1ba036))return _0x3541bd[_0x362a42(0x386)](_0x1ba036),!![];return![];}function _0x56a45b(_0x105821){const _0x225e84=_0x3ee7d6,_0x2616ed=_0x105821['getBody']();if(!_0x2616ed||!_0x24552b[_0x225e84(0x9f4)](_0x2616ed))return null;let _0x585f4d=null,_0x28dcad=null;return _0x2616ed['forEachDescendant']((_0x39310b,_0x5f0edc)=>{const _0x3af799=_0x225e84;if(_0x3af799(0x272)!=='tpVPV'){if(_0x28dcad){_0x5f0edc['stop']();return;}if(_0x24552b[_0x3af799(0x435)](_0x39310b)){const _0xcde590=_0x39310b[_0x3af799(0x45d)]();if(_0x24552b['isIdentifier'](_0xcde590)&&_0xcde590[_0x3af799(0x326)]()===_0x1ba036){if(_0x585f4d===null)_0x585f4d=_0x39310b;_0x39310b[_0x3af799(0x6ae)]()[_0x3af799(0x945)]===0x0&&(_0x28dcad=_0x39310b,_0x5f0edc[_0x3af799(0x2bf)]());}}}else _0x2a7172=_0x518780,_0x4c5918=_0x5134c5['now']();}),_0x28dcad??_0x585f4d;}function _0x58aece(_0x2a24f3){return _0x56a45b(_0x2a24f3)!==null;}function _0x23600c(_0x2ce2b4,_0x7ab13a){const _0x24e6f5=_0x3ee7d6;if(_0x2ce2b4['getArguments']()[_0x24e6f5(0x945)]>0x0)return![];const _0x5af205=_0x102542(_0x7ab13a);return _0x2ce2b4['addArgument'](_0x24e6f5(0x8ae)+_0x5af205+_0x24e6f5(0x6b5)),!![];}async function _0x455be0(_0x39e92f){const _0x39b0e0=_0x3ee7d6;await _0x5257d5();let _0x3a96cd;try{const _0x36ad35=new _0x4070c1({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}});_0x3a96cd=_0x36ad35['addSourceFileAtPath'](_0x39e92f);}catch{return'none';}const _0x587651=_0x42e3d1(_0x3a96cd);if(!_0x587651)return'none';const _0x4dfc9d=_0x56a45b(_0x587651);if(!_0x4dfc9d)return _0x39b0e0(0x8df);return _0x4dfc9d[_0x39b0e0(0x6ae)]()[_0x39b0e0(0x945)]===0x0?_0x39b0e0(0x44a):_0x39b0e0(0x314);}function _0x4c319c(_0xbb0166,_0x528739){const _0xf26045=_0x3ee7d6;if(_0x58aece(_0xbb0166))return![];if(_0x24552b['isArrowFunction'](_0xbb0166)){const _0x59eadb=_0xbb0166['getBody']();if(!_0x24552b['isBlock'](_0x59eadb)){const _0x5dce7c=_0x59eadb['getText']();_0x59eadb[_0xf26045(0x9ac)](_0xf26045(0x9b7)+_0x5dce7c+';\x20}');}}const _0x2c66a=_0xbb0166['getBody']();if(!_0x2c66a||!_0x24552b[_0xf26045(0x9f4)](_0x2c66a))return![];return _0x2c66a[_0xf26045(0x8d8)](0x0,_0xf26045(0x9b0)+_0x55f56d(_0x528739)+_0xf26045(0x5df)),!![];}async function _0x10bb96(_0x506840){const _0x42241d=_0x3ee7d6;await _0x5257d5();const _0x18edae=new _0x4070c1({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x154647[_0x42241d(0x806)]}}),_0x46eee0=_0x18edae['addSourceFileAtPath'](_0x506840[_0x42241d(0x4e3)]),_0x3ee5af=_0x42e3d1(_0x46eee0);if(!_0x3ee5af)return{'applied':![],'alreadyPresent':![],'reason':_0x42241d(0x27b)+_0x506840['filePath']+_0x42241d(0x81c)+_0x5ca0e3+'\x22;\x0a\x20\x20useEffect(()\x20=>\x20{\x20'+_0x55f56d(_0x506840)+';\x20},\x20[]);'};const _0x41ce68=_0x56a45b(_0x3ee5af);if(_0x41ce68){if(_0x42241d(0x71a)!==_0x42241d(0x71a))return{'success':![],'apps':[],'error':'simctl\x20listapps\x20failed:\x20'+(_0xf19129[_0x42241d(0x870)]||_0xb9e383['stdout'])['trim']()};else{const _0x3d012c=_0x23600c(_0x41ce68,_0x506840),_0x59af27=_0x58a326(_0x46eee0),_0x215f67=_0x5916e0(_0x46eee0),_0x1ace0a=_0x3d012c||_0x59af27||_0x215f67;return _0x1ace0a&&await _0x3d1d2d(_0x506840['filePath'],_0x46eee0['getFullText'](),_0x42241d(0x29d)),{'applied':_0x1ace0a,'alreadyPresent':!![],'reason':_0x3d012c?_0x42241d(0x8ba):_0x1ace0a?'Already\x20wired\x20—\x20added\x20missing\x20import(s).':'Already\x20wired\x20—\x20no\x20changes\x20needed.'};}}const _0x349b23=_0x4c319c(_0x3ee5af,_0x506840);if(!_0x349b23)return{'applied':![],'alreadyPresent':![],'reason':_0x42241d(0x987)+_0x506840[_0x42241d(0x4e3)]+':\x0a\x20\x20import\x20{\x20installCeraph\x20}\x20from\x20\x22'+_0x5ca0e3+_0x42241d(0x832)+_0x55f56d(_0x506840)+_0x42241d(0x5df)};_0x58a326(_0x46eee0),_0x5916e0(_0x46eee0);const _0x2c93c8=_0x46eee0[_0x42241d(0x4e0)]();return await _0x3d1d2d(_0x506840['filePath'],_0x2c93c8,_0x42241d(0x29d)),{'applied':!![],'alreadyPresent':![]};}async function _0x23e5d8(_0x2a55c3){const _0x109c6f=_0x3ee7d6;try{return await _0x46239d(_0x2a55c3['filePath'],_0x109c6f(0x29d));}catch{return null;}}async function _0x1c1c48(_0x43c5c3,_0x21893){const _0x2f6cbc=_0x3ee7d6;await _0x3d1d2d(_0x43c5c3[_0x2f6cbc(0x4e3)],_0x21893,'utf-8');}import{readFile as _0x53ff62,writeFile as _0x205150,access as _0x36a6d0}from'fs/promises';import{join as _0x11de76}from'path';var _0x4d3d32='ceraph';async function _0x3d4b4a(_0x4dda9f){const _0x131c3f=_0x3ee7d6;try{return await _0x36a6d0(_0x4dda9f),!![];}catch{if('bkzWh'!=='bkzWh')_0x53cf2e[_0x131c3f(0x6f8)]();else return![];}}async function _0x591822(_0x4d42e1,_0x40053f={}){const _0x5971d5=_0x3ee7d6,_0xf5f31f=_0x40053f[_0x5971d5(0x4a1)]??_0x3d4b4a,_0x289d7c=_0x40053f[_0x5971d5(0x18d)]??(_0x3e2a55=>_0x53ff62(_0x3e2a55,_0x5971d5(0x29d))),_0x56039d=_0x40053f[_0x5971d5(0x352)]??((_0x543475,_0x34ee07)=>_0x205150(_0x543475,_0x34ee07,'utf-8')),_0x56dd84=_0x11de76(_0x4d42e1,_0x5971d5(0x293)),_0x12a5ff=_0x11de76(_0x4d42e1,_0x5971d5(0x45e)),_0x584d0a=_0x11de76(_0x4d42e1,'app.config.ts'),_0x1b18ec=_0x11de76(_0x4d42e1,_0x5971d5(0x5c2)),_0x2669bb=_0x11de76(_0x4d42e1,_0x5971d5(0x57f)),_0x1d4a62=await _0xf5f31f(_0x12a5ff),_0x245af3=await _0xf5f31f(_0x584d0a);if(_0x1d4a62||_0x245af3)return{'kind':_0x5971d5(0x40e),'path':_0x245af3?_0x584d0a:_0x12a5ff};if(await _0xf5f31f(_0x56dd84)){const _0x12d2b2=await _0x289d7c(_0x56dd84),_0x5932c0=_0x249daa(_0x12d2b2);if(!_0x5932c0['ok'])return{'kind':_0x5971d5(0x40e),'path':_0x56dd84};const _0x2f7444=_0x3a9144(_0x5932c0['parsed'],_0x4d3d32);if(_0x2f7444['action']===_0x5971d5(0x37f))return{'kind':'expo-json-already-registered','scheme':_0x2f7444[_0x5971d5(0x389)],'path':_0x56dd84};return await _0x56039d(_0x56dd84,_0x3db7e5(_0x5932c0['parsed'],_0x12d2b2)),{'kind':'expo-json-added','previousScheme':_0x2f7444['previousScheme'],'nextScheme':_0x2f7444[_0x5971d5(0x42b)],'path':_0x56dd84};}if(await _0xf5f31f(_0x1b18ec)||await _0xf5f31f(_0x2669bb)){if('eCNYc'!==_0x5971d5(0x52a)){const _0x4a1982=_0x5429ee['toUpperCase']();return _0x4a1982==='POST'||_0x4a1982===_0x5971d5(0x3cf)||_0x4a1982===_0x5971d5(0x198)||_0x4a1982==='DELETE';}else return{'kind':_0x5971d5(0x886)};}return{'kind':_0x5971d5(0x115)};}function _0x249daa(_0xd529b5){const _0x1d12f3=_0x3ee7d6;try{if('pgJHA'===_0x1d12f3(0x965)){const _0xb0c6ec=JSON[_0x1d12f3(0x229)](_0xd529b5);if(!_0xb0c6ec||typeof _0xb0c6ec!==_0x1d12f3(0x5ab)||Array['isArray'](_0xb0c6ec))return{'ok':![],'parsed':{}};return{'ok':!![],'parsed':_0xb0c6ec};}else return{'success':![],'error':_0x4582e1 instanceof _0x32ba78?_0x19bd50['message']:_0x1d12f3(0x262)};}catch{return{'ok':![],'parsed':{}};}}function _0x3db7e5(_0x46639b,_0x48eb93){const _0x3becd7=_0x48eb93['match'](/\n(\s+)"/),_0x5c96f8=_0x3becd7?.[0x1]??'\x20\x20',_0x5c99bb=_0x48eb93['endsWith']('\x0a'),_0x1e7c6f=JSON['stringify'](_0x46639b,null,_0x5c96f8);return _0x5c99bb?_0x1e7c6f+'\x0a':_0x1e7c6f;}function _0x3a9144(_0x5bd023,_0x244114){const _0x42bab9=_0x3ee7d6;(!_0x5bd023['expo']||typeof _0x5bd023[_0x42bab9(0x64d)]!==_0x42bab9(0x5ab))&&(_0x5bd023[_0x42bab9(0x64d)]={});const _0x7396ed=_0x5bd023['expo'],_0x1e7d8b=_0x7396ed['scheme'];if(typeof _0x1e7d8b==='string'&&_0x1e7d8b===_0x244114)return{'action':'already','scheme':_0x1e7d8b,'previousScheme':_0x1e7d8b,'nextScheme':[_0x1e7d8b]};if(Array[_0x42bab9(0x246)](_0x1e7d8b)&&_0x1e7d8b['includes'](_0x244114))return{'action':'already','scheme':_0x1e7d8b,'previousScheme':_0x1e7d8b,'nextScheme':[..._0x1e7d8b]};if(_0x1e7d8b===void 0x0)return _0x7396ed['scheme']=_0x244114,{'action':'added','scheme':_0x244114,'previousScheme':void 0x0,'nextScheme':[_0x244114]};if(typeof _0x1e7d8b==='string'){const _0x1661a3=[_0x1e7d8b,_0x244114];return _0x7396ed['scheme']=_0x1661a3,{'action':_0x42bab9(0x1dd),'scheme':_0x1661a3,'previousScheme':_0x1e7d8b,'nextScheme':_0x1661a3};}if(Array['isArray'](_0x1e7d8b)){const _0xd6add1=[..._0x1e7d8b,_0x244114];return _0x7396ed['scheme']=_0xd6add1,{'action':_0x42bab9(0x1dd),'scheme':_0xd6add1,'previousScheme':_0x1e7d8b,'nextScheme':_0xd6add1};}return _0x7396ed['scheme']=_0x244114,{'action':_0x42bab9(0x1dd),'scheme':_0x244114,'previousScheme':_0x1e7d8b,'nextScheme':[_0x244114]};}function _0x4e5ff2(){return'\x0aAdd\x20Ceraph\x27s\x20custom\x20URL\x20scheme\x20so\x20deep\x20links\x20(ceraph://reload,\x0aceraph://reset,\x20ceraph://storage)\x20reach\x20the\x20running\x20app.\x0a\x0aiOS\x20—\x20edit\x20ios/<YourApp>/Info.plist:\x0a\x0a\x20\x20<key>CFBundleURLTypes</key>\x0a\x20\x20<array>\x0a\x20\x20\x20\x20<dict>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLName</key>\x0a\x20\x20\x20\x20\x20\x20<string>com.yourcompany.yourapp</string>\x0a\x20\x20\x20\x20\x20\x20<key>CFBundleURLSchemes</key>\x0a\x20\x20\x20\x20\x20\x20<array>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<string>ceraph</string>\x0a\x20\x20\x20\x20\x20\x20</array>\x0a\x20\x20\x20\x20</dict>\x0a\x20\x20</array>\x0a\x0aAndroid\x20—\x20edit\x20android/app/src/main/AndroidManifest.xml\x20inside\x20the\x0aMainActivity\x20<activity>\x20block:\x0a\x0a\x20\x20<intent-filter>\x0a\x20\x20\x20\x20<action\x20android:name=\x22android.intent.action.VIEW\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.DEFAULT\x22\x20/>\x0a\x20\x20\x20\x20<category\x20android:name=\x22android.intent.category.BROWSABLE\x22\x20/>\x0a\x20\x20\x20\x20<data\x20android:scheme=\x22ceraph\x22\x20/>\x0a\x20\x20</intent-filter>\x0a\x0aThen\x20rebuild\x20the\x20native\x20app\x20(pod\x20install\x20+\x20xcodebuild\x20on\x20iOS,\x20./gradlew\x0aassembleDebug\x20on\x20Android).\x20Existing\x20JS-only\x20reloads\x20do\x20not\x20pick\x20up\x0anative\x20config\x20changes.\x0a'['trimStart']();}function _0x331217(_0x172cdc){return('\x0aYour\x20project\x20uses\x20'+_0x172cdc+'\x20(dynamic\x20Expo\x20config)\x20—\x20we\x20can\x27t\x0asafely\x20auto-edit\x20a\x20JS/TS\x20file.\x20Add\x20Ceraph\x27s\x20URL\x20scheme\x20manually:\x0a\x0a\x20\x20export\x20default\x20({\x20config\x20})\x20=>\x20({\x0a\x20\x20\x20\x20...config,\x0a\x20\x20\x20\x20scheme:\x20Array.isArray(config.scheme)\x0a\x20\x20\x20\x20\x20\x20?\x20[...config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20:\x20config.scheme\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20[config.scheme,\x20\x22ceraph\x22]\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x22ceraph\x22,\x0a\x20\x20\x20\x20//\x20...\x20rest\x20of\x20your\x20expo\x20config\x0a\x20\x20});\x0a\x0aThen\x20re-run\x20`expo\x20prebuild\x20--clean`\x20if\x20you\x27ve\x20ejected,\x20or\x20just\x0arestart\x20the\x20dev\x20client.\x0a')['trimStart']();}import{readFile as _0x4b0231,readdir as _0x3fa5b1,stat as _0x17eb8b}from'fs/promises';import{join as _0x2e4c09,relative as _0xecbd44,sep as _0x351791}from'path';async function _0x21fb45(_0x49cca0){try{return await _0x17eb8b(_0x49cca0),!![];}catch{return![];}}async function _0x5d8f76(_0x1d749a){const _0x5e688a=_0x3ee7d6;try{const _0x13af99=await _0x4b0231(_0x1d749a,'utf-8'),_0x541c18=JSON['parse'](_0x13af99);if(!_0x541c18||typeof _0x541c18!==_0x5e688a(0x5ab))return null;return _0x541c18;}catch{return null;}}function _0x870292(_0x4461c6){const _0x2b9cc8=_0x3ee7d6;if(!_0x4461c6)return{'expo':![],'rn':![]};const _0x36446e=_0x4461c6['dependencies']??{},_0x3be3ce=_0x4461c6[_0x2b9cc8(0x619)]??{},_0x27b9a7={..._0x36446e,..._0x3be3ce};return{'expo':Boolean(_0x27b9a7[_0x2b9cc8(0x64d)]||_0x27b9a7[_0x2b9cc8(0x8a1)]),'rn':Boolean(_0x27b9a7[_0x2b9cc8(0x665)])};}async function _0x23df6f(_0xdbe9d4){const _0x431104=_0x3ee7d6,_0x1982b9=_0x2e4c09(_0xdbe9d4,_0x431104(0x995));let _0x14b61e;try{if(_0x431104(0x524)===_0x431104(0x524))_0x14b61e=await _0x4b0231(_0x1982b9,'utf-8');else{_0x30c54e+=0x1;const _0x1f0985=_0x5bdb6f['random']()['toString'](0x24)[_0x431104(0x63b)](0x2,0xa);return'sack-'+_0x469c98['now']()['toString'](0x24)+'-'+_0x22fb36['toString'](0x24)+'-'+_0x1f0985;}}catch{return null;}return _0x176dc0(_0x14b61e);}function _0x176dc0(_0x3333c7){const _0x53619c=_0x3ee7d6,_0x36fd0d=[];let _0xedff64=![];for(const _0x5281d3 of _0x3333c7['split'](/\r?\n/)){const _0x5493b3=_0x5281d3['replace'](/#.*$/,'')['trimEnd']();if(_0x5493b3['length']===0x0)continue;if(/^packages\s*:\s*$/['test'](_0x5493b3)){_0xedff64=!![];continue;}if(!_0x5281d3['startsWith']('\x20')&&!_0x5281d3[_0x53619c(0x887)]('-')&&_0x5493b3[_0x53619c(0x3f0)](':')){_0xedff64=![];continue;}if(!_0xedff64)continue;const _0x4dcb1a=_0x5493b3['match'](/^\s*-\s*['"]?([^'"]+?)['"]?\s*$/);if(_0x4dcb1a&&_0x4dcb1a[0x1])_0x36fd0d['push'](_0x4dcb1a[0x1]);}return _0x36fd0d;}async function _0x483d28(_0x6cb08a,_0x1b2103){const _0x20a962=_0x3ee7d6,_0x51a6cb=_0x1b2103['replace'](/^\.\//,'')[_0x20a962(0x27d)](/\/+$/,'');if(_0x51a6cb['length']===0x0)return[];if(!_0x51a6cb[_0x20a962(0x83f)]('*')){const _0x431bc0=_0x2e4c09(_0x6cb08a,_0x51a6cb),_0x137f2b=await _0x21fb45(_0x431bc0);return _0x137f2b?[_0x431bc0]:[];}const _0x475292=_0x51a6cb['match'](/^([^*]+)\/\*$/);if(!_0x475292||!_0x475292[0x1])return[];const _0x59f4d3=_0x475292[0x1]['replace'](/\/+$/,''),_0x228557=_0x2e4c09(_0x6cb08a,_0x59f4d3);let _0xe018eb;try{_0xe018eb=await _0x3fa5b1(_0x228557,{'withFileTypes':!![]});}catch{return[];}const _0x489f28=[];for(const _0x27087e of _0xe018eb){if(!_0x27087e[_0x20a962(0x42a)]())continue;if(_0x27087e[_0x20a962(0x4d1)]['startsWith']('.'))continue;_0x489f28['push'](_0x2e4c09(_0x228557,_0x27087e['name']));}return _0x489f28;}async function _0x155983(_0x13bb8d){const _0x2fad1c=_0x3ee7d6,_0x3fd281=new Set();let _0x5214ac=![];const _0x3f0a0a=await _0x5d8f76(_0x2e4c09(_0x13bb8d,'package.json'));if(_0x3f0a0a?.['workspaces']){_0x5214ac=!![];if(Array[_0x2fad1c(0x246)](_0x3f0a0a['workspaces'])){for(const _0x5d6508 of _0x3f0a0a['workspaces'])_0x3fd281['add'](_0x5d6508);}else{if(_0x3f0a0a[_0x2fad1c(0x2a4)]&&typeof _0x3f0a0a['workspaces']===_0x2fad1c(0x5ab)&&Array['isArray'](_0x3f0a0a[_0x2fad1c(0x2a4)][_0x2fad1c(0x4c7)]))for(const _0x48e959 of _0x3f0a0a['workspaces']['packages']){'HkHXu'!==_0x2fad1c(0x202)?this[_0x2fad1c(0x2f6)]=null:_0x3fd281['add'](_0x48e959);}}}const _0x285095=await _0x23df6f(_0x13bb8d);if(_0x285095!=null){_0x5214ac=!![];for(const _0x469be6 of _0x285095)_0x3fd281['add'](_0x469be6);}const _0x4fdeaa=await _0x5d8f76(_0x2e4c09(_0x13bb8d,_0x2fad1c(0x784)));if(_0x4fdeaa){const _0x3df7d9=_0x4fdeaa['packages'];if(Array[_0x2fad1c(0x246)](_0x3df7d9)){_0x5214ac=!![];for(const _0x9402ef of _0x3df7d9){if(typeof _0x9402ef==='string')_0x3fd281[_0x2fad1c(0x5c1)](_0x9402ef);}}else await _0x21fb45(_0x2e4c09(_0x13bb8d,'lerna.json'))&&(_0x5214ac=!![]);}if(!_0x5214ac)return null;return Array[_0x2fad1c(0x70f)](_0x3fd281);}async function _0x1dcc30(_0x2d392c){const _0x439eb8=_0x3ee7d6,_0x16a215=await _0x5d8f76(_0x2e4c09(_0x2d392c,_0x439eb8(0x833))),_0x4f8a0b=_0x870292(_0x16a215);if(_0x4f8a0b[_0x439eb8(0x64d)]||_0x4f8a0b['rn']){if('VQmeY'==='VQmeY')return{'kind':'none','matches':[],'rootIsRnApp':!![],'isMonorepo':await _0x155983(_0x2d392c)!=null};else _0x1171fa(_0x151f69(_0x439eb8(0x3ac)));}const _0x3517f4=await _0x155983(_0x2d392c);if(_0x3517f4==null)return{'kind':_0x439eb8(0x8df),'matches':[],'rootIsRnApp':![],'isMonorepo':![]};const _0x22621f=new Set();for(const _0x272be6 of _0x3517f4){for(const _0x2879eb of await _0x483d28(_0x2d392c,_0x272be6)){_0x22621f['add'](_0x2879eb);}}const _0x218c83=[];for(const _0x23ca4b of _0x22621f){const _0x38eac0=_0x2e4c09(_0x23ca4b,_0x439eb8(0x833)),_0x2554fb=await _0x5d8f76(_0x38eac0),_0x2e2bb6=_0x870292(_0x2554fb),_0xd3193a=await _0x21fb45(_0x2e4c09(_0x23ca4b,_0x439eb8(0x293))),_0x110a74=[];if(_0x2e2bb6['expo'])_0x110a74[_0x439eb8(0x496)]('expo');if(_0x2e2bb6['rn'])_0x110a74[_0x439eb8(0x496)]('react-native');if(_0xd3193a)_0x110a74[_0x439eb8(0x496)](_0x439eb8(0x293));if(_0x110a74[_0x439eb8(0x945)]===0x0)continue;const _0x16fc7e=_0xecbd44(_0x2d392c,_0x23ca4b)[_0x439eb8(0x814)](_0x351791)[_0x439eb8(0x221)]('/');_0x218c83[_0x439eb8(0x496)]({'absPath':_0x23ca4b,'relPath':_0x16fc7e['length']>0x0?_0x16fc7e:'.','signals':_0x110a74});}_0x218c83[_0x439eb8(0x837)]((_0x11294e,_0x395185)=>_0x11294e[_0x439eb8(0x260)]<_0x395185[_0x439eb8(0x260)]?-0x1:_0x11294e[_0x439eb8(0x260)]>_0x395185[_0x439eb8(0x260)]?0x1:0x0);const _0x37f38a=_0x218c83['length']===0x0?_0x439eb8(0x8df):_0x218c83['length']===0x1?_0x439eb8(0x13e):'multi';return{'kind':_0x37f38a,'matches':_0x218c83,'rootIsRnApp':![],'isMonorepo':!![]};}async function _0x39b846(){return _0x9b2b8c();}async function _0x5b7020(_0x312f81,_0x67d6fe=_0x312f81){const _0x536d4d=_0x3ee7d6,[_0x3e47fa,_0x549e40,_0x3af06f,_0x3b5868,_0x2bc6fd]=await Promise['all']([_0x13b218(_0x312f81),_0x39b846(),_0x310de9(_0x312f81),_0x3fb3fb(_0x312f81),_0x334a7a(_0x312f81)]),_0x295db7=_0x2bc6fd?await _0x455be0(_0x2bc6fd['filePath']):null,_0x499618=_0x295db7===null?null:_0x295db7==='seamed',_0x33836b=_0x3af06f['kind']===_0x536d4d(0x49a)?!![]:_0x3af06f[_0x536d4d(0x3ea)]===_0x536d4d(0x4f3)?![]:null,_0x5cb28b=_0x3af06f[_0x536d4d(0x3ea)]===_0x536d4d(0x4f3)||_0x3af06f['kind']==='expo-json-already-registered'?_0x536d4d(0x750):_0x3af06f[_0x536d4d(0x3ea)]==='expo-config-needs-manual'?_0x536d4d(0x63a):_0x3af06f[_0x536d4d(0x3ea)]==='bare-rn-needs-manual'?'bare-rn':_0x536d4d(0x8df);return{'workingDir':_0x312f81,'packageInstalled':_0x3e47fa,'authenticated':_0x549e40!=null,'schemeRegistered':_0x33836b,'projectKind':_0x5cb28b,'cameraScanResults':_0x3b5868[_0x536d4d(0x87b)][_0x536d4d(0x986)](_0x466dfd=>({'relPath':_0x466dfd['relPath'],'line':_0x466dfd['line'],'alreadyHasImageKey':_0x466dfd['alreadyHasImageKey'],'suggestedKey':_0x466dfd['suggestedKey']})),'bootInjected':_0x499618,'bootSeamState':_0x295db7,'bootTarget':_0x2bc6fd,'mcpClientsPresent':{'claudeCode':await _0x3035e8(_0x23bd26(_0x67d6fe,'.mcp.json')),'cursor':await _0x3035e8(_0x23bd26(_0x67d6fe,'.cursor',_0x536d4d(0x5b6))),'codex':await _0x3035e8(_0x23bd26(_0x67d6fe,_0x536d4d(0x905),_0x536d4d(0x97a))),'vscode':await _0x3035e8(_0x23bd26(_0x67d6fe,_0x536d4d(0x390),_0x536d4d(0x5b6)))}};}async function _0x310de9(_0x5c9a1f){return _0x591822(_0x5c9a1f,{'writeFile':async()=>void 0x0});}async function _0xd9bac1(_0x422c13={}){const _0x2df150=_0x3ee7d6;try{const _0x2a72e6=await _0x4ca948({'signal':_0x422c13[_0x2df150(0x294)],'token':_0x422c13[_0x2df150(0x844)],'intent':_0x422c13['intent']});return _0x2a72e6['email']?{'status':'ok','email':_0x2a72e6[_0x2df150(0x89c)]}:{'status':'ok'};}catch(_0x3e0d55){if(_0x3e0d55 instanceof Error&&(_0x3e0d55[_0x2df150(0x4d1)]==='AbortError'||typeof DOMException!=='undefined'&&_0x3e0d55 instanceof DOMException))return{'status':'aborted'};const _0x36d82e=_0x3e0d55 instanceof Error?_0x3e0d55['message']:String(_0x3e0d55);return{'status':'error','error':_0x36d82e};}}async function _0x574a8e(_0xd5573e){const _0x480a41=_0x3ee7d6,_0x9b0a6b=await _0x3fb3fb(_0xd5573e),_0x393d64=[],_0xb5fcae=new Map();for(const _0x31c851 of _0x9b0a6b['edits']){let _0x3cc7a9=_0xb5fcae['get'](_0x31c851[_0x480a41(0x4e3)]);_0x3cc7a9===void 0x0&&(_0x3cc7a9=await _0x23d6c8(_0x31c851[_0x480a41(0x4e3)],'utf-8')[_0x480a41(0x4ba)](()=>''),_0xb5fcae[_0x480a41(0x3b6)](_0x31c851['filePath'],_0x3cc7a9)),_0x393d64[_0x480a41(0x496)]({'filePath':_0x31c851['filePath'],'relPath':_0x31c851['relPath'],'line':_0x31c851['line'],'suggestedKey':_0x31c851[_0x480a41(0x78a)],'alreadyHasImageKey':_0x31c851[_0x480a41(0x16d)],'surroundingCode':_0x53192a(_0x3cc7a9,_0x31c851['line'],0xf)});}return{'usages':_0x393d64,'filesScanned':_0x9b0a6b['filesScanned']};}function _0x53192a(_0x42120e,_0x58c0cc,_0x2d6e27){const _0x34e273=_0x3ee7d6,_0x30b979=_0x42120e[_0x34e273(0x814)](/\r?\n/),_0x52d208=Math[_0x34e273(0x4da)](0x0,_0x58c0cc-0x1-_0x2d6e27),_0x401473=Math[_0x34e273(0x71d)](_0x30b979[_0x34e273(0x945)],_0x58c0cc-0x1+_0x2d6e27+0x1);return _0x30b979[_0x34e273(0x63b)](_0x52d208,_0x401473)[_0x34e273(0x221)]('\x0a');}async function _0x5c99ef(_0x15400d,_0x3179f2){const _0x2e1141=_0x3ee7d6,_0x599e84=await _0x3fb3fb(_0x15400d),_0x379ca8=_0x599e84['edits']['find'](_0x50bfe8=>_0x50bfe8[_0x2e1141(0x4e3)]===_0x3179f2[_0x2e1141(0x4e3)]&&_0x50bfe8[_0x2e1141(0xf5)]===_0x3179f2['line']);if(!_0x379ca8){const _0x54fa07=await _0x23d6c8(_0x3179f2[_0x2e1141(0x4e3)],'utf-8')['catch'](()=>null);if(_0x54fa07==null)return{'success':![],'reason':_0x2e1141(0x99a)+_0x3179f2[_0x2e1141(0x4e3)]};if(_0x54fa07['includes'](_0x2e1141(0x698))){const _0x308877=await _0x54344b(_0x3179f2[_0x2e1141(0x4e3)],_0x3179f2['line'],_0x3179f2['imageKey']);if(_0x308877[_0x2e1141(0x903)]){const _0x595834=await _0x23d6c8(_0x3179f2[_0x2e1141(0x4e3)],'utf-8');return{'success':!![],'newContent':_0x595834};}if(_0x308877['reason']===_0x2e1141(0x525))return{'success':!![],'already':!![],'newContent':_0x54fa07};return{'success':![],'reason':_0x308877[_0x2e1141(0x78c)]??_0x2e1141(0x3c3)+_0x3179f2[_0x2e1141(0x4e3)]+':'+_0x3179f2[_0x2e1141(0xf5)]};}return{'success':![],'reason':_0x2e1141(0x928)+_0x3179f2['filePath']+':'+_0x3179f2['line']};}const _0x1a2f2f={'filePath':_0x379ca8['filePath'],'relPath':_0x379ca8['relPath'],'line':_0x379ca8['line'],'suggestedKey':_0x3179f2[_0x2e1141(0x203)],'alreadyHasImageKey':_0x379ca8['alreadyHasImageKey']};await _0x43bab1(_0x15400d,[_0x1a2f2f]);const _0x3c8d0f=await _0x23d6c8(_0x3179f2[_0x2e1141(0x4e3)],_0x2e1141(0x29d));return{'success':!![],'newContent':_0x3c8d0f};}async function _0x1ed8ab(_0x41e353){const _0x2e1f03=await _0x24193a(_0x41e353),_0x42cc69=await _0x334a7a(_0x41e353);if(!_0x42cc69)return{'applied':![],'reason':'Could\x20not\x20find\x20app/_layout.tsx\x20or\x20App.tsx.\x20Add\x20this\x20to\x20your\x20root\x20component\x20manually\x20(the\x20require\x20path\x20is\x20relative\x20to\x20that\x20file\x20—\x20`./.ceraph/testid-config.json`\x20from\x20a\x20root\x20App.tsx,\x20`../.ceraph/testid-config.json`\x20from\x20app/_layout.tsx):\x0a\x20\x20useEffect(()\x20=>\x20{\x20installCeraph({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22./.ceraph/testid-config.json\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20});\x20},\x20[]);','babelConfig':_0x2e1f03};const _0x1e8a51=await _0x10bb96(_0x42cc69);return{'applied':_0x1e8a51['applied'],'filePath':_0x42cc69['filePath'],'already':_0x1e8a51['alreadyPresent'],'reason':_0x1e8a51['reason'],'babelConfig':_0x2e1f03};}async function _0x46b911(_0x50fc3e){const _0x3d9c45=_0x3ee7d6,_0xdc6d4c=await _0x591822(_0x50fc3e);let _0x1106bd;if(_0xdc6d4c['kind']===_0x3d9c45(0x40e))_0x1106bd=_0x331217(_0xdc6d4c['path']);else _0xdc6d4c['kind']===_0x3d9c45(0x886)&&(_0x1106bd=_0x4e5ff2());return{'action':_0xdc6d4c,'instructions':_0x1106bd};}async function _0x5c8c10(_0x580271){const _0x299e62=_0x3ee7d6,_0x1177df=[],_0x2bc681=[],_0x4f7155=[],_0x249710=[{'name':_0x299e62(0x5f8),'path':_0x23bd26(_0x580271,'.mcp.json')},{'name':_0x299e62(0x55c),'path':_0x23bd26(_0x580271,'.cursor','mcp.json')},{'name':'Codex','path':_0x23bd26(_0x580271,_0x299e62(0x905),_0x299e62(0x97a)),'toml':!![]},{'name':'VS\x20Code','path':_0x23bd26(_0x580271,_0x299e62(0x390),_0x299e62(0x5b6))}];for(const _0x31f7a6 of _0x249710){const _0x84b1f1=_0x31f7a6[_0x299e62(0x498)]?await _0x5b188f(_0x31f7a6['path']):await _0x293627(_0x31f7a6[_0x299e62(0x4ff)]);if(_0x84b1f1['status']==='written')_0x1177df['push'](_0x31f7a6[_0x299e62(0x4d1)]);else{if(_0x84b1f1['status']==='skipped')_0x2bc681['push'](_0x31f7a6['name']);else _0x4f7155['push']({'name':_0x31f7a6['name'],'reason':_0x84b1f1['reason']});}}const _0xfbcf41=await _0x296c84(_0x580271);return{'written':_0x1177df,'skipped':_0x2bc681,'preserved':_0x4f7155,'claudePreApproval':_0xfbcf41};}async function _0x293627(_0x28c0ef){const _0x47c61d=_0x3ee7d6,_0x4cef44=await _0x4260f1(_0x28c0ef);if(_0x4cef44['kind']===_0x47c61d(0x445))return{'status':_0x47c61d(0x614),'reason':'existing\x20config\x20at\x20'+_0x28c0ef+_0x47c61d(0x93f)};const _0x1b7fbd=_0x4cef44['kind']==='ok'?_0x4cef44[_0x47c61d(0x84f)]:{};if(_0x4cef44['kind']==='ok'&&!_0x2c73d7(_0x1b7fbd))return{'status':'preserved','reason':_0x47c61d(0x99d)+_0x28c0ef+_0x47c61d(0x7fb)+(Array[_0x47c61d(0x246)](_0x1b7fbd)?'array':typeof _0x1b7fbd)+_0x47c61d(0x394)};const _0x3401fe=_0x2c73d7(_0x1b7fbd)?_0x1b7fbd:{},_0x1b783a=_0x3401fe['mcpServers'];if(_0x1b783a!==void 0x0&&!_0x2c73d7(_0x1b783a))return{'status':_0x47c61d(0x614),'reason':_0x47c61d(0x85b)+_0x28c0ef+_0x47c61d(0x7fb)+(Array[_0x47c61d(0x246)](_0x1b783a)?_0x47c61d(0x27a):typeof _0x1b783a)+')\x20—\x20preserved'};const _0x305089=_0x2c73d7(_0x1b783a)?_0x1b783a:{};let _0x16d0b5=![];for(const _0x309df2 of _0x3a86ae){_0x309df2 in _0x305089&&(delete _0x305089[_0x309df2],_0x16d0b5=!![]);}const _0x8d9065=_0x4f2d22(),_0x2f6efc=_0x305089['react-native-mcp'];if(_0x33745c(_0x2f6efc,_0x8d9065)&&!_0x16d0b5)return{'status':_0x47c61d(0x797)};const _0x80d07c=_0x2c73d7(_0x2f6efc)?{..._0x2f6efc}:{};return _0x305089[_0x47c61d(0x954)]={..._0x80d07c,..._0x8d9065},_0x3401fe['mcpServers']=_0x305089,await _0x59402e(_0x23bd26(_0x28c0ef,'..'),{'recursive':!![]}),await _0x4b8510(_0x28c0ef,JSON[_0x47c61d(0x2c1)](_0x3401fe,null,0x2)+'\x0a'),{'status':'written'};}async function _0x5b188f(_0x3d04f3){const _0x2fb0fb=_0x3ee7d6;let _0x311fb4='';try{_0x311fb4=await _0x23d6c8(_0x3d04f3,'utf-8');}catch{}const _0x3a8d8c=new Set(_0x3a86ae[_0x2fb0fb(0x986)](_0x397715=>'mcp_servers.'+_0x397715)),_0x33fee3=_0x2d6e24(_0x311fb4,_0x3a8d8c);_0x311fb4=_0x33fee3['next'];const _0x2ed980=_0x33fee3[_0x2fb0fb(0x940)]['length']>0x0,_0x96075a=_0x2c2188(_0x311fb4);if(_0x96075a['sectionPresent']&&_0x96075a['alreadyCurrent']&&!_0x2ed980)return{'status':_0x2fb0fb(0x797)};if(_0x96075a['replaced'])_0x311fb4=_0x96075a['next'];else{if(_0x96075a[_0x2fb0fb(0x868)]&&!_0x96075a[_0x2fb0fb(0x829)]){const _0x43cf8c=_0x2d6e24(_0x311fb4,new Set(['mcp_servers.react-native-mcp']));_0x311fb4=_0x43cf8c['next']+_0x11b004();}else!_0x96075a[_0x2fb0fb(0x868)]?_0x311fb4=_0x311fb4+_0x11b004():_0x311fb4=_0x96075a['next'];}return await _0x59402e(_0x23bd26(_0x3d04f3,'..'),{'recursive':!![]}),await _0x4b8510(_0x3d04f3,_0x311fb4),{'status':'written'};}async function _0x254ce6(_0x31448d){const _0x4e2173=_0x3ee7d6,_0x3fbc1b=await _0x1dcc30(_0x31448d);return{'isMonorepo':_0x3fbc1b[_0x4e2173(0x810)],'rootIsRnApp':_0x3fbc1b[_0x4e2173(0x943)],'matches':_0x3fbc1b['matches']};}async function _0x3035e8(_0x5cfed7){const _0x378719=_0x3ee7d6;try{return await _0x36f2df(_0x5cfed7),!![];}catch{return'YzzJd'==='YzzJd'?![]:(delete _0x19442c[_0x378719(0x389)],{'changed':!![],'previousScheme':_0x341bd7,'nextScheme':void 0x0});}}import{readFile as _0x12da12,writeFile as _0x17dce6,mkdir as _0x3349f2,access as _0x444aad,chmod as _0xade249}from'fs/promises';import{join as _0x785e86}from'path';import{spawn as _0xff9ee3}from'child_process';import{join as _0x395f3e}from'path';import{createInterface as _0x54e6d4}from'readline';function _0x5f0acb(_0x39d84b){const _0x4fcd65=_0x3ee7d6;if(_0x39d84b[_0x4fcd65(0x1c1)]!==void 0x0)return _0x39d84b[_0x4fcd65(0x1c1)];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process[_0x4fcd65(0x21a)][_0x4fcd65(0x97d)];}function _0x4fda80(_0x2b5d2c){return new Promise(_0x2c3daa=>{const _0x576c48=_0x4a5a;if('fudOw'!==_0x576c48(0x5b0)){const _0x31ec52=_0x54e6d4({'input':process[_0x576c48(0x21a)],'output':process['stdout']});_0x31ec52['question'](_0x2b5d2c,_0x1db5cd=>{_0x31ec52['close'](),_0x2c3daa(_0x1db5cd);});}else return{'ok':!![],'severity':_0x576c48(0x9bd),'message':_0x576c48(0x129)};});}async function _0x9994ba(_0x4e226d,_0x3afaf4={}){const _0x2a87d2=_0x3ee7d6,_0x4aafc2=_0x3afaf4[_0x2a87d2(0x47e)]??!![];if(_0x5f0acb(_0x3afaf4))return _0x4aafc2;const _0x2b95c9=_0x3afaf4['ask']??_0x4fda80,_0x52b591=_0x4aafc2?_0x2a87d2(0x62f):_0x2a87d2(0x25a),_0x42d494=(await _0x2b95c9(_0x4e226d+_0x52b591))[_0x2a87d2(0x5da)]()[_0x2a87d2(0x17e)]();if(_0x42d494[_0x2a87d2(0x945)]===0x0)return _0x4aafc2;return _0x42d494==='y'||_0x42d494===_0x2a87d2(0x83c);}function _0x33a679(_0x220efe,_0x5b9afc={}){const _0x51d387=_0x5b9afc['write']??(_0x5cd60c=>process['stdout']['write'](_0x5cd60c));_0x51d387(_0x220efe);}function _0x398eed(_0x1fd72c,_0x1002de){const _0x22b1e8=_0x3ee7d6,_0x5dbb6a=_0x1002de??_0x1fd72c;if(process[_0x22b1e8(0x91a)]['isTTY']!==!![]||process[_0x22b1e8(0x870)]['isTTY']!==!![])return _0x5dbb6a;return _0x22b1e8(0x635)+_0x1fd72c+'\x07'+_0x5dbb6a+_0x22b1e8(0x84a);}async function _0x40f7ac(_0x423743,_0x67046,_0x2f7319={}){const _0x23afdc=_0x3ee7d6;if(_0x67046['length']===0x0)return null;if(_0x5f0acb(_0x2f7319))return 0x0;const _0x1a90f1=_0x2f7319['ask']??_0x4fda80,_0x49e453=[_0x423743];_0x67046['forEach']((_0x432b62,_0x4f910a)=>{_0x49e453['push']('\x20\x20'+(_0x4f910a+0x1)+'.\x20'+_0x432b62);}),_0x49e453['push']('');const _0x2a3f43=_0x49e453[_0x23afdc(0x221)]('\x0a')+('Select\x20[1-'+_0x67046[_0x23afdc(0x945)]+_0x23afdc(0x9d4)),_0x3d99fd=(await _0x1a90f1(_0x2a3f43))['trim']();if(_0x3d99fd['length']===0x0)return 0x0;const _0x4b670a=Number['parseInt'](_0x3d99fd,0xa)-0x1;if(Number['isNaN'](_0x4b670a)||_0x4b670a<0x0||_0x4b670a>=_0x67046['length'])return null;return _0x4b670a;}async function _0x4892f2(){return _0x9b2b8c();}var _0x259527=_0x3ee7d6(0x7a8),_0x2b3dd5=_0x3ee7d6(0x98e),_0x367515='Which\x20plan?',_0x1bfbdd='Starter\x20·\x20Free\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in.',_0x64e1b4='Pro\x20·\x20$10/mo\x20—\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device.\x20Sign\x20in\x20to\x20start.',_0x269427=[_0x1bfbdd,_0x64e1b4];function _0xd32027(_0x230df7){return new Promise(_0x548006=>{const _0x1137b8=_0x4a5a;if(_0x1137b8(0x3a1)==='qHsDh'){const _0x2e0bda=_0xff9ee3(_0x230df7[_0x1137b8(0x366)],_0x230df7[_0x1137b8(0x719)],{'cwd':_0x230df7[_0x1137b8(0x346)],'stdio':_0x230df7['stdioToStderr']?[_0x1137b8(0x317),0x2,0x2]:'inherit'});_0x2e0bda['on']('error',()=>_0x548006({'exitCode':0x7f})),_0x2e0bda['on'](_0x1137b8(0x41e),_0xa2cce=>_0x548006({'exitCode':_0xa2cce??0x1}));}else{const _0xcbcdd0=_0x1a95dc['get'](_0x4d9fd2);if(_0xcbcdd0)return _0xcbcdd0;const _0x1ad7c7=_0x159c2b(_0x578d2e);return _0x4ccc55[_0x1137b8(0x3b6)](_0xccad35,_0x1ad7c7),_0x1ad7c7;}});}function _0x125af9(_0x34d6c4){return'\x20\x20'+_0x34d6c4+'\x0a';}async function _0x2247b9(_0x1a1591,_0x4e02c7={}){const _0xeaed03=_0x3ee7d6,_0x5624ca=_0x56be6f=>_0x33a679(_0x56be6f,_0x4e02c7),_0x343fbe=()=>{_0x5624ca('\x0a');},_0x404cb8=await _0x5b8bf0(_0x1a1591,_0x4e02c7),_0x598163=await _0x8dd55b(_0x404cb8),_0x528422=await _0x13b218(_0x404cb8);let _0x1bf227=_0x528422;if(!_0x4e02c7['skipInstall']){_0x343fbe();const _0x528b7f=_0xe59a34(_0x598163,'@ceraph/react-native-mcp@latest');_0x5624ca(_0x125af9((_0x528422?'Updating':'Installing')+'\x20@ceraph/react-native-mcp\x20('+_0x598163+')…'));const _0x203c38=_0x4e02c7['installPackage']??_0xd32027,_0x523748=await _0x203c38({'bin':_0x528b7f[_0xeaed03(0x366)],'args':_0x528b7f['args'],'cwd':_0x404cb8,'stdioToStderr':_0x4e02c7[_0xeaed03(0x241)]===!![]});if(_0x523748[_0xeaed03(0x186)]!==0x0)throw new Error(_0x598163+'\x20install\x20exited\x20with\x20code\x20'+_0x523748['exitCode']+'.\x20Fix\x20the\x20error\x20above\x20and\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`.');_0x1bf227=!![];}let _0x462bc8;if(_0x4e02c7['tier'])_0x462bc8=_0x4e02c7['tier'];else{if(_0xeaed03(0x404)==='fndIZ'){_0x343fbe(),_0x5624ca(_0x125af9('More\x20about\x20the\x20plans\x20→\x20'+_0x398eed(_0x2b3dd5))),_0x5624ca('\x0a');const _0x369fd4=await _0x40f7ac(_0x367515,_0x269427,_0x4e02c7);_0x462bc8=_0x369fd4===0x1?'pro':'starter';}else _0x32b4e4['droppedEntries']=_0x26e0d7;}const _0x5de2e1=_0x4e02c7['writeTier']??(_0x16103d=>_0x4107c4(_0x16103d)['then'](()=>void 0x0));await _0x5de2e1(_0x462bc8)['catch'](()=>void 0x0);const _0x1a5371=_0x4e02c7[_0xeaed03(0x656)]??_0x4892f2;let _0x429cda=null,_0x334aef=null;_0x343fbe();if(_0x462bc8==='starter')_0xeaed03(0x3fc)==='FgXmP'?_0xcc431f?.[_0xeaed03(0x2bf)]():_0x5624ca(_0x125af9('Starter\x20selected\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools.\x20No\x20sign-in\x20needed.'));else{if(_0xeaed03(0x8e5)===_0xeaed03(0x770)){const _0x3fb5ea=_0x522456['getNameNode']();if(_0x3fb5ea[_0xeaed03(0x326)]()==='imageKey')return!![];}else{const _0x2ee8b1=await _0x1a5371(),_0x570550=_0x2ee8b1!==null&&(_0x2ee8b1[_0xeaed03(0x2db)]['id']!==0x0||_0x2ee8b1['githubUser'][_0xeaed03(0x562)]!=='');_0x429cda=_0x2ee8b1;if(_0x2ee8b1&&!_0x570550){if('NCelf'==='NCelf')_0x5624ca(_0x125af9(_0x2ee8b1[_0xeaed03(0x89c)]?_0xeaed03(0x76d)+_0x2ee8b1['email']+_0xeaed03(0x484):_0xeaed03(0x126)));else return this['simulatorWdaUdid'];}else{_0x570550&&_0x5624ca(_0x125af9(_0xeaed03(0x14f)));_0x5624ca(_0x125af9(process.env.CERAPH_AUTH_TOKEN?.['trim']()?'Signing\x20in\x20with\x20the\x20provided\x20token…':_0xeaed03(0x5a7)));const _0x3deac8=_0x4e02c7['authenticate']??_0x23f58b;_0x429cda=await _0x3deac8(),_0x5624ca(_0x125af9(_0x429cda[_0xeaed03(0x89c)]?_0xeaed03(0x76d)+_0x429cda[_0xeaed03(0x89c)]:_0xeaed03(0x8e8)));}const _0x76075c=_0x4e02c7[_0xeaed03(0x4e5)]??_0x590cfe,_0xe8027c=await _0x76075c()['catch'](()=>![]);_0x334aef=_0xe8027c?'active':_0xeaed03(0x548),!_0xe8027c?_0x5624ca(_0x125af9('Pro\x20selected.\x20To\x20start\x20AI\x20flow\x20testing,\x20complete\x20checkout\x20at\x20'+_0x398eed(_0x2b3dd5)+_0xeaed03(0x64f))):_0x5624ca(_0x125af9(_0xeaed03(0x5d6)));}}const _0x5026a9=await _0x3fb3fb(_0x404cb8),_0x504909=new Map();let _0x3a2171={'filesEdited':[],'totalReplacements':0x0};_0x343fbe();if(_0x5026a9[_0xeaed03(0x87b)]['length']===0x0)_0x5624ca(_0x125af9(_0xeaed03(0x27f)));else{_0x5624ca(_0x125af9(_0xeaed03(0x8be)+_0x5026a9[_0xeaed03(0x87b)]['length']+_0xeaed03(0x69a)+_0x5026a9[_0xeaed03(0x1d2)]+_0xeaed03(0x16b)));for(const _0x5b8b14 of _0x5026a9[_0xeaed03(0x87b)]){_0x5624ca(_0x125af9('\x20\x20-\x20'+_0x5b8b14[_0xeaed03(0x260)]+':'+_0x5b8b14[_0xeaed03(0xf5)]+_0xeaed03(0x916)+(_0x5b8b14[_0xeaed03(0x16d)]?'\x20(existing\x20imageKey\x20preserved)':'')));}_0x5624ca(_0x125af9(_0xeaed03(0x5b9)));const _0x4f98f9=await _0x9994ba(_0xeaed03(0x493)+_0x5026a9['edits'][_0xeaed03(0x945)]+_0xeaed03(0x4f1),{..._0x4e02c7,'defaultYes':!![]});_0x4f98f9?_0x3a2171=await _0x3064c8(_0x404cb8,_0x5026a9['edits'],_0x504909,_0x4e02c7,{'omitImageKey':!![]}):_0x5624ca(_0x125af9('Skipped\x20<CameraView>\x20rewrite.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20apply.'));}const _0x258c22=await _0x334a7a(_0x404cb8);let _0xff997a={'applied':![],'target':_0x258c22};const _0x12784d=_0x258c22?await _0x455be0(_0x258c22['filePath']):'none';_0x343fbe();if(!_0x258c22)_0x5624ca(_0x125af9('Could\x20not\x20find\x20app/_layout.tsx\x20or\x20App.tsx.\x20Add\x20this\x20to\x20your\x20root\x20component\x20manually\x20(the\x20require\x20path\x20is\x20relative\x20to\x20that\x20file\x20—\x20`./.ceraph/testid-config.json`\x20from\x20a\x20root\x20App.tsx,\x20`../.ceraph/testid-config.json`\x20from\x20app/_layout.tsx):\x0a\x20\x20useEffect(()\x20=>\x20{\x20installCeraph({\x20readTestidConfig:\x20()\x20=>\x20{\x20try\x20{\x20return\x20require(\x22./.ceraph/testid-config.json\x22);\x20}\x20catch\x20{\x20return\x20null;\x20}\x20}\x20});\x20},\x20[]);'));else{if(_0x12784d==='seamed')_0x5624ca(_0x125af9(_0xeaed03(0x249)+_0x3fc3e6(_0x404cb8,_0x258c22[_0xeaed03(0x4e3)]))),_0xff997a={'applied':![],'target':_0x258c22,'reason':'already-injected'};else{const _0x4e4e11=_0x12784d===_0xeaed03(0x44a)?_0xeaed03(0x946):'Wire';_0x5624ca(_0x125af9('installCeraph()\x20registers\x20Ceraph\x27s\x20dev-only\x20test\x20hooks\x20—\x20runtime-error\x20capture,\x20state\x20reset/reload,\x20keep-awake\x20—\x20at\x20app\x20start.\x20No-op\x20in\x20production\x20builds.'));const _0x3abf19=await _0x9994ba(_0x4e4e11+_0xeaed03(0xcf)+_0x3fc3e6(_0x404cb8,_0x258c22[_0xeaed03(0x4e3)])+'?',{..._0x4e02c7,'defaultYes':!![]});if(_0x3abf19){const _0xf4bba9=await _0x23e5d8(_0x258c22);try{if('wzMgp'==='wzMgp'){const _0x38acd6=await _0x10bb96(_0x258c22);_0xff997a={'applied':_0x38acd6[_0xeaed03(0x903)],'target':_0x258c22,'reason':_0x38acd6['reason']},_0x38acd6[_0xeaed03(0x903)]?_0x5624ca(_0x125af9(_0xeaed03(0x963)+_0x3fc3e6(_0x404cb8,_0x258c22[_0xeaed03(0x4e3)]))):_0x5624ca(_0x125af9('Skipped\x20(auto-injection):\x20'+(_0x38acd6[_0xeaed03(0x78c)]??_0xeaed03(0x2f3))));}else{if(_0x5cbda9(_0x2b44c7))return![];if(_0x516f2e[_0xeaed03(0x60d)](_0x50c821)){const _0xf5010e=_0x49bdad['getBody']();if(!_0x383dc5[_0xeaed03(0x9f4)](_0xf5010e)){const _0x5e88a4=_0xf5010e['getText']();_0xf5010e[_0xeaed03(0x9ac)]('{\x20return\x20'+_0x5e88a4+_0xeaed03(0x4a8));}}const _0x59c12f=_0xfacbfd['getBody']();if(!_0x59c12f||!_0x35aae7['isBlock'](_0x59c12f))return![];return _0x59c12f['insertStatements'](0x0,'useEffect(()\x20=>\x20{\x20'+_0x4f1149(_0x4921fb)+_0xeaed03(0x5df)),!![];}}catch(_0x347d0e){if(_0xf4bba9!=null)await _0x1c1c48(_0x258c22,_0xf4bba9);throw _0x347d0e;}}else{if(_0xeaed03(0x162)!=='HuSUr'){_0x3d12ac+=_0x44280e[_0xeaed03(0x945)];if(_0x42748a>_0x117625){_0x2f008c['destroy'](),_0x3ec01e(null);return;}_0xf59023['push'](_0x14e4b4);}else _0x5624ca(_0x125af9(_0xeaed03(0x40f)));}}}let _0x45b674=null;const _0x296c9c=_0x4e02c7['ensureUrlScheme']??_0x591822,_0x13acff=await _0x296c9c(_0x404cb8);_0x45b674=_0x13acff;if(_0x13acff['kind']!==_0xeaed03(0x115))_0x343fbe();switch(_0x13acff['kind']){case'expo-json-added':{const _0x23cb7f=_0x13acff['previousScheme'],_0x599587=_0x3fc3e6(_0x404cb8,_0x13acff['path']);if(_0x23cb7f===void 0x0)_0x5624ca(_0x125af9('Set\x20your\x20'+_0x599587+'\x20scheme\x20to\x20ceraph://'));else{const _0x5c7050=Array[_0xeaed03(0x246)](_0x23cb7f)?_0x23cb7f['join'](',\x20'):_0x23cb7f;_0x5624ca(_0x125af9('Added\x20ceraph://\x20to\x20your\x20'+_0x599587+_0xeaed03(0x662)+_0x5c7050+'\x20→\x20now\x20['+_0x5c7050+',\x20ceraph])'));}break;}case _0xeaed03(0x49a):_0x5624ca(_0x125af9('ceraph://\x20URL\x20scheme\x20already\x20registered\x20in\x20'+_0x3fc3e6(_0x404cb8,_0x13acff[_0xeaed03(0x4ff)])));break;case'expo-config-needs-manual':_0x5624ca(_0x125af9(_0xeaed03(0x96c)+_0x3fc3e6(_0x404cb8,_0x13acff[_0xeaed03(0x4ff)])+_0xeaed03(0xdc))),_0x5624ca(_0x331217(_0x3fc3e6(_0x404cb8,_0x13acff[_0xeaed03(0x4ff)])));break;case'bare-rn-needs-manual':_0x5624ca(_0x125af9(_0xeaed03(0x7bf))),_0x5624ca(_0x4e5ff2());break;case _0xeaed03(0x115):break;}let _0x12e7d5=null;const _0x332acf=_0x4e02c7[_0xeaed03(0x161)]??_0x24193a,_0x6820fe=await _0x332acf(_0x404cb8);_0x12e7d5=_0x6820fe,_0x343fbe();switch(_0x6820fe['kind']){case'added':_0x5624ca(_0x125af9('Wired\x20the\x20testID\x20injector\x20into\x20'+_0x3fc3e6(_0x404cb8,_0x6820fe[_0xeaed03(0x4ff)])+(_0x6820fe['beforeReanimated']?'\x20(before\x20reanimated)':'')+'.'));break;case'already-present':_0x5624ca(_0x125af9(_0xeaed03(0x354)+_0x3fc3e6(_0x404cb8,_0x6820fe[_0xeaed03(0x4ff)])));break;case'needs-manual':_0x5624ca(_0x125af9('Could\x20not\x20auto-wire\x20the\x20testID\x20injector:\x20'+_0x6820fe['reason']));break;case _0xeaed03(0x80f):_0x5624ca(_0x125af9('Created\x20'+_0x3fc3e6(_0x404cb8,_0x6820fe[_0xeaed03(0x4ff)])+'\x20('+_0x6820fe['preset']+_0xeaed03(0x6be)));break;}let _0x199117={'state':_0xeaed03(0xd4),'registered':0x0};if(_0x3a2171['totalReplacements']>0x0){_0x343fbe();const _0x29d9f1=await _0x280e91(_0x404cb8);_0x199117={'state':_0x29d9f1[_0xeaed03(0x969)],'registered':_0x29d9f1['registered']['length']},_0x29d9f1[_0xeaed03(0x969)]==='missing-dir'?_0x5624ca(_0x125af9(_0xeaed03(0x11a)+_0x395f3e(_0xeaed03(0x5d3),_0xeaed03(0x2b1))+'/\x20and\x20call\x20`rn_sync_camera_registry`\x20to\x20regenerate.')):_0x5624ca(_0x125af9(_0xeaed03(0x3bc)+_0x29d9f1['writtenOrUnchanged']+'\x20('+_0x29d9f1['registered'][_0xeaed03(0x945)]+'\x20image(s))\x20at\x20'+_0x10fa2a(_0x404cb8,_0x29d9f1[_0xeaed03(0x6a9)])+'.'));}let _0x2cb306=null;if(_0x429cda&&_0x334aef==='active')try{const _0x3d1ebe=_0x4e02c7[_0xeaed03(0x586)]??_0x2c31ba;_0x2cb306=await _0x3d1ebe({'workingDir':_0x404cb8,'auth':_0x429cda}),_0x2cb306[_0xeaed03(0x9d0)]==='seeded'&&(_0x343fbe(),_0x5624ca(_0x125af9(_0xeaed03(0x2cb)+_0x2cb306['screenCount']+'\x20screen(s),\x20'+_0x2cb306[_0xeaed03(0x292)]+'\x20layout(s)\x20('+_0x2cb306['flavor']+').')));}catch{_0x2cb306=null;}else _0x429cda&&_0x334aef==='pending'&&(_0x2cb306={'status':_0xeaed03(0x797),'reason':'not-pro','message':'Pro\x20selected\x20but\x20not\x20yet\x20active\x20—\x20server-side\x20caching\x20is\x20skipped\x20until\x20checkout\x20completes\x20at\x20'+_0x2b3dd5+'.'});let _0x517ddf=null;if(_0x4e02c7['runDoctor']){_0x343fbe(),_0x517ddf=await _0x4e02c7['runDoctor'](),_0x5624ca(_0x125af9(_0xeaed03(0x2e4)+_0x517ddf[_0xeaed03(0x1d1)]+'/'+_0x517ddf['totalCount']+'\x20'+(_0x517ddf['ok']?'passed':_0xeaed03(0x320))));if(_0x517ddf['summary'])_0x5624ca(_0x517ddf['summary']);}_0x343fbe();let _0xd34e14=![];if(_0x462bc8===_0xeaed03(0x3fa))_0x5624ca(_0x125af9(_0xeaed03(0x1b7))),_0x5624ca(_0x125af9('To\x20add\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device,\x20re-run\x20init\x20and\x20pick\x20Pro.')),_0x5624ca(_0x125af9(_0xeaed03(0x341)+_0x398eed(_0x2b3dd5))),_0xd34e14=!![];else{if(_0x334aef==='pending'){if(!_0x4e02c7[_0xeaed03(0x369)]&&process['stdout']['isTTY']===!![]){if(_0xeaed03(0x560)===_0xeaed03(0x674))return{'name':'auth','status':_0xeaed03(0x125),'details':{'error':_0x396e53(_0x38697b),'dryRun':!![]}};else _0x54915b(_0x2b3dd5);}_0x5624ca(_0x125af9('Pro\x20selected.\x20Complete\x20checkout\x20at\x20'+_0x398eed(_0x2b3dd5)+_0xeaed03(0x8c0))),_0x5624ca(_0x125af9('your\x20Pro\x20access\x20refreshes\x20automatically.')),_0xd34e14=!![];}}if(_0xd34e14)_0x5624ca('\x0a');_0x5624ca(_0x125af9(_0xeaed03(0x1e3)));_0x4e02c7['claudePreApprovalPreserved']&&_0x5624ca(_0x125af9(_0xeaed03(0x73d)));_0x5624ca('\x0a'),_0x5624ca(_0x125af9(_0xeaed03(0x5ac))),_0x5624ca(_0x125af9(_0xeaed03(0x81a))),_0x5624ca('\x0a');const _0x4fabc2=_0x5026a9[_0xeaed03(0x87b)]['map'](_0x41a975=>({'file':_0x41a975[_0xeaed03(0x260)],'line':_0x41a975['line'],'suggestedKey':_0x41a975['suggestedKey']})),_0x24db25=_0x4e02c7['agentMode']?{'cameras':_0x4fabc2,'setupRequired':_0x4fabc2[_0xeaed03(0x945)]>0x0,'hintText':_0x4fabc2['length']===0x0?'No\x20<CeraphCamera>\x20components\x20detected.\x20No\x20camera-setup\x20conversation\x20needed;\x20proceed\x20with\x20the\x20rest\x20of\x20the\x20project\x20work.':'For\x20each\x20<CeraphCamera>\x20below,\x20ask\x20the\x20user\x20which\x20scenario\x20this\x20camera\x20serves\x20and\x20call\x20ceraph_init_replace_camera\x20with\x20the\x20chosen\x20imageKey.\x20Three\x20options:\x20(A)\x20imageKey=\x22default\x22\x20—\x20bundled\x20black\x20PNG\x20fallback.\x20Right\x20answer\x20when\x20the\x20test\x20doesn\x27t\x20care\x20about\x20image\x20content\x20(most\x20form-submit\x20/\x20file-upload\x20flows).\x20(B)\x20imageKey=\x22<key>\x22\x20—\x20a\x20specific\x20test\x20image.\x20Ask\x20the\x20user\x20for\x20a\x20descriptive\x20lowercase-dashes\x20name\x20AND\x20drop\x20the\x20file\x20at\x20.ceraph/camera-images/<key>.{jpg,png,webp},\x20then\x20call\x20rn_sync_camera_registry.\x20(C)\x20imageKey=\x22@runtime\x22\x20—\x20the\x20camera\x20serves\x20multiple\x20scenarios\x20per\x20flow;\x20the\x20planner\x20picks\x20the\x20image\x20per-step\x20at\x20runtime.\x20Use\x20when\x20one\x20camera\x20screen\x20feeds\x20different\x20outcomes.'}:null;return _0x4e02c7[_0xeaed03(0x369)]&&_0x24db25&&_0x5624ca(''+_0x259527+JSON[_0xeaed03(0x2c1)](_0x24db25)+'\x0a'),{'packageInstalled':_0x1bf227,'packageManager':_0x598163,'tier':_0x462bc8,'proStatus':_0x334aef,'authLogin':_0x429cda?.['email']??null,'cameraEdits':_0x3a2171,'layoutInjection':_0xff997a,'graphSeed':_0x2cb306,'cameraRegistrySync':_0x199117,'doctor':_0x517ddf,'workingDir':_0x404cb8,'urlScheme':_0x45b674,'babelConfig':_0x12e7d5,'agentHint':_0x24db25};}async function _0x5b8bf0(_0x3564ba,_0x2c4e3c){const _0x4cafab=_0x3ee7d6,_0x24a18b=_0x2c4e3c[_0x4cafab(0x615)]??_0x1dcc30,_0x3e4d50=await _0x24a18b(_0x3564ba);if(_0x3e4d50['kind']==='none'){if(_0x3e4d50[_0x4cafab(0x810)]&&!_0x3e4d50['rootIsRnApp'])throw new Error('Detected\x20a\x20monorepo\x20at\x20the\x20current\x20directory\x20but\x20could\x20not\x20find\x20a\x20React\x20Native\x20or\x20Expo\x20subpackage.\x20Re-run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20from\x20inside\x20the\x20RN/Expo\x20app\x20folder,\x20or\x20add\x20the\x20app\x20to\x20your\x20workspaces.');return _0x3564ba;}if(_0x3e4d50['kind']===_0x4cafab(0x13e)){const _0x1d11ea=_0x3e4d50[_0x4cafab(0x223)][0x0];if(!_0x1d11ea)return _0x3564ba;return _0x33a679('\x0a',_0x2c4e3c),_0x33a679(_0x125af9('Detected\x20React\x20Native\x20app\x20at\x20'+_0x1d11ea['relPath']+'/\x20—\x20working\x20from\x20there'),_0x2c4e3c),_0x1d11ea[_0x4cafab(0x245)];}_0x33a679('\x0a',_0x2c4e3c),_0x33a679(_0x125af9('Multiple\x20React\x20Native\x20subpackages\x20detected:'),_0x2c4e3c);const _0x4357be=_0x3e4d50['matches']['map'](_0x160e90=>_0x160e90['relPath']+_0x4cafab(0x766)+_0x160e90[_0x4cafab(0x3c1)][_0x4cafab(0x221)](',\x20')+']'),_0x16c96f=await _0x40f7ac('Which\x20one\x20should\x20init\x20configure?',_0x4357be,_0x2c4e3c);if(_0x16c96f==null)throw new Error('No\x20valid\x20selection.\x20Re-run\x20init\x20and\x20pick\x20a\x20numbered\x20option.');const _0x393752=_0x3e4d50[_0x4cafab(0x223)][_0x16c96f];if(!_0x393752)throw new Error('Picked\x20index\x20out\x20of\x20range.');return _0x33a679(_0x125af9(_0x4cafab(0x3b7)+_0x393752['relPath']+'/'),_0x2c4e3c),_0x393752['absPath'];}function _0x3fc3e6(_0x4e5543,_0x3da442){const _0x7ec01e=_0x3ee7d6;if(_0x3da442[_0x7ec01e(0x887)](_0x4e5543)){const _0x3fd193=_0x3da442['slice'](_0x4e5543['length']+0x1);return _0x3fd193['length']>0x0?_0x3fd193:_0x3da442;}return _0x3da442;}async function _0x23f58b(){const _0x12124f=await _0x4ca948();return{'accessToken':_0x12124f['token'],'expiresAt':0x0,'githubUser':{'login':'','id':0x0},'storedAt':new Date()['toISOString'](),..._0x12124f['email']?{'email':_0x12124f['email']}:{}};}async function _0x3064c8(_0x3977be,_0x438ace,_0x45badf,_0x284885,_0x57e171={}){const _0x24bce7=_0x3ee7d6;for(const _0x384d9a of _0x438ace){!_0x45badf[_0x24bce7(0x21c)](_0x384d9a[_0x24bce7(0x4e3)])&&_0x45badf['set'](_0x384d9a[_0x24bce7(0x4e3)],await _0x5431e7(_0x384d9a[_0x24bce7(0x4e3)]));}try{const _0x45171f=await _0x43bab1(_0x3977be,_0x438ace,_0x57e171);return _0x33a679(_0x125af9('Replaced\x20'+_0x45171f[_0x24bce7(0x281)]+'\x20<CameraView>\x20→\x20<CeraphCamera>\x20across\x20'+_0x45171f[_0x24bce7(0x75a)]['length']+'\x20file(s)'),_0x284885),_0x45171f;}catch(_0x35c5e4){for(const [_0xf3e698,_0x153a0d]of _0x45badf){if(_0x153a0d!=null)try{await _0x182f45(_0xf3e698,_0x153a0d);}catch(_0x3f751f){console[_0x24bce7(0x125)]('[ceraph]\x20rollback\x20failed\x20for\x20'+_0xf3e698+':',_0x3f751f instanceof Error?_0x3f751f[_0x24bce7(0x92e)]:_0x3f751f);}}throw _0x35c5e4;}}var _0x10800a=_0x3ee7d6(0x1d4),_0x3de755='#!/bin/bash\x0a#\x20rn-flow-progress-notify.sh\x20—\x20Injected\x20by\x20@ceraph/react-native-mcp\x20init\x0a#\x20Reads\x20.rn-flow-progress.json\x20and\x20injects\x20a\x20one-line\x20heartbeat\x20into\x0a#\x20Claude\x27s\x20context.\x20HEARTBEAT\x20ONLY\x20—\x20no\x20step-level\x20failure\x20details.\x0a\x0aENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/mobile/.rn-flow-progress.json\x22\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20ENTRY_FILE=\x22$CLAUDE_PROJECT_DIR/.rn-flow-progress.json\x22\x0afi\x0aif\x20[\x20!\x20-f\x20\x22$ENTRY_FILE\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20If\x20jq\x20isn\x27t\x20installed,\x20exit\x20quietly\x20—\x20the\x20heartbeat\x20is\x20best-effort.\x0aif\x20!\x20command\x20-v\x20jq\x20>/dev/null\x202>&1;\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0aENTRY=$(jq\x20-r\x20\x27.entry\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aif\x20[\x20\x22$ENTRY\x22\x20=\x20\x22null\x22\x20]\x20||\x20[\x20-z\x20\x22$ENTRY\x22\x20];\x20then\x0a\x20\x20exit\x200\x0afi\x0a\x0a#\x20jq\x20\x27//\x20\x22\x22\x27\x20(works\x20in\x20jq\x201.4+;\x20\x22//\x20empty\x22\x20needed\x201.5+\x20and\x20would\x20have\x0a#\x20silently\x20aborted\x20older\x20shells)\x20makes\x20jq\x20emit\x20an\x20empty\x20string\x20for\x0a#\x20missing\x20fields\x20rather\x20than\x20the\x20literal\x20\x22null\x22.\x20Defaults\x20below\x20keep\x0a#\x20set\x20-e\x20shells\x20happy\x20in\x20the\x20arithmetic\x20+\x20awk\x20expansions\x20even\x20when\x0a#\x20the\x20entry\x20is\x20partial\x20(transient\x20state\x20if\x20the\x20file\x20is\x20read\x0a#\x20mid-write).\x0aFLOW=$(jq\x20-r\x20\x27.entry.flow\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aINDEX=$(jq\x20-r\x20\x27.entry.index\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aTOTAL=$(jq\x20-r\x20\x27.entry.total\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aSUCCESS=$(jq\x20-r\x20\x27.entry.success\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0aDURATION=$(jq\x20-r\x20\x27.entry.durationMs\x20//\x20\x22\x22\x27\x20\x22$ENTRY_FILE\x22\x202>/dev/null)\x0a\x0aINDEX=${INDEX:-0}\x0aTOTAL=${TOTAL:-0}\x0aDURATION=${DURATION:-0}\x0aFLOW=${FLOW:-unknown}\x0a\x0aDISPLAY_INDEX=$((INDEX\x20+\x201))\x0aif\x20[\x20\x22$SUCCESS\x22\x20=\x20\x22true\x22\x20];\x20then\x0a\x20\x20STATUS=\x22passed\x22\x0aelse\x0a\x20\x20STATUS=\x22failed\x22\x0afi\x0a\x0aecho\x20\x22Flow\x20$DISPLAY_INDEX/$TOTAL\x20—\x20$FLOW:\x20$STATUS\x20in\x20$(awk\x20\x22BEGIN\x20{printf\x20\x5c\x22%.1f\x5c\x22,\x20$DURATION/1000}\x22)s\x22\x0aecho\x20\x22(Wait\x20for\x20the\x20end-of-run\x20summary\x20before\x20making\x20any\x20code\x20changes\x20—\x20the\x20flows\x20in\x20this\x20run\x20reference\x20your\x20pre-edit\x20code.)\x22\x0a',_0x4be8ae=['.claude',_0x3ee7d6(0x6d5),'rn-error-notify.sh'],_0x3ccf14=[_0x3ee7d6(0x644),'hooks','rn-flow-progress-notify.sh'],_0x2781c8='.rn-errors.json',_0x352f9a=_0x3ee7d6(0x671),_0x3f0d94=_0x3ee7d6(0x5d7),_0x589268='\x22$CLAUDE_PROJECT_DIR\x22/.claude/hooks/rn-flow-progress-notify.sh',_0x308fed=[[_0x3ee7d6(0x644),'settings.json'],[_0x3ee7d6(0x644),_0x3ee7d6(0x2bb)]],_0x16d4c9=process['cwd']();async function _0x3ca847(_0x31ef9e){const _0x2c885b=_0x3ee7d6;try{if(_0x2c885b(0x6e0)!=='FXeQt'){const _0x381773=_0x50c390['connectionProperties']?.['tunnelState']?.['toLowerCase']()??'';return _0x27655b(_0x4b7891)&&_0x381773==='connected';}else return await _0x444aad(_0x31ef9e),!![];}catch{return![];}}async function _0x30a983(_0x3b5e70,_0x2ef7b3){const _0x1950d1=_0x3ee7d6;await _0x3349f2(_0x785e86(_0x3b5e70,'..'),{'recursive':!![]}),await _0x4b8510(_0x3b5e70,JSON[_0x1950d1(0x2c1)](_0x2ef7b3,null,0x2)+'\x0a');}function _0x25810d(_0xabf275){const _0x2bf61f=_0x3ee7d6;console[_0x2bf61f(0x183)]('\x20\x20'+_0xabf275);}async function _0x952bff(_0x4c60cb,_0x202d77){const _0x1b828d=_0x3ee7d6,_0x2e7d60=await _0x4260f1(_0x4c60cb);if(_0x2e7d60['kind']===_0x1b828d(0x445))return _0x25810d(_0x202d77+':\x20existing\x20config\x20at\x20'+_0x4c60cb+_0x1b828d(0x6a8)),![];const _0x56d66d=_0x2e7d60[_0x1b828d(0x3ea)]==='ok'?_0x2e7d60[_0x1b828d(0x84f)]:{};if(_0x2e7d60[_0x1b828d(0x3ea)]==='ok'&&!_0x2c73d7(_0x56d66d))return _0x25810d(_0x202d77+_0x1b828d(0x4f9)+_0x4c60cb+_0x1b828d(0x7fb)+(Array['isArray'](_0x56d66d)?'array':typeof _0x56d66d)+')\x20—\x20preserving\x20it.'),![];const _0x152741=_0x2c73d7(_0x56d66d)?_0x56d66d:{},_0x5588c9=_0x152741[_0x1b828d(0x279)];if(_0x5588c9!==void 0x0&&!_0x2c73d7(_0x5588c9))return _0x25810d(_0x202d77+_0x1b828d(0x55b)+_0x4c60cb+'\x20is\x20not\x20a\x20JSON\x20object\x20(got\x20'+(Array[_0x1b828d(0x246)](_0x5588c9)?_0x1b828d(0x27a):typeof _0x5588c9)+')\x20—\x20preserving\x20the\x20file.'),![];const _0x13a0d9=_0x2c73d7(_0x5588c9)?_0x5588c9:{};let _0x2ac9f6=![];for(const _0x90398e of _0x3a86ae){_0x90398e in _0x13a0d9&&(delete _0x13a0d9[_0x90398e],_0x2ac9f6=!![]);}const _0x2ba2f1=_0x4f2d22(),_0x51aec1=_0x13a0d9['react-native-mcp'];if(_0x33745c(_0x51aec1,_0x2ba2f1)&&!_0x2ac9f6)return _0x25810d(_0x202d77+_0x1b828d(0x638)),![];const _0x59afd4=_0x2c73d7(_0x51aec1)?{..._0x51aec1}:{};return _0x13a0d9['react-native-mcp']={..._0x59afd4,..._0x2ba2f1},_0x152741['mcpServers']=_0x13a0d9,await _0x30a983(_0x4c60cb,_0x152741),_0x25810d(_0x202d77+_0x1b828d(0x99f)),!![];}async function _0x468ae3(_0x14a5a9){const _0xd3eaa3=_0x3ee7d6;let _0x2b7695='';try{_0x2b7695=await _0x12da12(_0x14a5a9,'utf-8');}catch{}const _0x390dd2=new Set(_0x3a86ae['map'](_0x3b82e4=>'mcp_servers.'+_0x3b82e4)),_0x2b6fa1=_0x2d6e24(_0x2b7695,_0x390dd2);_0x2b7695=_0x2b6fa1[_0xd3eaa3(0x9e0)];const _0x533517=_0x2b6fa1[_0xd3eaa3(0x940)]['length']>0x0,_0x852697=_0x2c2188(_0x2b7695);if(_0x852697[_0xd3eaa3(0x868)]&&_0x852697[_0xd3eaa3(0x829)]&&!_0x533517)return _0x25810d(_0xd3eaa3(0x83b)),![];if(_0x852697['replaced'])_0x2b7695=_0x852697[_0xd3eaa3(0x9e0)];else{if(_0x852697['sectionPresent']&&!_0x852697['alreadyCurrent']){const _0x3738ee=_0x2d6e24(_0x2b7695,new Set([_0xd3eaa3(0x121)]));_0x2b7695=_0x3738ee['next']+_0x11b004();}else!_0x852697['sectionPresent']?_0x2b7695=_0x2b7695+_0x11b004():_0x2b7695=_0x852697['next'];}return await _0x3349f2(_0x785e86(_0x14a5a9,'..'),{'recursive':!![]}),await _0x4b8510(_0x14a5a9,_0x2b7695),_0x25810d(_0xd3eaa3(0x473)),!![];}async function _0x458444(_0x27a95c=_0x16d4c9){const _0x5f09b4=_0x3ee7d6,_0x3cf64c=_0x785e86(_0x27a95c,_0x5f09b4(0x644),_0x5f09b4(0x6d5)),_0x5cd5e3=_0x785e86(_0x3cf64c,'rn-error-notify.sh'),_0x39ac35=_0x785e86(_0x3cf64c,_0x5f09b4(0x49e));await _0x3349f2(_0x3cf64c,{'recursive':!![]}),await _0x4b8510(_0x5cd5e3,_0x10800a),await _0xade249(_0x5cd5e3,0x1ed),_0x25810d(_0x5f09b4(0x212)),await _0x4b8510(_0x39ac35,_0x3de755),await _0xade249(_0x39ac35,0x1ed),_0x25810d('Hook\x20script:\x20.claude/hooks/rn-flow-progress-notify.sh\x20✓');const _0x2380e5=_0x785e86(_0x27a95c,'.claude',_0x5f09b4(0x348)),_0xcc0509=_0x785e86(_0x27a95c,'.claude','settings.local.json'),_0x4585d4=(_0x3ba529,_0x1b781d,_0x117b84)=>{const _0x1df1d6=_0x5f09b4,_0x4a06e4=_0x2c73d7(_0x3ba529)?_0x3ba529:{},_0x391add=_0x4a06e4[_0x1df1d6(0x6d5)],_0x3f0bba=_0x2c73d7(_0x391add)?_0x391add:{},_0xedaa34=_0x3f0bba[_0x1df1d6(0x2cf)];if(!Array[_0x1df1d6(0x246)](_0xedaa34))return _0xedaa34!==void 0x0;return _0xedaa34[_0x1df1d6(0x2a5)](_0x15e251=>{const _0x389e22=_0x1df1d6;if(!_0x2c73d7(_0x15e251))return![];if(_0x15e251[_0x389e22(0x9ce)]!==_0x1b781d)return![];const _0x3a4154=_0x15e251['hooks'];if(!Array[_0x389e22(0x246)](_0x3a4154))return![];return _0x3a4154['some'](_0xcaa8be=>{const _0x3a006d=_0x389e22;if(_0x3a006d(0x247)!==_0x3a006d(0x247))return{'name':'babel-config','status':_0x3a006d(0x125),'details':{'error':_0x51ac84(_0x593bfe),..._0x2cb7c6?{'dryRun':!![]}:{}}};else{if(!_0x2c73d7(_0xcaa8be))return![];const _0x350c89=_0xcaa8be[_0x3a006d(0x850)];return typeof _0x350c89==='string'&&_0x350c89===_0x117b84;}});});},_0x2c32b8=await _0x4260f1(_0x2380e5),_0x2134e5=await _0x4260f1(_0xcc0509);if(_0x2c32b8['kind']==='malformed'){_0x25810d('Claude\x20Code\x20hook:\x20'+_0x2380e5+_0x5f09b4(0x6a8));return;}if(_0x2134e5[_0x5f09b4(0x3ea)]===_0x5f09b4(0x445)){_0x25810d('Claude\x20Code\x20hook:\x20'+_0xcc0509+'\x20is\x20malformed\x20JSON\x20—\x20preserving\x20it.\x20Fix\x20the\x20file\x20manually\x20then\x20re-run\x20init.');return;}const _0x4ac479=_0x2c32b8[_0x5f09b4(0x3ea)]==='ok'?_0x2c32b8[_0x5f09b4(0x84f)]:null,_0x49ae84=_0x2134e5[_0x5f09b4(0x3ea)]==='ok'?_0x2134e5['value']:null;if(_0x4ac479!==null&&!_0x2c73d7(_0x4ac479)){_0x25810d(_0x5f09b4(0x3c4)+_0x2380e5+'\x20top-level\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.');return;}if(_0x49ae84!==null&&!_0x2c73d7(_0x49ae84)){_0x25810d('Claude\x20Code\x20hook:\x20'+_0xcc0509+'\x20top-level\x20is\x20not\x20a\x20JSON\x20object\x20—\x20preserving\x20it.');return;}const _0x42776b=_0x4ac479??{},_0x2c1940=_0x42776b['hooks'];if(_0x2c1940!==void 0x0&&!_0x2c73d7(_0x2c1940)){_0x25810d(_0x5f09b4(0x3c4)+_0x2380e5+_0x5f09b4(0x757));return;}const _0x2ddf4b=_0x2c73d7(_0x2c1940)?_0x2c1940:{},_0x5c7064=_0x2ddf4b[_0x5f09b4(0x2cf)],_0x3e5500=Array[_0x5f09b4(0x246)](_0x5c7064)?_0x5c7064:[];let _0x460eb4=![];!_0x4585d4(_0x4ac479,_0x2781c8,_0x3f0d94)&&!_0x4585d4(_0x49ae84,_0x2781c8,_0x3f0d94)?(_0x3e5500['push']({'matcher':_0x2781c8,'hooks':[{'type':_0x5f09b4(0x850),'command':_0x3f0d94}]}),_0x460eb4=!![],_0x25810d('Claude\x20Code\x20hook:\x20FileChanged\x20→\x20.rn-errors.json\x20✓')):_0x25810d(_0x5f09b4(0x801)),!_0x4585d4(_0x4ac479,_0x352f9a,_0x589268)&&!_0x4585d4(_0x49ae84,_0x352f9a,_0x589268)?(_0x3e5500['push']({'matcher':_0x352f9a,'hooks':[{'type':'command','command':_0x589268}]}),_0x460eb4=!![],_0x25810d(_0x5f09b4(0x841))):_0x25810d('Claude\x20Code\x20hook\x20(.rn-flow-progress.json):\x20already\x20configured'),_0x460eb4&&(_0x2ddf4b[_0x5f09b4(0x2cf)]=_0x3e5500,_0x42776b[_0x5f09b4(0x6d5)]=_0x2ddf4b,await _0x30a983(_0x2380e5,_0x42776b));}var _0x259174=_0x3ee7d6(0x989);async function _0x33273d(){const _0x3cab55=_0x3ee7d6,_0x91232d=_0x785e86(_0x16d4c9,'.ceraph',_0x3cab55(0x2b1));await _0x3349f2(_0x91232d,{'recursive':!![]});const _0x3ead8c=_0x785e86(_0x91232d,_0x3cab55(0x8bc));!await _0x3ca847(_0x3ead8c)?(await _0x17dce6(_0x3ead8c,_0x259174,_0x3cab55(0x29d)),_0x25810d('Camera\x20images:\x20.ceraph/camera-images/\x20+\x20README.md\x20✓')):'qOctV'!=='qOctV'?(this[_0x3cab55(0x239)]=_0x4ec4f9,_0x2bcc96({'ok':!![],'port':this['port']})):_0x25810d('Camera\x20images:\x20.ceraph/camera-images/\x20already\x20exists');}async function _0x4a5465(){const _0x215475=_0x3ee7d6,_0x11dbc4=_0x785e86(_0x16d4c9,'.gitignore');let _0x477365='';try{_0x477365=await _0x12da12(_0x11dbc4,_0x215475(0x29d));}catch{}const _0x4b4b9f=[_0x215475(0x8b8),_0x215475(0x671),'.ceraph/runs/','.ceraph/wda-derived/',_0x215475(0x137)],_0x5e74b2=_0x4b4b9f[_0x215475(0x65c)](_0xb7654b=>!_0x477365['includes'](_0xb7654b));if(_0x5e74b2['length']===0x0){_0x25810d('.gitignore:\x20entries\x20already\x20present');return;}const _0x308602=_0x477365===''||_0x477365[_0x215475(0x3f0)]('\x0a')?'':'\x0a',_0x2c8744=_0x308602+_0x5e74b2['join']('\x0a')+'\x0a';await _0x4b8510(_0x11dbc4,_0x477365+_0x2c8744),_0x25810d('.gitignore:\x20added\x20'+_0x5e74b2['join'](',\x20')+'\x20✓');}async function _0x1bedca(){const _0x23212d=_0x3ee7d6;console['log']('MCP\x20configuration:'),await _0x952bff(_0x785e86(_0x16d4c9,_0x23212d(0x736)),'Claude\x20Code');const _0x1de675=await _0x296c84(_0x16d4c9);_0x1de675[_0x23212d(0x9d0)]==='preserved'?_0x25810d(_0x23212d(0x350)+_0x1de675[_0x23212d(0x529)]+_0x23212d(0x8a4)+_0x1de675['reason']):_0x25810d(_0x23212d(0x6a5));await _0x952bff(_0x785e86(_0x16d4c9,'.cursor',_0x23212d(0x5b6)),_0x23212d(0x55c)),await _0x468ae3(_0x785e86(_0x16d4c9,_0x23212d(0x905),_0x23212d(0x97a))),await _0x952bff(_0x785e86(_0x16d4c9,_0x23212d(0x390),_0x23212d(0x5b6)),'VS\x20Code');const _0x2ae2d9=process.env.HOME??process.env.USERPROFILE??'';if(_0x2ae2d9){const _0x32c935=_0x785e86(_0x2ae2d9,_0x23212d(0x97f),_0x23212d(0x6ca),_0x23212d(0x5ed));await _0x3ca847(_0x785e86(_0x2ae2d9,_0x23212d(0x97f),'windsurf'))&&await _0x952bff(_0x32c935,'Windsurf');const _0x35c5dc=_0x785e86(_0x2ae2d9,_0x23212d(0x376),'antigravity','mcp_config.json');await _0x3ca847(_0x785e86(_0x2ae2d9,'.gemini','antigravity'))&&(_0x23212d(0x9e2)!=='ApEQa'?_0x26b79f[_0x23212d(0x9da)]['add'](_0x47cf6f[_0x23212d(0x3ea)]+':'+_0x1bbd10['key']):await _0x952bff(_0x35c5dc,'Antigravity'));}return _0x1de675;}function _0x9c55cc(_0x49d325){const _0x4c8e1c=_0x3ee7d6,_0x4753de=_0x49d325[_0x4c8e1c(0x65c)](_0x43fc9e=>_0x43fc9e['severity']==='error'&&!_0x43fc9e['ok']),_0x49e4d3=_0x49d325[_0x4c8e1c(0x65c)](_0x20b192=>_0x20b192['severity']==='warning'&&!_0x20b192['ok']);if(_0x4753de[_0x4c8e1c(0x945)]===0x0&&_0x49e4d3['length']===0x0)return'';const _0x6573e8=[];for(const _0x4f1831 of _0x4753de){_0x6573e8['push']('\x20\x20[BLOCKER]\x20'+_0x4f1831['name']+':\x20'+_0x4f1831[_0x4c8e1c(0x92e)]);if(_0x4f1831['remediation'])_0x6573e8[_0x4c8e1c(0x496)]('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20'+_0x4f1831[_0x4c8e1c(0x5de)]);}for(const _0x2820fa of _0x49e4d3){_0x6573e8[_0x4c8e1c(0x496)](_0x4c8e1c(0x58b)+_0x2820fa[_0x4c8e1c(0x4d1)]+':\x20'+_0x2820fa[_0x4c8e1c(0x92e)]);if(_0x2820fa[_0x4c8e1c(0x5de)])_0x6573e8['push']('\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20→\x20'+_0x2820fa['remediation']);}return _0x6573e8['join']('\x0a')+'\x0a';}function _0x2fcb52(_0x62e60a){const _0x3b63e6=_0x3ee7d6;if(_0x62e60a)return!![];if(process.env.CERAPH_NON_INTERACTIVE==='1')return!![];return!process[_0x3b63e6(0x21a)]['isTTY'];}async function _0x73598b(_0xe792d3={}){const _0x585f9e=_0x3ee7d6,_0x5cd962=console[_0x585f9e(0x183)];_0xe792d3['outputToStderr']&&(console['log']=(..._0x2ffa7e)=>{const _0x45c2d9=_0x585f9e;process['stderr'][_0x45c2d9(0x65a)](_0x2ffa7e[_0x45c2d9(0x986)](_0x47117f=>typeof _0x47117f===_0x45c2d9(0x7fd)?_0x47117f:String(_0x47117f))[_0x45c2d9(0x221)]('\x20')+'\x0a');});try{return _0x585f9e(0x6bc)!=='bWpQO'?{'success':!![],'details':{'element':_0x231090[_0x585f9e(0x8ff)],'retryAfterSwipes':_0xa6cd14+0x1}}:await _0x3b4fcf(_0xe792d3);}finally{_0xe792d3[_0x585f9e(0x2b7)]&&(console['log']=_0x5cd962);}}async function _0x3b4fcf(_0xd7118b){const _0xbe1b68=_0x3ee7d6,_0x3639fd=_0xd7118b['agentMode']===!![],_0x2e505e=_0xd7118b['outputToStderr']?_0x2441e9=>{const _0x50b043=_0x4a5a;process[_0x50b043(0x870)][_0x50b043(0x65a)](_0x2441e9);}:void 0x0;if(_0xd7118b[_0xbe1b68(0x7a9)]==='pro'&&_0x2fcb52(_0x3639fd))return'JVqOK'===_0xbe1b68(0x388)?'PlannedChainInput.snapPointFlowIndices\x20entry\x20'+_0x4722c3+'\x20has\x20no\x20successor\x20flow\x20(flows.length='+_0x137dda['flows']['length']+').':(await _0x4107c4('pro')['catch'](()=>void 0x0),console[_0xbe1b68(0x183)](_0xbe1b68(0x9c0)),console[_0xbe1b68(0x183)](_0xbe1b68(0x818)),console['log']('\x20\x201.\x20Sign\x20in:\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x58f401({'intent':_0xbe1b68(0x1b6)})),console[_0xbe1b68(0x183)]('\x20\x202.\x20Complete\x20checkout:\x20https://ceraph.dev/#pricing'),console[_0xbe1b68(0x183)]('\x0aSelecting\x20Pro\x20isn\x27t\x20the\x20same\x20as\x20being\x20Pro\x20—\x20AI\x20flow\x20testing\x20unlocks\x20once\x0acheckout\x20completes.\x20Re-run\x20init\x20in\x20a\x20terminal\x20(or\x20use\x20the\x0aceraph_init_select_tier\x20tool)\x20to\x20finish\x20sign-in.\x0a'),{'proSignInDeferred':!![],'walkthrough':null});console[_0xbe1b68(0x183)]('\x0a@ceraph/react-native-mcp\x20init\x0a');const _0x4e7bca=await _0x1bedca();console[_0xbe1b68(0x183)](_0xbe1b68(0x7d1)),await _0x458444(),console['log'](_0xbe1b68(0x2df)),await _0x33273d(),console[_0xbe1b68(0x183)]('\x0aGitignore:'),await _0x4a5465();const _0x29c60f=await _0x2247b9(_0x16d4c9,{'agentMode':_0x3639fd,'nonInteractive':_0x3639fd?!![]:void 0x0,'write':_0x2e505e,'installStdioToStderr':_0xd7118b['outputToStderr']===!![],'tier':_0xd7118b['tier'],'claudePreApprovalPreserved':_0x4e7bca[_0xbe1b68(0x9d0)]==='preserved','runDoctor':async()=>{const _0x3fea1d=_0xbe1b68,_0x181e0a=new _0xfe777(),_0x117ba8=new _0x435cdf(_0x181e0a),_0x10a60b=new _0xb68fb9(_0x181e0a),_0x4ad6d7=await _0x3df3ac({'screen':_0x181e0a,'apps':_0x117ba8,'autonomy':_0x10a60b,'projectDir':_0x16d4c9,'excludeRuntimeChecks':!![]}),_0x40dad4=_0x4ad6d7[_0x3fea1d(0x8d4)]['filter'](_0x5582f4=>_0x5582f4['ok'])[_0x3fea1d(0x945)];return{'ok':_0x4ad6d7['ok'],'summary':_0x9c55cc(_0x4ad6d7['checks']),'passedCount':_0x40dad4,'totalCount':_0x4ad6d7[_0x3fea1d(0x8d4)]['length']};}});return{'proSignInDeferred':![],'walkthrough':_0x29c60f};}var _0x389787=process['argv'][0x1]??'';if(_0x389787['endsWith'](_0x3ee7d6(0x697))||_0x389787[_0x3ee7d6(0x3f0)](_0x3ee7d6(0x902))){const _0x5b217d=process.env.CERAPH_AGENT_MODE==='1'||process[_0x3ee7d6(0x46e)][_0x3ee7d6(0x83f)]('--agent');_0x73598b({'agentMode':_0x5b217d})['catch'](_0x2eeac1=>{const _0x2a27fa=_0x3ee7d6;console[_0x2a27fa(0x125)](_0x2a27fa(0x441),_0x2eeac1),process[_0x2a27fa(0x41e)](0x1);});}async function _0x435db2(_0xa1e7b5={}){const _0x1bef4a=_0x3ee7d6,_0x4c25f5=_0xa1e7b5[_0x1bef4a(0x656)]??_0x9b2b8c,_0x5221c8=_0xa1e7b5['submitToken']??_0xd9bac1,_0xb978dc=_0xa1e7b5['runInit']??_0x73598b,_0xa65985=_0xa1e7b5['cliAuthUrl']??_0x58f401,_0x43ae58=_0xa1e7b5[_0x1bef4a(0x844)]?.[_0x1bef4a(0x5da)]()||void 0x0;if(_0x43ae58){const _0x3d37a0=await _0x5221c8({'signal':_0xa1e7b5[_0x1bef4a(0x294)],'token':_0x43ae58});if(_0x3d37a0['status']!=='ok'){const _0xf7aa12=_0x3d37a0[_0x1bef4a(0x9d0)]==='aborted'?'Sign-in\x20was\x20cancelled.':'Sign-in\x20failed:\x20'+_0x3d37a0['error'],_0x21b965=_0xa65985();return{'status':_0x1bef4a(0x344),'message':_0xf7aa12+_0x1bef4a(0x2ac),'verificationUri':_0x21b965,'url':_0x21b965};}}const _0x21379b=await _0x4c25f5()['catch'](()=>null);if(!_0x21379b?.['accessToken']){const _0x2cd597=_0xa65985();return{'status':'needs-auth','verificationUri':_0x2cd597,'url':_0x2cd597,'message':'Sign\x20in\x20to\x20run\x20the\x20complete\x20init.\x20Open\x20the\x20verificationUri,\x20sign\x20in,\x20copy\x20the\x20token\x20it\x20issues,\x20and\x20re-call\x20ceraph_init\x20with\x20that\x20value\x20as\x20`token`.\x20The\x20project\x20is\x20left\x20untouched\x20until\x20you\x20do.'};}const _0x1e481f=await _0xb978dc({'agentMode':!![],'outputToStderr':!![]});return{'status':'ready','message':'Init\x20complete.\x20Every\x20phase\x20ran\x20(MCP\x20clients,\x20Claude\x20hooks,\x20.gitignore,\x20camera-images,\x20camera\x20replacement,\x20boot\x20injection,\x20URL\x20scheme,\x20doctor).\x20See\x20`result`\x20for\x20per-phase\x20outcomes.','result':_0x1e481f[_0x1bef4a(0x7d5)]};}import{networkInterfaces}from'os';var _0x42955d=new Set(['en0']),_0x419fbe=new Set(['en1',_0x3ee7d6(0x607),_0x3ee7d6(0x6c4),_0x3ee7d6(0x74d),_0x3ee7d6(0x351),'en6']);function _0x124c24(_0x123bf0,_0x4184da){const _0x6beca5=_0x3ee7d6;if(_0x4184da['family']!=='IPv4')return null;if(_0x4184da['internal'])return null;if(_0x4184da['address']['startsWith'](_0x6beca5(0x184)))return null;if(_0x4184da[_0x6beca5(0x26c)]['startsWith'](_0x6beca5(0x538)))return null;let _0x1a4130;if(_0x42955d[_0x6beca5(0x21c)](_0x123bf0))_0x1a4130=_0x6beca5(0x459);else{if(_0x419fbe['has'](_0x123bf0))_0x1a4130='usb-ethernet';else return null;}return{'interfaceName':_0x123bf0,'address':_0x4184da['address'],'kind':_0x1a4130};}function _0x1346bd(_0x2c9544={}){const _0x473b70=_0x3ee7d6,_0x249ffd=_0x2c9544[_0x473b70(0x38c)]??networkInterfaces,_0x4615c5=_0x249ffd(),_0x3e250e=new Set(),_0x1f0d45=[],_0x507666=[],_0xebf340=Object[_0x473b70(0x208)](_0x4615c5)[_0x473b70(0x837)]();for(const _0x3d4b48 of _0xebf340){const _0x9b52d5=_0x4615c5[_0x3d4b48];if(!_0x9b52d5)continue;for(const _0x57a373 of _0x9b52d5){const _0x21ac06=_0x124c24(_0x3d4b48,_0x57a373);if(!_0x21ac06)continue;if(_0x3e250e['has'](_0x21ac06['address']))continue;_0x3e250e[_0x473b70(0x5c1)](_0x21ac06['address']);if(_0x21ac06['kind']==='wifi')_0x1f0d45[_0x473b70(0x496)](_0x21ac06);else _0x507666[_0x473b70(0x496)](_0x21ac06);}}return[..._0x1f0d45,..._0x507666];}function _0x7b4852(_0x2573c4={}){const _0x1ceec4=_0x1346bd(_0x2573c4);return _0x1ceec4[0x0]??null;}import{spawn as _0x557746}from'child_process';import{z as _0x39299c}from'zod';import{existsSync,readFileSync as _0x3ff343,readdirSync}from'fs';import{isAbsolute as _0x4603f9,join as _0x248bbd,relative as _0x9c4193,resolve,sep as _0x436d85}from'path';function _0x410dbc(_0x519c8f){return existsSync(_0x519c8f);}function _0x5ed2da(_0x513e3b){const _0x2c1f4b=_0x3ee7d6;try{const _0x41baff=_0x3ff343(_0x513e3b,_0x2c1f4b(0x29d)),_0x36386f=JSON['parse'](_0x41baff);if(!_0x36386f||typeof _0x36386f!==_0x2c1f4b(0x5ab))return null;return _0x36386f;}catch{return null;}}function _0x4eec9c(_0x567bb){const _0x9830fb=_0x3ee7d6,_0x214742=new Set();let _0x884ed6=![];const _0x32b0fb=_0x5ed2da(_0x248bbd(_0x567bb,_0x9830fb(0x833)));if(_0x32b0fb?.['workspaces']){_0x884ed6=!![];if(Array['isArray'](_0x32b0fb['workspaces'])){for(const _0x3c371d of _0x32b0fb['workspaces'])_0x214742[_0x9830fb(0x5c1)](_0x3c371d);}else{if(_0x32b0fb['workspaces']&&typeof _0x32b0fb['workspaces']===_0x9830fb(0x5ab)&&Array['isArray'](_0x32b0fb[_0x9830fb(0x2a4)]['packages']))for(const _0x585e4c of _0x32b0fb[_0x9830fb(0x2a4)]['packages']){_0x214742['add'](_0x585e4c);}}}const _0x18c6cc=_0x248bbd(_0x567bb,'pnpm-workspace.yaml');if(_0x410dbc(_0x18c6cc)){let _0x4a6fbc=null;try{_0x4a6fbc=_0x3ff343(_0x18c6cc,_0x9830fb(0x29d));}catch{_0x4a6fbc=null;}if(_0x4a6fbc!=null){_0x884ed6=!![];for(const _0xce6000 of _0x176dc0(_0x4a6fbc))_0x214742[_0x9830fb(0x5c1)](_0xce6000);}}const _0xe855fe=_0x5ed2da(_0x248bbd(_0x567bb,'lerna.json'));if(_0xe855fe){const _0x2719a8=_0xe855fe[_0x9830fb(0x4c7)];if(Array['isArray'](_0x2719a8)){_0x884ed6=!![];for(const _0x5c6f31 of _0x2719a8){if(typeof _0x5c6f31===_0x9830fb(0x7fd))_0x214742['add'](_0x5c6f31);}}else _0x410dbc(_0x248bbd(_0x567bb,_0x9830fb(0x784)))&&(_0x884ed6=!![]);}if(!_0x884ed6)return null;return Array[_0x9830fb(0x70f)](_0x214742);}function _0x22778e(_0x318def,_0x22c11f){const _0x16f08e=_0x3ee7d6,_0x129cdf=_0x22c11f['replace'](/^\.\//,'')['replace'](/\/+$/,'');if(_0x129cdf[_0x16f08e(0x945)]===0x0)return[];if(!_0x129cdf['includes']('*')){const _0x1af546=_0x248bbd(_0x318def,_0x129cdf);return _0x410dbc(_0x1af546)?[_0x1af546]:[];}const _0x416fc6=_0x129cdf['match'](/^([^*]+)\/\*$/);if(!_0x416fc6||!_0x416fc6[0x1])return[];const _0x4e57a7=_0x416fc6[0x1]['replace'](/\/+$/,''),_0x29f09c=_0x248bbd(_0x318def,_0x4e57a7);let _0x2c99d3;try{if('cszTU'==='ewRBn')return{'kind':'bare-rn-needs-manual'};else _0x2c99d3=readdirSync(_0x29f09c,{'withFileTypes':!![]});}catch{return[];}const _0x26ed97=[];for(const _0x1497ec of _0x2c99d3){if(!_0x1497ec['isDirectory']())continue;if(_0x1497ec['name']['startsWith']('.'))continue;_0x26ed97[_0x16f08e(0x496)](_0x248bbd(_0x29f09c,_0x1497ec[_0x16f08e(0x4d1)]));}return _0x26ed97;}function _0x58646c(_0x56ab90){const _0x5c111f=_0x3ee7d6,_0x4ee676=process.env.CERAPH_PROJECT_DIR;if(_0x4ee676&&_0x4ee676[_0x5c111f(0x945)]>0x0){const _0x445b28=_0x4603f9(_0x4ee676)?_0x4ee676:resolve(_0x56ab90,_0x4ee676);return{'dir':_0x445b28,'reason':_0x5c111f(0x608)};}const _0xda815c=_0x5ed2da(_0x248bbd(_0x56ab90,_0x5c111f(0x833))),_0x591766=_0x870292(_0xda815c);if(_0x591766[_0x5c111f(0x64d)]||_0x591766['rn'])return{'dir':_0x56ab90,'reason':_0x5c111f(0x3d7)};const _0x3ab40c=_0x4eec9c(_0x56ab90);if(_0x3ab40c==null)return{'dir':_0x56ab90,'reason':_0x5c111f(0x646)};const _0x3ed0f4=new Set();for(const _0x55b618 of _0x3ab40c){for(const _0x207cda of _0x22778e(_0x56ab90,_0x55b618))_0x3ed0f4[_0x5c111f(0x5c1)](_0x207cda);}const _0x3a6f10=[];for(const _0x2792b6 of _0x3ed0f4){const _0x495799=_0x5ed2da(_0x248bbd(_0x2792b6,'package.json')),_0x1c3ec0=_0x870292(_0x495799),_0xbc72ce=_0x410dbc(_0x248bbd(_0x2792b6,'app.json'));if(!_0x1c3ec0['expo']&&!_0x1c3ec0['rn']&&!_0xbc72ce)continue;const _0x4ce7d9=_0x9c4193(_0x56ab90,_0x2792b6)[_0x5c111f(0x814)](_0x436d85)['join']('/');_0x3a6f10[_0x5c111f(0x496)]({'absPath':_0x2792b6,'relPath':_0x4ce7d9['length']>0x0?_0x4ce7d9:'.'});}_0x3a6f10['sort']((_0x4314b8,_0x1520a8)=>_0x4314b8['relPath']<_0x1520a8['relPath']?-0x1:_0x4314b8['relPath']>_0x1520a8['relPath']?0x1:0x0);if(_0x3a6f10[_0x5c111f(0x945)]===0x1){const _0x35d8ea=_0x3a6f10[0x0];return{'dir':_0x35d8ea['absPath'],'reason':'monorepo:\x20rooting\x20at\x20RN\x20app\x20'+_0x35d8ea['relPath']+'/'};}if(_0x3a6f10[_0x5c111f(0x945)]===0x0){if('qOtrT'!=='qOtrT')this['stderrBuffer'][_0x5c111f(0x496)](_0x31b2c3),this['stderrBuffer'][_0x5c111f(0x945)]>_0x116fcc&&this[_0x5c111f(0x4ee)][_0x5c111f(0x936)]();else return{'dir':_0x56ab90,'reason':_0x5c111f(0x6d0)};}const _0x4eaeec=_0x3a6f10[_0x5c111f(0x986)](_0x5e272e=>_0x5e272e['relPath'])['join'](',\x20');return{'dir':_0x56ab90,'reason':_0x5c111f(0x7d4)+_0x3a6f10[_0x5c111f(0x945)]+_0x5c111f(0x313)+_0x4eaeec+');\x20set\x20CERAPH_PROJECT_DIR\x20to\x20pick\x20one'};}function _0x423853(_0x5e7988,_0x464c38){if(!_0x5e7988||_0x5e7988['length']===0x0)return _0x464c38;const _0x5b0e07=_0x4603f9(_0x5e7988)?_0x5e7988:resolve(_0x464c38,_0x5e7988),_0x4c987c=_0x9c4193(_0x464c38,_0x5b0e07),_0x42589c=_0x4c987c===''||_0x4c987c!=='..'&&!_0x4c987c['startsWith']('..'+_0x436d85)&&!_0x4603f9(_0x4c987c);return _0x42589c?_0x464c38:_0x5b0e07;}import{access as _0x31a92e,readFile as _0x32a8a3}from'fs/promises';import{join as _0x160b18}from'path';import{spawn as _0x2f8580}from'child_process';import{readFile as _0x4c8d69,access as _0x46d5d2}from'fs/promises';import{join as _0x4f2615}from'path';var _0x35fdb1=[{'file':'pnpm-lock.yaml','pm':_0x3ee7d6(0x16e)},{'file':_0x3ee7d6(0x1e5),'pm':_0x3ee7d6(0x18b)},{'file':_0x3ee7d6(0x20d),'pm':_0x3ee7d6(0x307)},{'file':'bun.lock','pm':_0x3ee7d6(0x307)},{'file':_0x3ee7d6(0x66e),'pm':_0x3ee7d6(0x38f)}],_0x98210e='@ceraph/react-native-mcp';async function _0x4bc280(_0x1c12a9){try{return await _0x46d5d2(_0x1c12a9),!![];}catch{return![];}}async function _0x208245(_0xefd1e3){const _0x558db5=_0x3ee7d6;for(const {file:_0x57d658,pm:_0xf172d3}of _0x35fdb1){if(await _0x4bc280(_0x4f2615(_0xefd1e3,_0x57d658)))return _0xf172d3;}return _0x558db5(0x38f);}function _0x56b738(_0x1b47bf,_0x5c503b){const _0x20eb3c=_0x3ee7d6;switch(_0x1b47bf){case _0x20eb3c(0x16e):return{'bin':'pnpm','args':[_0x20eb3c(0x6f8),..._0x5c503b]};case _0x20eb3c(0x18b):return{'bin':'yarn','args':[_0x20eb3c(0x6f8),..._0x5c503b]};case _0x20eb3c(0x307):return{'bin':'bun','args':[_0x20eb3c(0x6f8),..._0x5c503b]};case'npm':return{'bin':_0x20eb3c(0x38f),'args':['uninstall',..._0x5c503b]};}}async function _0x5d9718(_0x2615bf,_0x4ad39a){const _0x2dc84d=_0x3ee7d6;let _0x5be81d;try{_0x5be81d=await _0x4c8d69(_0x4f2615(_0x2615bf,'package.json'),_0x2dc84d(0x29d));}catch{return[];}let _0x421f8f;try{_0x421f8f=JSON[_0x2dc84d(0x229)](_0x5be81d);}catch{return'prMim'!=='prMim'?{..._0x3f044e({'ok':![],'error':_0x67ca01}),'isError':!![]}:[];}if(!_0x421f8f||typeof _0x421f8f!==_0x2dc84d(0x5ab))return[];const _0x13888b=_0x421f8f[_0x2dc84d(0x5d2)]??{},_0x4dd825=_0x421f8f['devDependencies']??{};return _0x4ad39a[_0x2dc84d(0x65c)](_0x3fbb0d=>Boolean(_0x13888b[_0x3fbb0d]||_0x4dd825[_0x3fbb0d]));}async function _0x3048eb(_0x3e0461,_0x327c6a={}){const _0x143b0b=_0x3ee7d6,_0x5799db=await _0x208245(_0x3e0461),_0xfe0db1=[_0x98210e],_0x5e2df0=await _0x5d9718(_0x3e0461,_0xfe0db1);if(_0x5e2df0[_0x143b0b(0x945)]===0x0)return{'status':'nothing-to-remove','pm':_0x5799db,'removedPackages':[]};const _0x4a4d3a=_0x56b738(_0x5799db,_0x5e2df0),_0x54e8c2=_0x327c6a[_0x143b0b(0x3a6)]??_0x46d0b6,_0x2cc4f5=await _0x54e8c2({'bin':_0x4a4d3a[_0x143b0b(0x366)],'args':_0x4a4d3a[_0x143b0b(0x719)],'cwd':_0x3e0461});if(_0x2cc4f5['exitCode']!==0x0)return{'status':_0x143b0b(0x5fa),'pm':_0x5799db,'removedPackages':[],'command':_0x4a4d3a,'exitCode':_0x2cc4f5[_0x143b0b(0x186)]};return{'status':'removed','pm':_0x5799db,'removedPackages':_0x5e2df0,'command':_0x4a4d3a};}function _0x46d0b6(_0x59ca74){return new Promise(_0x352120=>{const _0x837cd3=_0x4a5a,_0x98d91b=_0x2f8580(_0x59ca74['bin'],_0x59ca74[_0x837cd3(0x719)],{'cwd':_0x59ca74[_0x837cd3(0x346)],'stdio':_0x837cd3(0x929)});_0x98d91b['on'](_0x837cd3(0x125),()=>_0x352120({'exitCode':0x7f})),_0x98d91b['on'](_0x837cd3(0x41e),_0x3fe2fb=>_0x352120({'exitCode':_0x3fe2fb??0x1}));});}import{readFile as _0x288d12,writeFile as _0x78a5fa}from'fs/promises';import{join as _0xbe326e}from'path';var _0x2da8a3,_0x49fc5d,_0x4f4216,_0x5b90b5,_0x5e0610=![];async function _0x32a1bc(){if(_0x5e0610)return;const _0x45eba8=await import('ts-morph');({IndentationText:_0x2da8a3,Node:_0x49fc5d,Project:_0x4f4216,SyntaxKind:_0x5b90b5}=_0x45eba8,_0x5e0610=!![]);}var _0x2596fe='@ceraph/react-native-mcp/shim',_0xe304a8='installCeraph';async function _0x462be6(_0x3467c4){try{return await _0x288d12(_0x3467c4,'utf-8'),!![];}catch{return![];}}async function _0x17e4ca(_0x386ade){const _0x448324=_0x3ee7d6,_0x257a53=_0xbe326e(_0x386ade,'app','_layout.tsx');if(await _0x462be6(_0x257a53))return{'kind':_0x448324(0x8a1),'filePath':_0x257a53};const _0x711ea0=_0xbe326e(_0x386ade,'app',_0x448324(0x4b1));if(await _0x462be6(_0x711ea0))return{'kind':_0x448324(0x8a1),'filePath':_0x711ea0};for(const _0x4985eb of['App.tsx','App.jsx']){const _0x17dce2=_0xbe326e(_0x386ade,_0x4985eb);if(await _0x462be6(_0x17dce2))return{'kind':_0x448324(0x46b),'filePath':_0x17dce2};}return null;}function _0x9ca9af(_0x3fc4ec){const _0x20c7a7=_0x3ee7d6;for(const _0xad70f3 of _0x3fc4ec['getFunctions']()){if(_0xad70f3['isDefaultExport']())return _0xad70f3;}const _0x2f0eb6=_0x3fc4ec['getStatements']()['find'](_0x1b5ed0=>_0x49fc5d['isExportAssignment'](_0x1b5ed0));if(_0x2f0eb6&&_0x49fc5d['isExportAssignment'](_0x2f0eb6)){const _0x23f2bd=_0x2f0eb6['getExpression']();if(_0x49fc5d['isIdentifier'](_0x23f2bd)){const _0x4a85a8=_0x23f2bd['getSymbol']();if(_0x4a85a8){const _0x28ad71=_0x4a85a8[_0x20c7a7(0x54f)]()[0x0];if(_0x28ad71&&_0x49fc5d[_0x20c7a7(0x5ee)](_0x28ad71)){const _0x513b7=_0x28ad71[_0x20c7a7(0x16c)]();if(_0x513b7&&_0x49fc5d['isArrowFunction'](_0x513b7))return _0x513b7;if(_0x513b7&&_0x49fc5d[_0x20c7a7(0x8d0)](_0x513b7))return _0x513b7;}}}if(_0x49fc5d[_0x20c7a7(0x60d)](_0x23f2bd))return _0x23f2bd;if(_0x49fc5d['isFunctionExpression'](_0x23f2bd))return _0x23f2bd;}return null;}function _0x30474d(_0x46966d){const _0x31d88a=_0x3ee7d6;if(_0x49fc5d['isExpressionStatement'](_0x46966d)){const _0x56d5ea=_0x46966d[_0x31d88a(0x45d)]();if(_0x49fc5d['isCallExpression'](_0x56d5ea)){if(_0x31d88a(0x488)===_0x31d88a(0x626))return![];else{const _0x1fd14f=_0x56d5ea[_0x31d88a(0x45d)]();if(_0x49fc5d[_0x31d88a(0x9c8)](_0x1fd14f)&&_0x1fd14f[_0x31d88a(0x326)]()===_0xe304a8)return!![];}}}return![];}function _0x3a6fa2(_0x8ad041){const _0x37eec1=_0x3ee7d6,_0x2db19d=_0x8ad041[_0x37eec1(0x6ae)]();if(_0x2db19d[_0x37eec1(0x945)]===0x0)return'unrelated';const _0x4f9b6d=_0x2db19d[0x0];let _0x3275a3=null;if(_0x49fc5d[_0x37eec1(0x60d)](_0x4f9b6d)||_0x49fc5d[_0x37eec1(0x8d0)](_0x4f9b6d)){const _0x35a341=_0x4f9b6d[_0x37eec1(0x848)]();if(_0x49fc5d[_0x37eec1(0x9f4)](_0x35a341))_0x3275a3=_0x35a341;else{if(_0x49fc5d[_0x37eec1(0x435)](_0x35a341)){const _0x379215=_0x35a341[_0x37eec1(0x45d)]();if(_0x49fc5d[_0x37eec1(0x9c8)](_0x379215)&&_0x379215['getText']()===_0xe304a8){if(_0x37eec1(0x37c)==='CqFYc')return'installCeraph-only';else{const _0x254662=_0x2c4156['parse'](_0x126272);if(!_0x254662||typeof _0x254662!==_0x37eec1(0x5ab)||_0x888765['isArray'](_0x254662))return null;return _0x254662;}}}return _0x37eec1(0x5f1);}}else return _0x37eec1(0x5f1);if(!_0x3275a3)return _0x37eec1(0x5f1);const _0x487567=_0x3275a3['getStatements']();if(_0x487567[_0x37eec1(0x945)]===0x0)return _0x37eec1(0x5f1);let _0x1706fb=![],_0x23b933=![];for(const _0x3b0eac of _0x487567){_0x30474d(_0x3b0eac)?_0x1706fb=!![]:_0x23b933=!![];}if(!_0x1706fb)return _0x37eec1(0x5f1);return _0x23b933?'installCeraph-with-others':_0x37eec1(0x72f);}function _0x22f203(_0x531ee2){const _0x391ffb=_0x3ee7d6,_0x34a3bc=_0x531ee2['getBody']();if(!_0x34a3bc||!_0x49fc5d[_0x391ffb(0x9f4)](_0x34a3bc))return[];const _0x4e85b9=[];return _0x34a3bc['forEachDescendant'](_0x45d60c=>{const _0x1bbceb=_0x391ffb;if(_0x49fc5d['isCallExpression'](_0x45d60c)){if('IAFUM'!==_0x1bbceb(0x730)){const _0x363053=_0x45d60c['getExpression']();_0x49fc5d['isIdentifier'](_0x363053)&&_0x363053[_0x1bbceb(0x326)]()===_0x1bbceb(0x5bc)&&_0x4e85b9['push'](_0x45d60c);}else return{'success':!![],'transport':_0x1bbceb(0x4bd)};}}),_0x4e85b9;}function _0x359d54(_0x3ece74){const _0x384d00=_0x3ee7d6,_0x14c0bc=_0x3ece74['getImportDeclaration']('react');if(!_0x14c0bc)return![];const _0x2088dc=_0x14c0bc[_0x384d00(0x865)](),_0x132ed4=_0x2088dc[_0x384d00(0x7bd)](_0x106b24=>_0x106b24[_0x384d00(0x33e)]()===_0x384d00(0x5bc));if(!_0x132ed4)return![];const _0x307e70=_0x132ed4['getAliasNode']();if(_0x307e70)return![];let _0x22e01b=![];_0x3ece74['forEachDescendant'](_0x83549e=>{const _0x28f2f5=_0x384d00;if(_0x22e01b)return;if(_0x49fc5d['isIdentifier'](_0x83549e)&&_0x83549e[_0x28f2f5(0x326)]()==='useEffect'){const _0x48ed82=_0x83549e[_0x28f2f5(0x43d)]();if(_0x48ed82&&(_0x49fc5d[_0x28f2f5(0x1cb)](_0x48ed82)||_0x49fc5d[_0x28f2f5(0x146)](_0x48ed82)))return;_0x22e01b=!![];}});if(_0x22e01b)return![];_0x132ed4['remove']();const _0x25302c=_0x14c0bc[_0x384d00(0x865)](),_0x558839=_0x14c0bc['getDefaultImport']()!=null,_0x1ceb9f=_0x14c0bc['getNamespaceImport']()!=null;return _0x25302c['length']===0x0&&!_0x558839&&!_0x1ceb9f&&_0x14c0bc[_0x384d00(0x6f8)](),!![];}function _0x1595fb(_0x1b33e8){const _0x7aff30=_0x3ee7d6,_0x4cad60=_0x1b33e8['getImportDeclaration'](_0x2596fe);if(!_0x4cad60)return![];const _0x1b2ae5=_0x4cad60['getNamedImports'](),_0x678091=_0x1b2ae5['find'](_0x3197fa=>_0x3197fa['getName']()===_0xe304a8);if(!_0x678091)return![];_0x678091['remove']();const _0xb89e5a=_0x4cad60['getNamedImports'](),_0x92a008=_0x4cad60['getDefaultImport']()!=null;return _0xb89e5a[_0x7aff30(0x945)]===0x0&&!_0x92a008&&_0x4cad60[_0x7aff30(0x6f8)](),!![];}async function _0xf44b30(_0xd9aba6){const _0x400abb=_0x3ee7d6;await _0x32a1bc();const _0x575f90=await _0x17e4ca(_0xd9aba6);if(!_0x575f90){if(_0x400abb(0x215)!==_0x400abb(0x215)){const _0x161d49=_0x2910db['getClosingElement']();_0x161d49[_0x400abb(0x800)]()[_0x400abb(0x9ac)](_0x400abb(0x698));}else return{'status':'no-layout-found'};}const _0x4e82db=new _0x4f4216({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x2da8a3[_0x400abb(0x806)]}}),_0x2b0a31=_0x4e82db['addSourceFileAtPath'](_0x575f90['filePath']),_0x235297=_0x9ca9af(_0x2b0a31);if(!_0x235297){const _0xe5cf1b=_0x1595fb(_0x2b0a31);if(_0xe5cf1b)return await _0x78a5fa(_0x575f90[_0x400abb(0x4e3)],_0x2b0a31['getFullText'](),'utf-8'),{'status':'reverted','target':_0x575f90,'removedUseEffect':![],'removedImport':!![]};return{'status':_0x400abb(0x33c),'target':_0x575f90};}const _0x194965=_0x22f203(_0x235297),_0x20949f=_0x194965[_0x400abb(0x986)](_0x2accde=>({'call':_0x2accde,'kind':_0x3a6fa2(_0x2accde)})),_0x555df2=_0x20949f['filter'](_0x194055=>_0x194055['kind']==='installCeraph-only'),_0x283141=_0x20949f['filter'](_0x57923b=>_0x57923b['kind']===_0x400abb(0x43c));if(_0x283141[_0x400abb(0x945)]>0x0)return{'status':_0x400abb(0x797),'target':_0x575f90,'reason':'useEffect\x20contains\x20other\x20statements'};let _0x5d2237=![];for(const _0x12a5a3 of _0x555df2){const _0x602ca8=_0x12a5a3['call']['getFirstAncestorByKind'](_0x5b90b5[_0x400abb(0x43e)]);_0x602ca8&&(_0x602ca8[_0x400abb(0x6f8)](),_0x5d2237=!![]);}const _0x599bb5=_0x1595fb(_0x2b0a31);_0x5d2237&&_0x359d54(_0x2b0a31);if(!_0x5d2237&&!_0x599bb5)return{'status':'already-reverted','target':_0x575f90};return await _0x78a5fa(_0x575f90['filePath'],_0x2b0a31[_0x400abb(0x4e0)](),_0x400abb(0x29d)),{'status':'reverted','target':_0x575f90,'removedUseEffect':_0x5d2237,'removedImport':_0x599bb5};}import{readFile as _0x35b4e2,unlink as _0x3ec90d,writeFile as _0x18cfde}from'fs/promises';import{join as _0x5cf808}from'path';var _0x4296a4=['.rn-errors.json',_0x3ee7d6(0x671),_0x3ee7d6(0x976),_0x3ee7d6(0x95c),'.ceraph/last-build-snapshot.json'],_0x211ba9=[_0x3ee7d6(0x8b8),'.rn-flow-progress.json'];async function _0x40c08f(_0x5af5f2,_0x2db266={}){const _0x183680=_0x3ee7d6,_0x13e489=_0x5cf808(_0x5af5f2,'.gitignore'),_0x310edc=_0x2db266['readFile']??(_0x4a67ad=>_0x35b4e2(_0x4a67ad,_0x183680(0x29d))),_0xcb524a=_0x2db266[_0x183680(0x352)]??((_0x347ebe,_0x4f4b83)=>_0x18cfde(_0x347ebe,_0x4f4b83,'utf-8')),_0x4f472b=_0x2db266[_0x183680(0x91d)]??(_0x4723ed=>_0x3ec90d(_0x4723ed)),_0x15e28e=[];for(const _0x52352e of _0x211ba9){const _0x81b8a3=_0x5cf808(_0x5af5f2,_0x52352e);try{await _0x4f472b(_0x81b8a3),_0x15e28e['push'](_0x52352e);}catch{}}let _0xd1da18;try{_0xd1da18=await _0x310edc(_0x13e489);}catch{return{'status':_0x183680(0x23b),'path':_0x13e489,'removedRuntimeFiles':_0x15e28e};}const _0x53dbf7=_0xd1da18[_0x183680(0x3f0)]('\x0a'),_0x3b6fdf=_0xd1da18['split'](/\r?\n/);_0x53dbf7&&_0x3b6fdf[_0x183680(0x945)]>0x0&&_0x3b6fdf[_0x3b6fdf['length']-0x1]===''&&_0x3b6fdf['pop']();const _0x5710b0=new Set(_0x4296a4),_0x299820=[],_0x22e5a5=[];for(const _0x2b416e of _0x3b6fdf){if(_0x5710b0[_0x183680(0x21c)](_0x2b416e[_0x183680(0x5da)]())){_0x299820['push'](_0x2b416e);continue;}_0x22e5a5[_0x183680(0x496)](_0x2b416e);}if(_0x299820[_0x183680(0x945)]===0x0)return{'status':_0x183680(0x33c),'path':_0x13e489,'removedRuntimeFiles':_0x15e28e};const _0x35ec61=_0x53dbf7?_0x22e5a5['join']('\x0a')+'\x0a':_0x22e5a5['join']('\x0a');return await _0xcb524a(_0x13e489,_0x35ec61),{'status':'reverted','path':_0x13e489,'removedLines':_0x299820,'removedRuntimeFiles':_0x15e28e};}async function _0x48b8d5(_0x5103ab){try{return await _0x31a92e(_0x5103ab),!![];}catch{return![];}}async function _0x4049d7(_0x22a42a){const _0x1d0948=_0x3ee7d6;try{const _0x11c454=await _0x32a8a3(_0x160b18(_0x22a42a,'package.json'),_0x1d0948(0x29d));return JSON['parse'](_0x11c454);}catch{return null;}}async function _0x109f6a(_0x9a496c){const _0x5bd51f=_0x3ee7d6,_0x5053cf=_0x160b18(_0x9a496c,_0x5bd51f(0x4a6));let _0x168d85;try{_0x168d85=await _0x32a8a3(_0x5053cf,'utf-8');}catch{return[];}return _0x4296a4['filter'](_0x2abeb4=>_0x168d85['split'](/\r?\n/)['some'](_0x2d899b=>_0x2d899b[_0x5bd51f(0x5da)]()===_0x2abeb4));}async function _0x1b696a(_0xd624cf){const _0x3ffd8a=_0x3ee7d6,_0x17a75f=_0x160b18(_0xd624cf,'app.json');let _0x29f0f5;try{_0x29f0f5=await _0x32a8a3(_0x17a75f,_0x3ffd8a(0x29d));}catch{return null;}let _0x563d6f;try{_0x563d6f=JSON['parse'](_0x29f0f5);}catch{return null;}const _0x38c973=_0x563d6f[_0x3ffd8a(0x64d)]?.[_0x3ffd8a(0x389)];if(typeof _0x38c973==='string')return _0x38c973===_0x3ffd8a(0x650);if(Array['isArray'](_0x38c973))return _0x38c973['includes'](_0x3ffd8a(0x650));return![];}async function _0x47d162(_0x57d1c2){const _0x23c37a=_0x3ee7d6,_0x50cf08=[_0x23c37a(0x44c),'src','screens'],_0x39991c=new Set(['.tsx',_0x23c37a(0x9c4)]),_0x42facb=new Set([_0x23c37a(0x9c9),_0x23c37a(0x166),_0x23c37a(0x17d),'.git',_0x23c37a(0x5d3),'.expo','.next',_0x23c37a(0x5c2),'android']);let _0x2ef184=0x0;const _0x1b5715=async _0x161ec8=>{const _0x40b876=_0x23c37a;let _0x227856;try{const {readdir:_0x1e24a3}=await import('fs/promises');_0x227856=await _0x1e24a3(_0x161ec8,{'withFileTypes':!![]});}catch{return;}for(const _0x92864a of _0x227856){if(_0x92864a[_0x40b876(0x42a)]()){if(_0x42facb[_0x40b876(0x21c)](_0x92864a['name']))continue;await _0x1b5715(_0x160b18(_0x161ec8,_0x92864a[_0x40b876(0x4d1)]));continue;}if(!_0x92864a[_0x40b876(0x7ab)]())continue;const _0x4a3e9a=_0x92864a['name'][_0x40b876(0x64b)]('.');if(_0x4a3e9a<0x0)continue;const _0x3676ff=_0x92864a['name']['slice'](_0x4a3e9a)[_0x40b876(0x17e)]();if(!_0x39991c[_0x40b876(0x21c)](_0x3676ff))continue;try{const _0x21d740=await _0x32a8a3(_0x160b18(_0x161ec8,_0x92864a[_0x40b876(0x4d1)]),_0x40b876(0x29d)),_0x2accac=_0x21d740['match'](/<CeraphCamera/g);if(_0x2accac)_0x2ef184+=_0x2accac['length'];}catch{}}};for(const _0x4c5f63 of _0x50cf08){await _0x1b5715(_0x160b18(_0x57d1c2,_0x4c5f63));}for(const _0x1a5ff2 of['App.tsx',_0x23c37a(0x754)]){try{const _0x290778=await _0x32a8a3(_0x160b18(_0x57d1c2,_0x1a5ff2),_0x23c37a(0x29d)),_0x29cfd4=_0x290778['match'](/<CeraphCamera/g);if(_0x29cfd4)_0x2ef184+=_0x29cfd4['length'];}catch{}}return _0x2ef184;}async function _0x3a7f9c(_0x51ef8e,_0x485806){const _0x4d8475=_0x3ee7d6,_0x38c346=async(_0x13784b,_0x583343)=>{const _0x5702f9=_0x4a5a;try{const _0x18ddbd=await _0x32a8a3(_0x13784b,_0x5702f9(0x29d));if(_0x583343===_0x5702f9(0x732)){const _0x454456=JSON['parse'](_0x18ddbd),_0x57e4cb=_0x454456['mcpServers']??{};return Boolean(_0x57e4cb[_0x5702f9(0x954)]||_0x57e4cb['mobile-mcp']);}return _0x18ddbd[_0x5702f9(0x83f)]('[mcp_servers.react-native-mcp]')||_0x18ddbd[_0x5702f9(0x83f)]('[mcp_servers.mobile-mcp]');}catch{return![];}},_0x593b8b=async _0x387fc6=>{const _0x539569=_0x4a5a;try{const _0x35d200=await _0x32a8a3(_0x387fc6,_0x539569(0x29d)),_0xd310ac=JSON[_0x539569(0x229)](_0x35d200),_0x23cc41=_0xd310ac[_0x539569(0x780)];return Array['isArray'](_0x23cc41)&&_0x23cc41[_0x539569(0x83f)](_0x47a2a3);}catch{if('AbKcO'===_0x539569(0x580)){const _0x351115=_0x50ca3a(_0x51e27a)??'path:'+_0x1e0ff7['join']('.'),_0x213182=typeof _0x5d0d57[_0x539569(0x85c)]==='string'?_0x51ae7e(_0xde96cf['type']):void 0x0;_0x2efd29[_0x539569(0x496)]({'id':_0x351115,'bounds':_0x1588fb,'visible':_0x32899b['w']>0x0&&_0x2bdf55['h']>0x0,..._0x213182?{'kind':_0x213182}:{}});}else return![];}},_0x4b8d8b=_0x6b1b18(_0x485806||void 0x0),_0x53b7b4={};for(const _0x252642 of _0x4b8d8b)_0x53b7b4[_0x252642[_0x4d8475(0x10d)]]=_0x252642[_0x4d8475(0x4ff)];return{'claudeCode':await _0x38c346(_0x160b18(_0x51ef8e,'.mcp.json'),'json'),'cursor':await _0x38c346(_0x160b18(_0x51ef8e,_0x4d8475(0x4e2),'mcp.json'),'json'),'codex':await _0x38c346(_0x160b18(_0x51ef8e,'.codex',_0x4d8475(0x97a)),'toml'),'vscode':await _0x38c346(_0x160b18(_0x51ef8e,_0x4d8475(0x390),_0x4d8475(0x5b6)),'json'),'windsurf':_0x485806?await _0x38c346(_0x53b7b4['Windsurf']??'',_0x4d8475(0x732)):![],'antigravity':_0x485806?await _0x38c346(_0x53b7b4[_0x4d8475(0x9aa)]??'',_0x4d8475(0x732)):![],'claudePreApproval':await _0x593b8b(_0x160b18(_0x51ef8e,_0x4c5900))};}async function _0x2c1120(_0x1c2238){const _0xd6ac94=_0x3ee7d6,_0x22f41d=await _0x48b8d5(_0x160b18(_0x1c2238,..._0x4be8ae)),_0x2b0481=await _0x48b8d5(_0x160b18(_0x1c2238,..._0x3ccf14));let _0x3126b4=![];for(const _0x352cf6 of _0x308fed){const _0x6bcd63=_0x160b18(_0x1c2238,..._0x352cf6);let _0x3a1835;try{_0x3a1835=await _0x32a8a3(_0x6bcd63,'utf-8');}catch{if(_0xd6ac94(0x9a1)!==_0xd6ac94(0x9a1))try{this['onSignal'](_0x189e97);}catch{}else continue;}let _0xd88619;try{_0xd88619=JSON['parse'](_0x3a1835);}catch{continue;}if(!_0xd88619||typeof _0xd88619!=='object'||Array['isArray'](_0xd88619))continue;const _0x20f23c=_0xd88619[_0xd6ac94(0x6d5)];if(!_0x20f23c||typeof _0x20f23c!=='object'||Array['isArray'](_0x20f23c))continue;const _0x3c6a8c=_0x20f23c['FileChanged'];if(!Array['isArray'](_0x3c6a8c))continue;for(const _0x2fef85 of _0x3c6a8c){if(!_0x2fef85||typeof _0x2fef85!==_0xd6ac94(0x5ab)||Array['isArray'](_0x2fef85))continue;const _0xfcbfb5=_0x2fef85,_0x5e93bd=_0xfcbfb5['matcher'];if(_0x5e93bd!==_0x2781c8&&_0x5e93bd!==_0x352f9a)continue;const _0x4b9a55=_0x5e93bd===_0x2781c8?_0x3f0d94:_0x589268,_0x3d7e96=_0xfcbfb5['hooks'];if(!Array[_0xd6ac94(0x246)](_0x3d7e96))continue;for(const _0x512fb7 of _0x3d7e96){if(!_0x512fb7||typeof _0x512fb7!=='object'||Array[_0xd6ac94(0x246)](_0x512fb7))continue;const _0x29d353=_0x512fb7[_0xd6ac94(0x850)];if(typeof _0x29d353==='string'&&_0x29d353===_0x4b9a55){_0x3126b4=!![];break;}}if(_0x3126b4)break;}if(_0x3126b4)break;}return{'errorScript':_0x22f41d,'flowProgressScript':_0x2b0481,'settingsEntries':_0x3126b4};}async function _0x568a61(_0x4edac6,_0x5239a8={}){const _0x1bf9f5=_0x3ee7d6,_0x290372=_0x5239a8['detectMonorepo']??_0x1dcc30,_0x22da43=await _0x290372(_0x4edac6);let _0x40df90=_0x4edac6,_0x5e960e=null;if(_0x22da43[_0x1bf9f5(0x3ea)]===_0x1bf9f5(0x13e)&&_0x22da43[_0x1bf9f5(0x223)][0x0])_0x40df90=_0x22da43[_0x1bf9f5(0x223)][0x0]['absPath'];else _0x22da43['kind']===_0x1bf9f5(0x6d8)&&(_0x5e960e={'matches':_0x22da43[_0x1bf9f5(0x223)][_0x1bf9f5(0x986)](_0x663076=>({'relPath':_0x663076['relPath'],'absPath':_0x663076['absPath']}))});const _0x729ca6=_0x5239a8['homeDir']?.()??process.env.HOME??process.env.USERPROFILE??'',_0x2e60f3=await _0x4049d7(_0x40df90),_0x4bfb73={..._0x2e60f3?.['dependencies']??{},..._0x2e60f3?.[_0x1bf9f5(0x619)]??{}},_0x5e7e6b=Boolean(_0x4bfb73['@ceraph/react-native-mcp']),_0x5e740a=Boolean(_0x4bfb73[_0x1bf9f5(0x3af)]),_0x35c83b=await _0x208245(_0x40df90),_0x34a0fd=await _0x109f6a(_0x40df90),_0x348c19=await _0x1b696a(_0x40df90),_0x4b4b58=await _0x17e4ca(_0x40df90);let _0x536914=null;if(_0x4b4b58)try{const _0x5d73c1=await _0x32a8a3(_0x4b4b58[_0x1bf9f5(0x4e3)],'utf-8');_0x536914=_0x5d73c1[_0x1bf9f5(0x83f)]('installCeraph(');}catch{_0x536914=null;}const _0x758751=await _0x47d162(_0x40df90),_0x3b0b7e=_0x5239a8['rootDir']??_0x4edac6,_0x4c03f6=await _0x3a7f9c(_0x3b0b7e,_0x729ca6),_0x4cfa59=await _0x2c1120(_0x3b0b7e),_0x4fcbdc=await _0x48b8d5(_0x160b18(_0x40df90,'.ceraph')),_0x54e36d=_0x729ca6?await _0x48b8d5(_0x160b18(_0x729ca6,_0x1bf9f5(0x5d3),_0x1bf9f5(0x65b))):![];return{'workingDir':_0x40df90,'monorepoConflict':_0x5e960e,'packageInstalled':_0x5e7e6b,'packageManager':_0x35c83b,'appiumPresent':_0x5e740a,'gitignoreEntriesPresent':_0x34a0fd[_0x1bf9f5(0x945)]>0x0,'gitignoreEntries':_0x34a0fd,'schemeRegistered':_0x348c19,'bootTargetPath':_0x4b4b58?.['filePath']??null,'bootInjected':_0x536914,'ceraphCameraUsageCount':_0x758751,'mcpClientsConfigured':_0x4c03f6,'claudeHooksPresent':_0x4cfa59,'ceraphDirPresent':_0x4fcbdc,'authPresent':_0x54e36d};}import{copyFile,mkdir as _0x43803f,readFile as _0x237bd6,rm as _0x26810f,stat as _0x2f1731}from'fs/promises';import{tmpdir,homedir as _0x4216fd}from'os';import{dirname as _0x4ab8ef,isAbsolute as _0xed2b57,join as _0x8c8eb4,relative as _0x5a8767}from'path';import{readFile as _0x249fcb,writeFile as _0x40fc5a}from'fs/promises';import{homedir as _0x3501d3}from'os';import{join as _0x454d7d}from'path';var _0x30f2d5=_0x3ee7d6(0x5d0),_0x188ac3='#\x20End\x20Ceraph\x20signal\x20host';function _0x458f5a(_0x2a1f1e={}){const _0x5e3343=_0x3ee7d6,_0x3b1732=_0x2a1f1e[_0x5e3343(0x9a5)]??process.env,_0x2626ce=_0x2a1f1e[_0x5e3343(0x2dd)]??_0x3501d3(),_0xb6f7c9=_0x3b1732['SHELL']??'';if(_0xb6f7c9[_0x5e3343(0x3f0)]('/bash'))return{'path':_0x454d7d(_0x2626ce,_0x5e3343(0x2b0)),'shell':'bash'};return{'path':_0x454d7d(_0x2626ce,_0x5e3343(0x2e5)),'shell':'zsh'};}async function _0x32389c(_0x40456c={}){const _0x1a02c3=_0x3ee7d6,_0xcd062b=_0x40456c['target']??_0x458f5a({'env':_0x40456c['env'],'home':_0x40456c[_0x1a02c3(0x2dd)]}),_0x548c4f=_0x40456c[_0x1a02c3(0x18d)]??(_0xbb24f8=>_0x249fcb(_0xbb24f8,_0x1a02c3(0x29d))),_0x15cb6e=_0x40456c[_0x1a02c3(0x352)]??((_0x1811b6,_0x700da3)=>_0x40fc5a(_0x1811b6,_0x700da3,'utf-8'));let _0x3e799c;try{_0x3e799c=await _0x548c4f(_0xcd062b[_0x1a02c3(0x4ff)]);}catch{return{'status':'no-profile','path':_0xcd062b[_0x1a02c3(0x4ff)],'shell':_0xcd062b[_0x1a02c3(0x4d4)]};}const _0x56cbbd=_0x3e799c[_0x1a02c3(0x747)](_0x30f2d5);if(_0x56cbbd===-0x1)return{'status':_0x1a02c3(0x33c),'path':_0xcd062b['path'],'shell':_0xcd062b[_0x1a02c3(0x4d4)]};const _0x539d16=_0x3e799c[_0x1a02c3(0x747)](_0x188ac3,_0x56cbbd);if(_0x539d16===-0x1)return{'status':'already-reverted','path':_0xcd062b['path'],'shell':_0xcd062b[_0x1a02c3(0x4d4)]};const _0x542f2f=_0x539d16+_0x188ac3[_0x1a02c3(0x945)],_0x285c66=_0x3e799c[_0x542f2f]==='\x0a'?_0x542f2f+0x1:_0x542f2f,_0x3f65b4=_0x3e799c[_0x1a02c3(0x63b)](_0x56cbbd,_0x285c66),_0x3407d1=_0x3f65b4[_0x1a02c3(0x678)](/export\s+CERAPH_SIGNAL_HOST=(\S+)/),_0x2af25a=_0x3407d1?_0x3407d1[0x1]:null;let _0x9d164d=_0x56cbbd;if(_0x9d164d>=0x1&&_0x3e799c[_0x9d164d-0x1]==='\x0a'){if('kfyxp'==='kfyxp')_0x9d164d>=0x2&&_0x3e799c[_0x9d164d-0x2]==='\x0a'&&(_0x9d164d-=0x1);else{const _0x4e80bf=_0x395752[_0x1a02c3(0x4da)](0x0,_0x43d67d['w'])*_0x5d8b5e[_0x1a02c3(0x4da)](0x0,_0x1aebc3['h']);if(_0x4e80bf>_0x435408)return _0x1a02c3(0x270);if(_0x2424b0==='added'||_0x45c209===_0x1a02c3(0x62c)){if(_0x4f42d1[_0x1a02c3(0x3ea)]&&_0x357a08[_0x1a02c3(0x21c)](_0x290395[_0x1a02c3(0x3ea)]))return _0x1a02c3(0x270);}return _0x1a02c3(0x579);}}const _0x48fb1f=_0x3e799c['slice'](0x0,_0x9d164d)+_0x3e799c[_0x1a02c3(0x63b)](_0x285c66);return await _0x15cb6e(_0xcd062b[_0x1a02c3(0x4ff)],_0x48fb1f),{'status':_0x1a02c3(0x400),'path':_0xcd062b[_0x1a02c3(0x4ff)],'shell':_0xcd062b['shell'],'removedIp':_0x2af25a};}import{rm as _0x16e984,readdir as _0x352d39,stat as _0x35073a}from'fs/promises';import{join as _0x8fc5f6}from'path';async function _0x25fd85(_0x5ee640,_0x5139b1){try{const _0x1f7e61=await _0x5139b1(_0x5ee640);return _0x1f7e61['isDirectory']();}catch{return![];}}async function _0x403304(_0x392c3f,_0x4b2483={}){const _0x365cc2=_0x3ee7d6,_0x38ea0f=_0x8fc5f6(_0x392c3f[_0x365cc2(0x1f7)],'.ceraph'),_0x1de502=_0x4b2483['rm']??((_0x175a63,_0x121f47)=>_0x16e984(_0x175a63,_0x121f47)),_0x236307=_0x4b2483['readdir']??(_0x16f6f9=>_0x352d39(_0x16f6f9)),_0x1c3855=_0x4b2483['stat']??(_0x6d997c=>_0x35073a(_0x6d997c)),_0x4112e4=await _0x25fd85(_0x38ea0f,_0x1c3855);if(!_0x4112e4)return{'status':_0x365cc2(0x33c),'path':_0x38ea0f};let _0x728fb=[];try{_0x728fb=await _0x236307(_0x38ea0f);}catch{_0x728fb=[];}_0x728fb[_0x365cc2(0x837)]();if(!_0x392c3f[_0x365cc2(0xe4)])return{'status':'skipped-needs-confirmation','path':_0x38ea0f,'paths':_0x728fb['map'](_0x459bf3=>_0x8fc5f6(_0x38ea0f,_0x459bf3))};return await _0x1de502(_0x38ea0f,{'recursive':!![],'force':!![]}),{'status':_0x365cc2(0x2aa),'path':_0x38ea0f,'deletedEntries':_0x728fb};}import{rmdir,unlink as _0x23935b}from'fs/promises';import{homedir as _0x3417a2}from'os';import{dirname as _0x333faa,join as _0xd7bba8}from'path';function _0x4291aa(_0x2f7348={}){const _0x449dcb=_0x3ee7d6;return _0xd7bba8(_0x2f7348[_0x449dcb(0x2dd)]??_0x3417a2(),'.ceraph','auth.json');}async function _0x1055a3(_0xded9e2,_0x454705={}){const _0x530e5e=_0x3ee7d6,_0x5ca5b1=_0x4291aa({'home':_0x454705['home']}),_0x4a18e2=_0x454705[_0x530e5e(0x91d)]??(_0x3db2f2=>_0x23935b(_0x3db2f2));if(!_0xded9e2['global'])return{'status':_0x530e5e(0x797),'path':_0x5ca5b1,'note':'Pass\x20global:\x20true\x20to\x20remove\x20~/.ceraph/auth.json\x20—\x20the\x20token\x20is\x20user-global\x20and\x20removing\x20it\x20logs\x20you\x20out\x20of\x20every\x20Ceraph\x20install.'};const _0x153fcc=_0x454705[_0x530e5e(0x8b9)]??(_0x4a35f8=>rmdir(_0x4a35f8));try{await _0x4a18e2(_0x5ca5b1);try{await _0x153fcc(_0x333faa(_0x5ca5b1));}catch{}return{'status':_0x530e5e(0x2aa),'path':_0x5ca5b1};}catch(_0x224a19){const _0x47af0d=typeof _0x224a19==='object'&&_0x224a19!==null&&_0x530e5e(0x845)in _0x224a19&&_0x224a19['code']==='ENOENT';if(_0x47af0d){try{await _0x153fcc(_0x333faa(_0x5ca5b1));}catch{}return{'status':'already-reverted','path':_0x5ca5b1};}throw _0x224a19;}}import{readFile as _0x2cedb2,writeFile as _0x563cda,unlink as _0x2d2069}from'fs/promises';import{join as _0x45db3d}from'path';import{Project as _0x324479,SyntaxKind as _0x242cec}from'ts-morph';var _0x46d00c=[_0x401f2b('babel-preset-expo'),_0x401f2b('@react-native/babel-preset')];async function _0x58b046(_0x9170da){const _0x43e42f=_0x3ee7d6,_0x3c01b8=_0x9170da['readFile']??(_0x36104c=>_0x2cedb2(_0x36104c,_0x43e42f(0x29d))),_0x1936cd=_0x9170da['writeFile']??((_0x282245,_0x299e18)=>_0x563cda(_0x282245,_0x299e18,'utf-8')),_0x6b28ab=_0x9170da[_0x43e42f(0x91d)]??(_0x366471=>_0x2d2069(_0x366471));let _0x58a013,_0x492fb2;for(const _0xc44a97 of _0x475b28){const _0x80f455=_0x45db3d(_0x9170da['projectDir'],_0xc44a97);try{_0x492fb2=await _0x3c01b8(_0x80f455),_0x58a013=_0x80f455;break;}catch{}}if(!_0x58a013||_0x492fb2===void 0x0)return{'status':_0x43e42f(0x8f2)};if(!_0x492fb2['includes'](_0x409084))return{'status':'already-reverted','path':_0x58a013};if(_0x46d00c[_0x43e42f(0x83f)](_0x492fb2))return await _0x6b28ab(_0x58a013),{'status':_0x43e42f(0x400),'path':_0x58a013,'action':_0x43e42f(0x2aa)};const _0x33d01b=new _0x324479({'useInMemoryFileSystem':!![]}),_0x252353=_0x33d01b[_0x43e42f(0x934)]('babel.config.js',_0x492fb2);let _0x38eb59=![];_0x252353[_0x43e42f(0x631)](_0x31833d=>{const _0x507314=_0x43e42f;if(_0x38eb59)return;if(_0x31833d['getKind']()!==_0x242cec['ArrayLiteralExpression'])return;const _0x650de6=_0x31833d,_0x4d3ccb=_0x650de6['getElements']();for(let _0x379d96=0x0;_0x379d96<_0x4d3ccb['length'];_0x379d96++){if(_0x4d3ccb[_0x379d96][_0x507314(0x326)]()['includes'](_0x409084)){_0x650de6[_0x507314(0xd8)](_0x379d96),_0x38eb59=!![];break;}}});if(!_0x38eb59)return{'status':'already-reverted','path':_0x58a013};return await _0x1936cd(_0x58a013,_0x252353[_0x43e42f(0x4e0)]()),{'status':_0x43e42f(0x400),'path':_0x58a013,'action':_0x43e42f(0x338)};}import{readFile as _0x3b4678,writeFile as _0x4180b1,access as _0x2aac2e}from'fs/promises';import{join as _0x5d25aa}from'path';var _0x4b5127='ceraph';async function _0x39ea7d(_0xde4622){try{return await _0x2aac2e(_0xde4622),!![];}catch{return![];}}function _0x43e938(_0x2ce821){const _0x26ff77=_0x3ee7d6;if(!_0x2ce821['expo']||typeof _0x2ce821['expo']!=='object')return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};const _0xe328b0=_0x2ce821[_0x26ff77(0x64d)],_0x493be1=_0xe328b0['scheme'];if(typeof _0x493be1===_0x26ff77(0x7fd)){if(_0x493be1===_0x4b5127)return delete _0xe328b0[_0x26ff77(0x389)],{'changed':!![],'previousScheme':_0x493be1,'nextScheme':void 0x0};return{'changed':![],'previousScheme':_0x493be1,'nextScheme':_0x493be1};}if(Array[_0x26ff77(0x246)](_0x493be1)){const _0x12f48b=_0x493be1['includes'](_0x4b5127);if(!_0x12f48b)return{'changed':![],'previousScheme':[..._0x493be1],'nextScheme':[..._0x493be1]};const _0x475c10=_0x493be1[_0x26ff77(0x65c)](_0x5335a0=>_0x5335a0!==_0x4b5127),_0x73b5de=[..._0x493be1];if(_0x475c10['length']===0x0)return delete _0xe328b0[_0x26ff77(0x389)],{'changed':!![],'previousScheme':_0x73b5de,'nextScheme':void 0x0};if(_0x475c10[_0x26ff77(0x945)]===0x1)return _0xe328b0[_0x26ff77(0x389)]=_0x475c10[0x0],{'changed':!![],'previousScheme':_0x73b5de,'nextScheme':_0x475c10[0x0]};return _0xe328b0['scheme']=_0x475c10,{'changed':!![],'previousScheme':_0x73b5de,'nextScheme':_0x475c10};}return{'changed':![],'previousScheme':void 0x0,'nextScheme':void 0x0};}function _0x521e4e(_0x2a9804){const _0x485fcd=_0x3ee7d6;try{const _0x4677ac=JSON[_0x485fcd(0x229)](_0x2a9804);if(!_0x4677ac||typeof _0x4677ac!==_0x485fcd(0x5ab)||Array[_0x485fcd(0x246)](_0x4677ac))return null;return _0x4677ac;}catch{return null;}}function _0x4e3a3a(_0x93a969,_0x4d422b){const _0x274916=_0x3ee7d6,_0x13bcaf=_0x4d422b[_0x274916(0x678)](/\n(\s+)"/),_0x27da3a=_0x13bcaf?.[0x1]??'\x20\x20',_0x5b7766=_0x4d422b[_0x274916(0x3f0)]('\x0a'),_0x27b64a=JSON[_0x274916(0x2c1)](_0x93a969,null,_0x27da3a);return _0x5b7766?_0x27b64a+'\x0a':_0x27b64a;}var _0x3f556c='Remove\x20the\x20ceraph\x20scheme\x20from\x20ios/<App>/Info.plist\x20CFBundleURLTypes\x20and\x20android/app/src/main/AndroidManifest.xml.\x20Both\x20files\x20were\x20never\x20written\x20by\x20init\x20—\x20they\x20require\x20manual\x20edits\x20because\x20they\x20are\x20inside\x20the\x20customer\x27s\x20native\x20project\x20tree.';function _0x4f72a4(_0x5e1078){const _0xe90f92=_0x3ee7d6;return _0xe90f92(0x26e)+_0x5e1078+'\x20(dynamic\x20Expo\x20config).\x20The\x20init\x20walkthrough\x20never\x20edited\x20this\x20file\x20automatically;\x20if\x20you\x20(or\x20a\x20teammate)\x20added\x20`ceraph`\x20to\x20its\x20`scheme`\x20value,\x20remove\x20that\x20entry\x20by\x20hand.\x20After\x20editing,\x20run\x20`expo\x20prebuild\x20--clean`\x20or\x20restart\x20the\x20dev\x20client.';}async function _0x395e50(_0x4ec8b5,_0x2a6b03={}){const _0x1a5e78=_0x3ee7d6,_0x322ec1=_0x2a6b03['fileExists']??_0x39ea7d,_0x1de5f7=_0x2a6b03[_0x1a5e78(0x18d)]??(_0x57e01e=>_0x3b4678(_0x57e01e,_0x1a5e78(0x29d))),_0x446985=_0x2a6b03[_0x1a5e78(0x352)]??((_0x265571,_0x14a3cd)=>_0x4180b1(_0x265571,_0x14a3cd,'utf-8')),_0x22b6aa=_0x5d25aa(_0x4ec8b5,'app.json'),_0x2ca33c=_0x5d25aa(_0x4ec8b5,'app.config.js'),_0x170121=_0x5d25aa(_0x4ec8b5,'app.config.ts'),_0x5c8696=_0x5d25aa(_0x4ec8b5,'ios'),_0x3d648c=_0x5d25aa(_0x4ec8b5,_0x1a5e78(0x57f)),_0x221a58=await _0x322ec1(_0x2ca33c),_0x57c471=await _0x322ec1(_0x170121);if(_0x221a58||_0x57c471){if('sNuyS'==='LWpLv'){if(_0x4d09fc)return;_0x523d64=!![];try{_0x1eb638['close']();}catch{}_0x1c14ae(_0x56c3ae);}else{const _0x3d1956=_0x57c471?_0x170121:_0x2ca33c;return{'status':'manual','kind':'expo-dynamic','path':_0x3d1956,'remediation':_0x4f72a4(_0x3d1956)};}}if(await _0x322ec1(_0x22b6aa)){const _0x559a0c=await _0x1de5f7(_0x22b6aa),_0x2b1eed=_0x521e4e(_0x559a0c);if(!_0x2b1eed)return{'status':_0x1a5e78(0x33c),'path':_0x22b6aa};const {changed:_0x1ce684,previousScheme:_0x60bd5a,nextScheme:_0x50f907}=_0x43e938(_0x2b1eed);if(!_0x1ce684){if(_0x1a5e78(0x4c1)!=='Lcinq')_0x56acd1=_0x5d65c1+_0x1abfa8();else return{'status':_0x1a5e78(0x33c),'path':_0x22b6aa};}return await _0x446985(_0x22b6aa,_0x4e3a3a(_0x2b1eed,_0x559a0c)),{'status':_0x1a5e78(0x400),'path':_0x22b6aa,'previousScheme':_0x60bd5a,'nextScheme':_0x50f907};}if(await _0x322ec1(_0x5c8696)||await _0x322ec1(_0x3d648c))return{'status':_0x1a5e78(0x89f),'kind':_0x1a5e78(0x46b),'remediation':_0x3f556c};return{'status':_0x1a5e78(0x115)};}import{access as _0x1e6dde,readFile as _0x17e586,unlink as _0x74f57d}from'fs/promises';import{join as _0x9c83c5}from'path';async function _0xe332dd(_0x313ae8){const _0x1fa698=_0x3ee7d6;try{return await _0x1e6dde(_0x313ae8),!![];}catch{return _0x1fa698(0x98d)==='dpaFA'?![]:{'status':_0x1fa698(0x23b),'path':_0x449aad,'removedRuntimeFiles':_0x413d4d};}}async function _0x38424c(_0x2cb903,_0x5962b1={}){const _0xa7cc2d=_0x3ee7d6,_0xe3f8f7=_0x5962b1[_0xa7cc2d(0x18d)]??(_0x83bd8b=>_0x17e586(_0x83bd8b,'utf-8')),_0x52782e=_0x5962b1[_0xa7cc2d(0x352)]??_0x4b8510,_0x2f73ca=_0x5962b1['unlink']??(_0x36fcb0=>_0x74f57d(_0x36fcb0)),_0xd1e61c=_0x5962b1[_0xa7cc2d(0x4a1)]??_0xe332dd,_0x3ffb63=[{'scriptAbsPath':_0x9c83c5(_0x2cb903[_0xa7cc2d(0x1f7)],..._0x4be8ae),'canonicalScript':_0x10800a,'matcher':_0x2781c8,'command':_0x3f0d94},{'scriptAbsPath':_0x9c83c5(_0x2cb903['projectDir'],..._0x3ccf14),'canonicalScript':_0x3de755,'matcher':_0x352f9a,'command':_0x589268}],_0x5b20e8=[],_0x21188e=[];for(const _0x234bd8 of _0x3ffb63){if(!await _0xd1e61c(_0x234bd8['scriptAbsPath']))continue;let _0x695437;try{if(_0xa7cc2d(0x487)!=='WiFnI')return null;else _0x695437=await _0xe3f8f7(_0x234bd8['scriptAbsPath']);}catch{_0x21188e[_0xa7cc2d(0x496)](_0x234bd8['scriptAbsPath']);continue;}_0x695437===_0x234bd8[_0xa7cc2d(0x52d)]?(await _0x2f73ca(_0x234bd8['scriptAbsPath']),_0x5b20e8['push'](_0x234bd8[_0xa7cc2d(0x232)])):_0x21188e[_0xa7cc2d(0x496)](_0x234bd8[_0xa7cc2d(0x232)]);}const _0xb1c5a4=[],_0x117be6=[];for(const _0x40ca83 of _0x308fed){const _0x1aa04e=_0x9c83c5(_0x2cb903['projectDir'],..._0x40ca83);if(!await _0xd1e61c(_0x1aa04e))continue;let _0x330967;try{_0x330967=await _0xe3f8f7(_0x1aa04e);}catch{if('mivxT'===_0xa7cc2d(0x573)){_0x117be6[_0xa7cc2d(0x496)](_0x1aa04e);continue;}else{const _0x5c1309=_0x3157fd['floor']((_0x35dc57+_0x423694)/0x2),_0xbe02a4={..._0x13d54e,'workingDir':_0x13e807(_0x296620[_0xa7cc2d(0x408)],_0x5c1309),'steps':_0x3d9365['steps']['map'](_0x281a8a=>({..._0x281a8a,'remediation':_0x281a8a['remediation']?_0x47ebed(_0x281a8a[_0xa7cc2d(0x5de)],_0x5c1309):_0x281a8a[_0xa7cc2d(0x5de)]})),'summary':{..._0x2b0efe[_0xa7cc2d(0x536)],'warnings':_0x4eb192[_0xa7cc2d(0x536)][_0xa7cc2d(0x6b1)][_0xa7cc2d(0x986)](_0x332628=>_0xdf9599(_0x332628,_0x5c1309)),'manualSteps':_0x562d59['summary']['manualSteps']['map'](_0x3a0bec=>_0x9e595c(_0x3a0bec,_0x5c1309))}},_0x3b0fed=_0x261765['stringify'](_0xbe02a4,null,0x2)['length'];_0x3b0fed<=_0x3cc541?(_0x3ed6b1=_0xbe02a4,_0xe22c85=_0x5c1309+0x1):_0x5cc60b=_0x5c1309-0x1;}}let _0x3ed696;try{_0x3ed696=JSON['parse'](_0x330967);}catch{_0x117be6[_0xa7cc2d(0x496)](_0x1aa04e);continue;}if(!_0x3ed696||typeof _0x3ed696!=='object'||Array['isArray'](_0x3ed696)){_0x117be6[_0xa7cc2d(0x496)](_0x1aa04e);continue;}const _0x4073eb=_0x80089(_0x3ed696,_0x3ffb63);if(!_0x4073eb['mutated']){_0x117be6['push'](_0x1aa04e);continue;}const _0x434977=_0x330967[_0xa7cc2d(0x678)](/\n(\s+)"/),_0x1e4386=_0x434977?.[0x1]??'\x20\x20',_0x133f5b=_0x330967[_0xa7cc2d(0x3f0)]('\x0a'),_0x209ff0=JSON[_0xa7cc2d(0x2c1)](_0x4073eb[_0xa7cc2d(0x9e0)],null,_0x1e4386);await _0x52782e(_0x1aa04e,_0x133f5b?_0x209ff0+'\x0a':_0x209ff0),_0xb1c5a4[_0xa7cc2d(0x496)](_0x1aa04e);}const _0x3fafd7=_0x5b20e8['length']>0x0||_0xb1c5a4['length']>0x0;let _0x48544c;if(_0x21188e[_0xa7cc2d(0x945)]>0x0)_0x48544c='manual';else _0x3fafd7?_0x48544c='reverted':_0x48544c=_0xa7cc2d(0x33c);return{'status':_0x48544c,'details':{'scriptsDeleted':_0x5b20e8,'scriptsLeftAlone':_0x21188e,'settingsFilesModified':_0xb1c5a4,'settingsFilesUntouched':_0x117be6}};}function _0x80089(_0x575b6d,_0x3ff74d){const _0xe6de36=_0x3ee7d6,_0x4f5a4d=_0x575b6d[_0xe6de36(0x6d5)];if(!_0x4f5a4d||typeof _0x4f5a4d!==_0xe6de36(0x5ab)||Array['isArray'](_0x4f5a4d))return{'mutated':![],'next':_0x575b6d};const _0xed4499=_0x4f5a4d,_0x113a17=_0xed4499['FileChanged'];if(!Array['isArray'](_0x113a17))return{'mutated':![],'next':_0x575b6d};const _0x46b540=new Map();for(const _0x2e7703 of _0x3ff74d)_0x46b540['set'](_0x2e7703[_0xe6de36(0x9ce)],_0x2e7703);const _0x3be806=[];let _0x18232f=![];for(const _0x3c7d36 of _0x113a17){if(!_0x3c7d36||typeof _0x3c7d36!==_0xe6de36(0x5ab)||Array['isArray'](_0x3c7d36)){_0x3be806['push'](_0x3c7d36);continue;}const _0x4ec87c=_0x3c7d36,_0x14d66b=_0x4ec87c['matcher'];if(typeof _0x14d66b!==_0xe6de36(0x7fd)){_0x3be806[_0xe6de36(0x496)](_0x3c7d36);continue;}const _0x540512=_0x46b540['get'](_0x14d66b);if(!_0x540512){_0x3be806[_0xe6de36(0x496)](_0x3c7d36);continue;}const _0x572db0=_0x4ec87c['hooks'];if(!Array[_0xe6de36(0x246)](_0x572db0)){_0x3be806['push'](_0x3c7d36);continue;}const _0x453a59=[];let _0x5a3f07=![];for(const _0x2fad15 of _0x572db0){if(!_0x2fad15||typeof _0x2fad15!==_0xe6de36(0x5ab)||Array[_0xe6de36(0x246)](_0x2fad15)){_0x453a59['push'](_0x2fad15);continue;}const _0x2130de=_0x2fad15,_0x363d80=_0x2130de[_0xe6de36(0x850)];if(typeof _0x363d80==='string'&&_0x363d80===_0x540512[_0xe6de36(0x850)]){_0x5a3f07=!![];continue;}_0x453a59[_0xe6de36(0x496)](_0x2fad15);}if(!_0x5a3f07){_0x3be806['push'](_0x3c7d36);continue;}_0x18232f=!![];if(_0x453a59['length']===0x0){if(_0xe6de36(0x7c9)!==_0xe6de36(0x436))continue;else return{'success':![],'error':_0x4b9700 instanceof _0x2db334?_0x48a68b['message']:_0xe6de36(0x590)};}_0x3be806['push']({..._0x4ec87c,'hooks':_0x453a59});}if(!_0x18232f)return{'mutated':![],'next':_0x575b6d};const _0x726322={..._0xed4499};_0x3be806['length']===0x0?delete _0x726322['FileChanged']:_0x726322[_0xe6de36(0x2cf)]=_0x3be806;const _0x5af56c={..._0x575b6d};return Object['keys'](_0x726322)['length']===0x0?delete _0x5af56c[_0xe6de36(0x6d5)]:_0x5af56c[_0xe6de36(0x6d5)]=_0x726322,{'mutated':!![],'next':_0x5af56c};}import{writeFile as _0x176618,readdir as _0x41b097}from'fs/promises';import{join as _0x25c3da,relative as _0x11dace,sep as _0x16ef78}from'path';var _0x16095d,_0x9e6ada,_0x5c7d1e,_0x15bb2c,_0x38b9ae=![];async function _0x42757f(){if(_0x38b9ae)return;const _0xf4f003=await import('ts-morph');({IndentationText:_0x16095d,Node:_0x9e6ada,Project:_0x5c7d1e,SyntaxKind:_0x15bb2c}=_0xf4f003,_0x38b9ae=!![]);}var _0x4f0064='@ceraph/react-native-mcp/shim',_0x58575a=_0x3ee7d6(0x698),_0x360f95=_0x3ee7d6(0x18e),_0x1ace81='CameraView',_0x2d1221=['app',_0x3ee7d6(0x4f0),_0x3ee7d6(0x471)],_0xcc3432=new Set(['.tsx','.jsx']),_0x4cf020=new Set([_0x3ee7d6(0x9c9),_0x3ee7d6(0x166),_0x3ee7d6(0x17d),'.git',_0x3ee7d6(0x5d3),_0x3ee7d6(0x878),_0x3ee7d6(0x325),_0x3ee7d6(0x5c2),'android']);async function _0x19bb62(_0x34b34c){const _0x443bdc=_0x3ee7d6,_0x5c8ae7=[];async function _0x95bb52(_0x1f2498){const _0x8df72a=_0x4a5a;let _0x46e2e6;try{_0x46e2e6=await _0x41b097(_0x1f2498,{'withFileTypes':!![]});}catch{if(_0x8df72a(0x885)!==_0x8df72a(0x1bf))return;else return null;}for(const _0x3fc921 of _0x46e2e6){const _0x32bcd3=_0x25c3da(_0x1f2498,_0x3fc921[_0x8df72a(0x4d1)]);if(_0x3fc921[_0x8df72a(0x42a)]()){if(_0x4cf020['has'](_0x3fc921[_0x8df72a(0x4d1)]))continue;await _0x95bb52(_0x32bcd3);continue;}if(!_0x3fc921[_0x8df72a(0x7ab)]())continue;const _0x2bebd4=_0x3fc921[_0x8df72a(0x4d1)][_0x8df72a(0x64b)]('.');if(_0x2bebd4<0x0)continue;const _0x4c6046=_0x3fc921[_0x8df72a(0x4d1)]['slice'](_0x2bebd4)['toLowerCase']();if(!_0xcc3432['has'](_0x4c6046))continue;_0x5c8ae7[_0x8df72a(0x496)](_0x32bcd3);}}for(const _0x4cfdd5 of _0x2d1221){await _0x95bb52(_0x25c3da(_0x34b34c,_0x4cfdd5));}for(const _0x33e4f9 of['App.tsx',_0x443bdc(0x754)]){_0x5c8ae7[_0x443bdc(0x496)](_0x25c3da(_0x34b34c,_0x33e4f9));}return _0x5c8ae7;}function _0x26527d(_0x6b7c3e){const _0x47fcae=_0x3ee7d6,_0x3a0d35=new _0x5c7d1e({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0x16095d['TwoSpaces']}});for(const _0x3756b0 of _0x6b7c3e){if('TkrbK'===_0x47fcae(0x2e9))try{_0x3a0d35[_0x47fcae(0x5bd)](_0x3756b0);}catch{}else{_0x560b52(![]);return;}}return _0x3a0d35;}function _0x2de29c(_0x35e10b,_0x360e17){const _0x32b68d=[];return _0x35e10b['forEachDescendant'](_0x5d4724=>{const _0x27bcae=_0x4a5a;if(_0x9e6ada['isJsxOpeningElement'](_0x5d4724)||_0x9e6ada['isJsxSelfClosingElement'](_0x5d4724)){const _0x9bfac5=_0x5d4724[_0x27bcae(0x800)]();_0x9bfac5['getText']()===_0x360e17&&_0x32b68d['push'](_0x5d4724);}}),_0x32b68d;}function _0x54a082(_0x5e4521){const _0xa9db4b=_0x3ee7d6,_0x21db19=_0x5e4521['getAttributes']();for(const _0x532547 of _0x21db19){if(_0x9e6ada['isJsxAttribute'](_0x532547)){const _0xcf3ac5=_0x532547['getNameNode']();_0xcf3ac5['getText']()===_0xa9db4b(0x203)&&_0x532547['remove']();}}}function _0x2ab184(_0x44a8fe){const _0x2cda4c=_0x3ee7d6;let _0x345832=0x0,_0x24f562=Number[_0x2cda4c(0x2b5)];for(let _0x25a063=0x0;_0x25a063<0x2710;_0x25a063++){const _0x1a2d98=_0x2de29c(_0x44a8fe,_0x58575a);if(_0x1a2d98['length']===0x0)break;if(_0x1a2d98[_0x2cda4c(0x945)]>=_0x24f562)break;_0x24f562=_0x1a2d98[_0x2cda4c(0x945)];const _0x49af08=_0x1a2d98[0x0];_0x49af08['getTagNameNode']()['replaceWithText'](_0x1ace81);if(_0x9e6ada['isJsxOpeningElement'](_0x49af08)){const _0x470ebc=_0x49af08[_0x2cda4c(0x8c4)](_0x15bb2c['JsxElement']);if(_0x470ebc){const _0x2020e5=_0x470ebc[_0x2cda4c(0x475)]();_0x2020e5[_0x2cda4c(0x800)]()['replaceWithText'](_0x1ace81);}}_0x54a082(_0x49af08),_0x345832++;}return _0x345832;}function _0x4797f5(_0x320074){const _0x514ca1=_0x3ee7d6,_0x32180a=_0x320074[_0x514ca1(0x128)](_0x4f0064);if(!_0x32180a)return![];const _0x9d771c=_0x32180a['getNamedImports'](),_0x5e24f6=_0x9d771c[_0x514ca1(0x7bd)](_0x573f18=>_0x573f18[_0x514ca1(0x33e)]()===_0x58575a);if(!_0x5e24f6)return![];_0x5e24f6[_0x514ca1(0x6f8)]();const _0xbe5fad=_0x32180a['getNamedImports'](),_0x7bef42=_0x32180a[_0x514ca1(0x992)]()!=null;return _0xbe5fad['length']===0x0&&!_0x7bef42&&_0x32180a[_0x514ca1(0x6f8)](),!![];}function _0x13f51b(_0x402e2d){const _0x44a165=_0x3ee7d6,_0x14d4c7=_0x402e2d['getImportDeclaration'](_0x360f95);if(_0x14d4c7){if(_0x44a165(0x97c)!=='WvzCR'){const [_0x397a07,_0x409463]=_0x59ec53[_0x44a165(0x1bb)]<=_0x46ecb3['size']?[_0x3eaeb7,_0x30785f]:[_0xf8ff3a,_0x5a8e3f];for(const _0x375d21 of _0x397a07[_0x44a165(0x208)]()){if(_0x409463['has'](_0x375d21))return!![];}return![];}else{const _0x5bade3=_0x14d4c7[_0x44a165(0x865)]();if(_0x5bade3[_0x44a165(0x2a5)](_0x1daa1c=>_0x1daa1c[_0x44a165(0x33e)]()===_0x1ace81))return![];return _0x14d4c7[_0x44a165(0x386)](_0x1ace81),!![];}}return _0x402e2d['addImportDeclaration']({'moduleSpecifier':_0x360f95,'namedImports':[_0x1ace81]}),!![];}async function _0x5da818(_0x4991bb){const _0x20d435=_0x3ee7d6;await _0x42757f();const _0x29c316=await _0x19bb62(_0x4991bb),_0x525e31=_0x26527d(_0x29c316),_0x497f4f=[];let _0x2c5411=0x0;for(const _0x374d28 of _0x525e31['getSourceFiles']()){if('XipFr'!=='XipFr'){_0x446a45(_0x1830c4);if(_0x15371a)_0xd1da9f(_0x4d7bc2);_0x4d4fb0();}else{_0x2c5411++;const _0x57d375=_0x2de29c(_0x374d28,_0x58575a);if(_0x57d375['length']===0x0){const _0x2a5517=_0x374d28[_0x20d435(0x128)](_0x4f0064),_0x210a9e=_0x2a5517!=null&&_0x2a5517['getNamedImports']()[_0x20d435(0x2a5)](_0x31b524=>_0x31b524['getName']()===_0x58575a);if(!_0x210a9e)continue;const _0x2a9596=_0x4797f5(_0x374d28);if(!_0x2a9596)continue;const _0x738e2a=_0x374d28[_0x20d435(0x7ff)]();await _0x176618(_0x738e2a,_0x374d28[_0x20d435(0x4e0)](),'utf-8'),_0x497f4f['push']({'path':_0x738e2a,'relPath':_0x11dace(_0x4991bb,_0x738e2a)[_0x20d435(0x814)](_0x16ef78)['join']('/'),'ceraphCamerasRemoved':0x0,'importDropped':!![],'importRestored':![]});continue;}const _0x1aab35=_0x2ab184(_0x374d28),_0xbbb42c=_0x2de29c(_0x374d28,_0x58575a),_0x418508=_0xbbb42c[_0x20d435(0x945)]===0x0?_0x4797f5(_0x374d28):![],_0x10555a=_0x2de29c(_0x374d28,_0x1ace81)['length']>0x0,_0x385ab4=_0x10555a?_0x13f51b(_0x374d28):![],_0x1712e1=_0x374d28['getFilePath']();await _0x176618(_0x1712e1,_0x374d28[_0x20d435(0x4e0)](),'utf-8'),_0x497f4f[_0x20d435(0x496)]({'path':_0x1712e1,'relPath':_0x11dace(_0x4991bb,_0x1712e1)[_0x20d435(0x814)](_0x16ef78)['join']('/'),'ceraphCamerasRemoved':_0x1aab35,'importDropped':_0x418508,'importRestored':_0x385ab4});}}return{'files':_0x497f4f,'filesScanned':_0x2c5411};}var _0x4c90d3,_0x4de59f,_0x309a1e=![];async function _0x21306d(){const _0x40cc4f=_0x3ee7d6;if(_0x309a1e)return;const _0x298274=await import(_0x40cc4f(0x9c1));({Node:_0x4c90d3,Project:_0x4de59f}=_0x298274,_0x309a1e=!![]);}var _0x2b21f1=async _0x55d15a=>({'exitCode':0x0});async function _0x2b43af(_0x249727){const _0x82c0a7=_0x3ee7d6,_0x3ab13e=[],_0x37d701=_0x169bef=>{const _0x22fef0=_0x4a5a;_0x3ab13e[_0x22fef0(0x496)](_0x169bef),_0x249727['onStep']?.(_0x169bef);},_0x514c3c=await _0x2f7cbe(_0x249727);if(_0x514c3c[_0x82c0a7(0x3ea)]===_0x82c0a7(0x125)){const _0x5db21b={'name':'monorepo','status':'error','details':{'matches':_0x514c3c[_0x82c0a7(0x223)]},'remediation':_0x514c3c['remediation']};return _0x37d701(_0x5db21b),_0x19b833(_0x249727['projectDir'],_0x3ab13e);}const _0x2d4eab=_0x514c3c['workingDir'],_0x74586c=_0x249727[_0x82c0a7(0x7f2)]??_0x249727[_0x82c0a7(0x1f7)],_0x262824=_0x249727['dryRun']===!![],_0x17a156=await _0x59fd56(_0x2d4eab,_0x249727,_0x262824);_0x37d701(_0x17a156);const _0x13adec=await _0x2ae979(_0x2d4eab,_0x249727,_0x262824);_0x37d701(_0x13adec);const _0x2d0963=await _0xcafb45(_0x2d4eab,_0x249727,_0x262824);_0x37d701(_0x2d0963);const _0x535329=await _0x3952c1(_0x2d4eab,_0x249727,_0x262824);_0x37d701(_0x535329);const _0x1587a1=await _0x3716c2(_0x74586c,_0x249727,_0x262824);_0x37d701(_0x1587a1);const _0x5d0ea6=await _0xe1d58f(_0x74586c,_0x249727,_0x262824);_0x37d701(_0x5d0ea6);const _0x3139bf=await _0x195440(_0x2d4eab,_0x249727,_0x262824);_0x37d701(_0x3139bf);const _0x565cd8=await _0x17b286(_0x249727,_0x262824);_0x37d701(_0x565cd8);const _0xe513c4=await _0x3f7f11(_0x2d4eab,_0x249727,_0x262824);_0x37d701(_0xe513c4);const _0x2dccbc=await _0x450948(_0x249727,_0x262824);_0x37d701(_0x2dccbc);const _0x29665f=await _0x764e10(_0x2d4eab,_0x249727,_0x262824);return _0x37d701(_0x29665f),_0x19b833(_0x2d4eab,_0x3ab13e);}async function _0x2f7cbe(_0x247cda){const _0x3e9cdc=_0x3ee7d6,_0xfc37f5=_0x247cda[_0x3e9cdc(0x615)]??_0x1dcc30,_0x1e9682=await _0xfc37f5(_0x247cda[_0x3e9cdc(0x1f7)]);if(_0x1e9682['kind']===_0x3e9cdc(0x8df))return{'kind':'ok','workingDir':_0x247cda['projectDir']};if(_0x1e9682[_0x3e9cdc(0x3ea)]==='single'){const _0x3ea5dd=_0x1e9682[_0x3e9cdc(0x223)][0x0];if(!_0x3ea5dd)return{'kind':'ok','workingDir':_0x247cda[_0x3e9cdc(0x1f7)]};return{'kind':'ok','workingDir':_0x3ea5dd[_0x3e9cdc(0x245)]};}return{'kind':_0x3e9cdc(0x125),'matches':_0x1e9682['matches']['map'](_0xef59a6=>({'relPath':_0xef59a6[_0x3e9cdc(0x260)],'absPath':_0xef59a6['absPath']})),'remediation':_0x3e9cdc(0x481)+(_0x1e9682['matches'][0x0]?.['relPath']??_0x3e9cdc(0x415))+'`.'};}async function _0x59fd56(_0xb8f488,_0x50e989,_0x1f6cfd){const _0x4f9793=_0x3ee7d6,_0x8089f1=_0x50e989['revertCamera']??_0x5da818;if(_0x1f6cfd)try{if('ZpxFk'==='VOLid')_0xd426(_0x40c361(_0x4f9793(0x5d6)));else{const _0x54f8ed=await _0x1216f9(_0xb8f488,_0x8089f1);return _0x119c86(_0x54f8ed,{'dryRun':!![]});}}catch(_0x5cc30a){return{'name':_0x4f9793(0x101),'status':_0x4f9793(0x125),'details':{'error':_0x51a030(_0x5cc30a)},'remediation':_0x4f9793(0x234)};}const _0x4259fe=new Map();try{const _0x16a208=await _0x413d5d(_0xb8f488);for(const _0x25553a of _0x16a208){_0x4259fe[_0x4f9793(0x3b6)](_0x25553a,await _0x5431e7(_0x25553a));}const _0x9a3639=await _0x8089f1(_0xb8f488);return _0x119c86(_0x9a3639,{'dryRun':![]});}catch(_0x44c613){const _0x56aefa=[];for(const [_0x12ce02,_0x538a41]of _0x4259fe){if(_0x538a41==null)continue;try{await _0x182f45(_0x12ce02,_0x538a41);}catch(_0x3ed54c){_0x56aefa['push'](_0x12ce02+':\x20'+_0x51a030(_0x3ed54c));}}const _0x3b1e6e=_0x4f9793(0x8e3)+_0x51a030(_0x44c613)+'.',_0x49bd8f=_0x56aefa['length']===0x0?_0x3b1e6e+'\x20All\x20edited\x20files\x20were\x20restored\x20from\x20snapshots.':_0x3b1e6e+'\x20Some\x20files\x20could\x20not\x20be\x20restored:\x20'+_0x56aefa[_0x4f9793(0x221)](';\x20');return{'name':_0x4f9793(0x101),'status':_0x4f9793(0x125),'details':{'error':_0x51a030(_0x44c613),'snapshotCount':_0x4259fe[_0x4f9793(0x1bb)],'restoreFailures':_0x56aefa},'remediation':_0x49bd8f};}}function _0x119c86(_0x1d9b0b,_0x3b118f){const _0x1452be=_0x3ee7d6,_0x3ce4d8=_0x1d9b0b['files']['reduce']((_0x1d5624,_0x12d5c6)=>_0x1d5624+_0x12d5c6['ceraphCamerasRemoved'],0x0),_0x233f69=_0x3ce4d8;if(_0x1d9b0b[_0x1452be(0x10f)]['length']===0x0){if('tCuqx'===_0x1452be(0x521))return{'name':_0x1452be(0x101),'status':'already-reverted','details':{'filesScanned':_0x1d9b0b[_0x1452be(0x1d2)],..._0x3b118f['dryRun']?{'dryRun':!![]}:{}}};else{if(!_0x36b3f9[_0x1452be(0x2db)]||typeof _0x3a97c6[_0x1452be(0x2db)]!==_0x1452be(0x5ab))return![];const _0x5859b3=_0xc8bd42[_0x1452be(0x2db)];if(typeof _0x5859b3[_0x1452be(0x562)]!==_0x1452be(0x7fd)||typeof _0x5859b3['id']!==_0x1452be(0x513))return![];}}const _0x1af6c2=_0x233f69>0x0?'warning':_0x1452be(0x400),_0x1c416c={'name':_0x1452be(0x101),'status':_0x1af6c2,'details':{'filesScanned':_0x1d9b0b['filesScanned'],'filesEdited':_0x1d9b0b[_0x1452be(0x10f)]['map'](_0x11db14=>_0x11db14[_0x1452be(0x260)]),'ceraphCamerasRemoved':_0x3ce4d8,'importDropped':_0x1d9b0b['files']['filter'](_0x2e370b=>_0x2e370b['importDropped'])['length'],'importRestored':_0x1d9b0b['files']['filter'](_0xe9a28a=>_0xe9a28a['importRestored'])[_0x1452be(0x945)],'imageKeysStripped':_0x233f69,..._0x3b118f[_0x1452be(0xd6)]?{'dryRun':!![]}:{}}};return _0x1af6c2==='warning'&&(_0x1c416c['remediation']='revert-camera\x20removed\x20imageKey\x20props\x20from\x20'+_0x233f69+_0x1452be(0x6b3)),_0x1c416c;}async function _0x413d5d(_0x517a27){const _0x60cc34=_0x3ee7d6,_0x243f4f=['app','src','screens'],_0xa2787a=new Set(['.tsx','.jsx']),_0x58889f=new Set([_0x60cc34(0x9c9),_0x60cc34(0x166),'build','.git',_0x60cc34(0x5d3),_0x60cc34(0x878),_0x60cc34(0x325),_0x60cc34(0x5c2),'android']),_0x5996e8=[],_0x4c218a=async _0x1cfe04=>{const _0x3f2430=_0x60cc34;let _0x198624;try{if(_0x3f2430(0x563)===_0x3f2430(0x563)){const {readdir:_0x29dba4}=await import(_0x3f2430(0x561));_0x198624=await _0x29dba4(_0x1cfe04,{'withFileTypes':!![]});}else return'iproxy\x20bridge\x20already\x20running.';}catch{return;}for(const _0x54971a of _0x198624){if(_0x54971a[_0x3f2430(0x42a)]()){if(_0x58889f[_0x3f2430(0x21c)](_0x54971a[_0x3f2430(0x4d1)]))continue;await _0x4c218a(_0x8c8eb4(_0x1cfe04,_0x54971a['name']));continue;}if(!_0x54971a[_0x3f2430(0x7ab)]())continue;const _0xfae75=_0x54971a[_0x3f2430(0x4d1)][_0x3f2430(0x64b)]('.');if(_0xfae75<0x0)continue;const _0x52e015=_0x54971a[_0x3f2430(0x4d1)][_0x3f2430(0x63b)](_0xfae75)['toLowerCase']();if(!_0xa2787a['has'](_0x52e015))continue;_0x5996e8['push'](_0x8c8eb4(_0x1cfe04,_0x54971a['name']));}};for(const _0x34202d of _0x243f4f){await _0x4c218a(_0x8c8eb4(_0x517a27,_0x34202d));}for(const _0x1e7ec8 of[_0x60cc34(0x854),'App.jsx']){_0x5996e8['push'](_0x8c8eb4(_0x517a27,_0x1e7ec8));}const _0x2d2e7d=[];for(const _0x312925 of _0x5996e8){let _0xd8485;try{_0xd8485=await _0x237bd6(_0x312925,'utf-8');}catch{continue;}if(_0xd8485[_0x60cc34(0x83f)](_0x60cc34(0x9ae)))_0x2d2e7d[_0x60cc34(0x496)](_0x312925);}return _0x2d2e7d;}async function _0x1216f9(_0x516f21,_0x4f0498){const _0x36632d=_0x3ee7d6,_0x417cc3=await _0x413d5d(_0x516f21),_0x473bb7=_0x8c8eb4(tmpdir(),_0x36632d(0x8ed)+Date[_0x36632d(0x3d1)]()+'-'+Math['random']()[_0x36632d(0x510)](0x24)[_0x36632d(0x63b)](0x2));try{await _0x43803f(_0x473bb7,{'recursive':!![]});for(const _0x1bbac6 of _0x417cc3){const _0x2f9332=_0x5a8767(_0x516f21,_0x1bbac6),_0x525723=_0x8c8eb4(_0x473bb7,_0x2f9332);await _0x43803f(_0x4ab8ef(_0x525723),{'recursive':!![]}),await copyFile(_0x1bbac6,_0x525723);}return await _0x4f0498(_0x473bb7);}finally{if('GPihQ'===_0x36632d(0x967))try{await _0x26810f(_0x473bb7,{'recursive':!![],'force':!![]});}catch{}else{if(_0x4327bc['startsWith'](_0x86b54e)){const _0x577a12=_0x12b4c4[_0x36632d(0x63b)](_0x9624f8[_0x36632d(0x945)]+0x1);return _0x577a12[_0x36632d(0x945)]>0x0?_0x577a12:_0x3ba873;}return _0x288f50;}}}async function _0x2ae979(_0x18f087,_0x11a52c,_0x22709c){const _0x4e2421=_0x3ee7d6,_0x47a35b=_0x11a52c[_0x4e2421(0x50d)]??_0xf44b30,_0x4c3906=_0x11a52c[_0x4e2421(0x843)]??_0x17e4ca;if(_0x22709c)try{const _0x54934a=await _0x4c3906(_0x18f087);if(!_0x54934a)return{'name':'boot','status':_0x4e2421(0x33c),'details':{'reason':_0x4e2421(0x935),'dryRun':!![]}};const _0x22d5d8=await _0x82ea87(_0x54934a['filePath'],_0x18f087);try{if('fJTOY'!==_0x4e2421(0x605)){const _0x266bf8=await _0x47a35b(_0x22d5d8[_0x4e2421(0x1f7)]);return await _0x296fb6(_0x266bf8,_0x18f087,_0x54934a,_0x11a52c,!![]);}else{const _0x1318b3=new _0x19e4fd({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1},'manipulationSettings':{'indentationText':_0xe152c5[_0x4e2421(0x806)]}});for(const _0x3fe707 of _0x380a8a){try{_0x1318b3[_0x4e2421(0x5bd)](_0x3fe707);}catch{}}return _0x1318b3;}}finally{await _0x26810f(_0x22d5d8['tmpRoot'],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}catch(_0x254a5f){return{'name':_0x4e2421(0x71f),'status':_0x4e2421(0x125),'details':{'error':_0x51a030(_0x254a5f),'dryRun':!![]},'remediation':'Dry-run\x20boot\x20preview\x20failed;\x20re-run\x20without\x20--dry-run\x20to\x20see\x20the\x20real\x20error\x20path.'};}try{const _0x470c6f=await _0x47a35b(_0x18f087),_0x5497d3=_0x470c6f['status']===_0x4e2421(0x5db)?null:_0x470c6f[_0x4e2421(0x555)];return await _0x296fb6(_0x470c6f,_0x18f087,_0x5497d3,_0x11a52c,![]);}catch(_0x267d72){return{'name':'boot','status':_0x4e2421(0x125),'details':{'error':_0x51a030(_0x267d72)},'remediation':'Boot\x20revert\x20raised.\x20Check\x20the\x20layout\x20file\x20for\x20syntax\x20errors\x20before\x20re-running.'};}}async function _0x296fb6(_0x3d3da1,_0x249c63,_0x515c61,_0x4a182c,_0x36dc39){const _0x4f2578=_0x3ee7d6;switch(_0x3d3da1[_0x4f2578(0x9d0)]){case _0x4f2578(0x400):return{'name':'boot','status':_0x4f2578(0x400),'details':{'target':_0x3d3da1['target'],'removedUseEffect':_0x3d3da1[_0x4f2578(0x663)],'removedImport':_0x3d3da1[_0x4f2578(0x30f)],..._0x36dc39?{'dryRun':!![]}:{}}};case _0x4f2578(0x33c):return{'name':_0x4f2578(0x71f),'status':_0x4f2578(0x33c),'details':{'target':_0x3d3da1['target'],..._0x36dc39?{'dryRun':!![]}:{}}};case _0x4f2578(0x5db):return{'name':'boot','status':'already-reverted','details':{'reason':_0x4f2578(0x935),..._0x36dc39?{'dryRun':!![]}:{}}};case'skipped':{const _0x1d539f=await _0x36c013(_0x3d3da1['target']['filePath']);return{'name':'boot','status':_0x4f2578(0x89f),'details':{'target':_0x3d3da1['target'],'reason':_0x3d3da1[_0x4f2578(0x78c)],'location':_0x1d539f['location'],'otherStatements':_0x1d539f['otherStatements'],..._0x1d539f[_0x4f2578(0x305)]!==void 0x0?{'parseError':_0x1d539f[_0x4f2578(0x305)]}:{},..._0x36dc39?{'dryRun':!![]}:{}},'remediation':_0x4f2578(0x446)+_0x3d3da1[_0x4f2578(0x555)][_0x4f2578(0x4e3)]+(_0x1d539f[_0x4f2578(0x7de)]?':'+_0x1d539f[_0x4f2578(0x7de)]['line']:'')+').\x20Remove\x20the\x20`installCeraph()`\x20call\x20by\x20hand\x20without\x20dropping\x20your\x20own\x20code,\x20then\x20re-run\x20`npx\x20@ceraph/react-native-mcp\x20uninstall`.'+(_0x1d539f['parseError']!==void 0x0?'\x20(Note:\x20re-parse\x20failed\x20—\x20line\x20info\x20missing:\x20'+_0x1d539f[_0x4f2578(0x305)]+')':'')};}}return{'name':'boot','status':_0x4f2578(0x125),'details':{'result':_0x3d3da1},'remediation':_0x4f2578(0x4d2)};}async function _0x36c013(_0x2d22e2){const _0x5813e7=_0x3ee7d6;try{await _0x21306d();const _0xa9a984=new _0x4de59f({'useInMemoryFileSystem':![],'skipAddingFilesFromTsConfig':!![],'skipFileDependencyResolution':!![],'skipLoadingLibFiles':!![],'compilerOptions':{'allowJs':!![],'jsx':0x1}}),_0x5e3580=_0xa9a984['addSourceFileAtPath'](_0x2d22e2),_0x1fd551=_0x1af0b7(_0x5e3580);if(!_0x1fd551)return{'location':null,'otherStatements':[]};const _0x4d3aa6=_0x1fd551['getBody']();if(!_0x4d3aa6||!_0x4c90d3[_0x5813e7(0x9f4)](_0x4d3aa6))return{'location':null,'otherStatements':[]};let _0x7f0cad=null,_0x4c7985=[];return _0x4d3aa6['forEachDescendant'](_0x45e022=>{const _0x2eca0a=_0x5813e7;if(_0x7f0cad)return;if(!_0x4c90d3[_0x2eca0a(0x435)](_0x45e022))return;const _0x3478a1=_0x45e022[_0x2eca0a(0x45d)]();if(!_0x4c90d3[_0x2eca0a(0x9c8)](_0x3478a1)||_0x3478a1[_0x2eca0a(0x326)]()!=='useEffect')return;const _0xe87c61=_0x45e022['getArguments'](),_0x46e7bc=_0xe87c61[0x0];if(!_0x46e7bc)return;if(!_0x4c90d3[_0x2eca0a(0x60d)](_0x46e7bc)&&!_0x4c90d3[_0x2eca0a(0x8d0)](_0x46e7bc))return;const _0x263f6e=_0x46e7bc[_0x2eca0a(0x848)]();if(!_0x4c90d3['isBlock'](_0x263f6e))return;const _0x15c9e8=_0x263f6e[_0x2eca0a(0x34f)](),_0xf06b50=[],_0x1f032e=[];for(const _0x465885 of _0x15c9e8){if(_0x3c1c2d(_0x465885))_0xf06b50['push'](_0x465885);else _0x1f032e[_0x2eca0a(0x496)](_0x465885);}_0xf06b50[_0x2eca0a(0x945)]>0x0&&_0x1f032e[_0x2eca0a(0x945)]>0x0&&(_0x7f0cad={'line':_0x45e022['getStartLineNumber']()},_0x4c7985=_0x1f032e[_0x2eca0a(0x986)](_0x2ef144=>_0x2ef144[_0x2eca0a(0x326)]()));}),{'location':_0x7f0cad,'otherStatements':_0x4c7985};}catch(_0x175a09){return'SPDOE'==='SPDOE'?{'location':null,'otherStatements':[],'parseError':_0x51a030(_0x175a09)}:new _0x4d0f31('server-error',_0x59f800,'Ceraph\x20server\x20is\x20having\x20a\x20moment\x20(HTTP\x20'+_0x27b76c+').\x20Try\x20again\x20in\x20a\x20few\x20seconds.');}}function _0x1af0b7(_0x5505bf){const _0x4424eb=_0x3ee7d6;for(const _0x25768e of _0x5505bf[_0x4424eb(0x744)]()){if(_0x25768e['isDefaultExport']())return _0x25768e;}const _0x1d7aa8=_0x5505bf['getStatements']()['find'](_0x174a1e=>_0x4c90d3['isExportAssignment'](_0x174a1e));if(_0x1d7aa8&&_0x4c90d3['isExportAssignment'](_0x1d7aa8)){const _0x23b37a=_0x1d7aa8[_0x4424eb(0x45d)]();if(_0x4c90d3['isIdentifier'](_0x23b37a)){const _0x41333d=_0x23b37a[_0x4424eb(0x875)]();if(_0x41333d){if('YnnSq'!==_0x4424eb(0x2f2))return _0x4f1367;else{const _0x36feef=_0x41333d[_0x4424eb(0x54f)]()[0x0];if(_0x36feef&&_0x4c90d3[_0x4424eb(0x5ee)](_0x36feef)){const _0x3fb0f7=_0x36feef[_0x4424eb(0x16c)]();if(_0x3fb0f7&&_0x4c90d3[_0x4424eb(0x60d)](_0x3fb0f7))return _0x3fb0f7;if(_0x3fb0f7&&_0x4c90d3['isFunctionExpression'](_0x3fb0f7))return _0x3fb0f7;}}}}if(_0x4c90d3[_0x4424eb(0x60d)](_0x23b37a))return _0x23b37a;if(_0x4c90d3[_0x4424eb(0x8d0)](_0x23b37a))return _0x23b37a;}return null;}function _0x3c1c2d(_0x26c8a1){const _0x2a110a=_0x3ee7d6;if(!_0x4c90d3['isExpressionStatement'](_0x26c8a1))return![];const _0x527dda=_0x26c8a1[_0x2a110a(0x45d)]();if(!_0x4c90d3[_0x2a110a(0x435)](_0x527dda))return![];const _0x5be0a9=_0x527dda[_0x2a110a(0x45d)]();return _0x4c90d3['isIdentifier'](_0x5be0a9)&&_0x5be0a9[_0x2a110a(0x326)]()===_0x2a110a(0x13c);}async function _0x3952c1(_0x36f424,_0x2e8049,_0x31ce3b){const _0x487e2b=_0x3ee7d6,_0x463d4f=_0x2e8049['revertCeraphUrlScheme']??_0x395e50;if(_0x31ce3b)try{const _0x5e258e=await _0x3d5486(_0x36f424);try{const _0x46a4f9=await _0x463d4f(_0x5e258e[_0x487e2b(0x1f7)]);return _0x49818f(_0x46a4f9,!![]);}finally{await _0x26810f(_0x5e258e['tmpRoot'],{'recursive':!![],'force':!![]})[_0x487e2b(0x4ba)](()=>void 0x0);}}catch(_0x504186){return{'name':'scheme','status':_0x487e2b(0x125),'details':{'error':_0x51a030(_0x504186),'dryRun':!![]}};}try{const _0x266c21=await _0x463d4f(_0x36f424);return _0x49818f(_0x266c21,![]);}catch(_0x16459f){return{'name':_0x487e2b(0x389),'status':'error','details':{'error':_0x51a030(_0x16459f)}};}}function _0x49818f(_0x406b36,_0x4d4b29){const _0x5a70ca=_0x3ee7d6,_0xb70d3b=_0x4d4b29?{'dryRun':!![]}:{};switch(_0x406b36[_0x5a70ca(0x9d0)]){case'reverted':return{'name':_0x5a70ca(0x389),'status':_0x5a70ca(0x400),'details':{'path':_0x406b36[_0x5a70ca(0x4ff)],'previousScheme':_0x406b36[_0x5a70ca(0x9c2)],'nextScheme':_0x406b36['nextScheme'],..._0xb70d3b}};case _0x5a70ca(0x33c):return{'name':_0x5a70ca(0x389),'status':'already-reverted','details':{'path':_0x406b36['path'],..._0xb70d3b}};case'manual':return{'name':'scheme','status':_0x5a70ca(0x89f),'details':{'kind':_0x406b36['kind'],'path':_0x406b36['path'],..._0xb70d3b},'remediation':_0x406b36[_0x5a70ca(0x5de)]};case'no-rn-project':return{'name':'scheme','status':_0x5a70ca(0x33c),'details':{'reason':'no\x20RN\x20project\x20detected',..._0xb70d3b}};}}async function _0x3d5486(_0x4bd06b){const _0x86379=_0x3ee7d6,_0x3285e4=_0x8c8eb4(tmpdir(),'ceraph-uninstall-scheme-preview-'+Date[_0x86379(0x3d1)]()+'-'+Math[_0x86379(0x271)]()[_0x86379(0x510)](0x24)[_0x86379(0x63b)](0x2));return _0x5c6af7(_0x3285e4,async()=>{const _0x1feef7=_0x86379;await _0x43803f(_0x3285e4,{'recursive':!![]});for(const _0x3270fa of['app.json',_0x1feef7(0x45e),'app.config.ts']){if(_0x1feef7(0x59f)===_0x1feef7(0x59f)){const _0x2a07d1=_0x8c8eb4(_0x4bd06b,_0x3270fa);try{await copyFile(_0x2a07d1,_0x8c8eb4(_0x3285e4,_0x3270fa));}catch{}}else{const _0x3da932=_0x20c071?{'dryRun':!![]}:{};switch(_0x14868b['status']){case _0x1feef7(0x400):return{'name':'babel-config','status':_0x1feef7(0x400),'details':{'path':_0x2a2ced[_0x1feef7(0x4ff)],'action':_0x30229d[_0x1feef7(0x1ec)],..._0x3da932}};case'already-reverted':return{'name':'babel-config','status':_0x1feef7(0x33c),'details':{'path':_0x3aefaa[_0x1feef7(0x4ff)],..._0x3da932}};case'no-config':return{'name':'babel-config','status':'already-reverted','details':{..._0x3da932}};}}}for(const _0x3c4d1d of['ios',_0x1feef7(0x57f)]){try{await _0x2f1731(_0x8c8eb4(_0x4bd06b,_0x3c4d1d)),await _0x43803f(_0x8c8eb4(_0x3285e4,_0x3c4d1d),{'recursive':!![]});}catch{}}return{'projectDir':_0x3285e4,'tmpRoot':_0x3285e4};});}async function _0x3716c2(_0x5be323,_0x2767e5,_0x1555ba){const _0x3739e3=_0x3ee7d6,_0x3a9c05=_0x2767e5['revertMcpClients']??_0x2b292f,_0x32a0cc=_0x2767e5[_0x3739e3(0x2e8)]??_0x4241f8,_0x550ffc=_0x2767e5['homeDir']?.();if(_0x1555ba){let _0x7f8ec7=null,_0x32dff4=null;try{_0x7f8ec7=await _0xd27a8f(_0x5be323),_0x32dff4=await _0x43670a(_0x550ffc);const _0x536a44=await _0x3a9c05(_0x7f8ec7[_0x3739e3(0x1f7)]),_0x519e5b=await _0x32a0cc({'home':_0x32dff4['tmpHome']});return _0x1ae83f(_0x536a44,_0x519e5b,!![]);}catch(_0x165d28){return{'name':_0x3739e3(0x8eb),'status':_0x3739e3(0x125),'details':{'error':_0x51a030(_0x165d28),'dryRun':!![]}};}finally{_0x7f8ec7&&await _0x26810f(_0x7f8ec7[_0x3739e3(0x431)],{'recursive':!![],'force':!![]})[_0x3739e3(0x4ba)](()=>void 0x0),_0x32dff4&&await _0x26810f(_0x32dff4['tmpRoot'],{'recursive':!![],'force':!![]})[_0x3739e3(0x4ba)](()=>void 0x0);}}try{const _0x34a3e9=await _0x3a9c05(_0x5be323),_0x1f4619=await _0x32a0cc({'home':_0x550ffc});return _0x1ae83f(_0x34a3e9,_0x1f4619,![]);}catch(_0x132e62){return{'name':_0x3739e3(0x8eb),'status':_0x3739e3(0x125),'details':{'error':_0x51a030(_0x132e62)}};}}function _0x1ae83f(_0x377989,_0x2bb974,_0x4cafa3){const _0x414f07=_0x3ee7d6,_0x21ee74=[..._0x377989['files'],..._0x2bb974['files']],_0x58511b=_0x21ee74['filter'](_0x5cb554=>_0x5cb554[_0x414f07(0x9d0)]===_0x414f07(0x775)||_0x5cb554[_0x414f07(0x9d0)]===_0x414f07(0x280)),_0x2c82c8=_0x4cafa3?{'dryRun':!![]}:{};if(_0x58511b[_0x414f07(0x945)]===0x0)return'CLyhe'!=='CLyhe'?{'status':_0x414f07(0x33c),'path':_0x2d26ec}:{'name':_0x414f07(0x8eb),'status':_0x414f07(0x33c),'details':{'files':_0x377989[_0x414f07(0x10f)],'userGlobalFiles':_0x2bb974['files'],..._0x2c82c8}};return{'name':_0x414f07(0x8eb),'status':_0x414f07(0x400),'details':{'files':_0x377989[_0x414f07(0x10f)],'userGlobalFiles':_0x2bb974['files'],'touched':_0x58511b['length'],..._0x2c82c8}};}async function _0xd27a8f(_0x389274){const _0x4a75ca=_0x3ee7d6,_0x1e1ad2=_0x8c8eb4(tmpdir(),_0x4a75ca(0x761)+Date[_0x4a75ca(0x3d1)]()+'-'+Math[_0x4a75ca(0x271)]()[_0x4a75ca(0x510)](0x24)['slice'](0x2));return _0x5c6af7(_0x1e1ad2,async()=>{const _0x296a76=_0x4a75ca;if('NbqLg'!=='FXbpW'){await _0x43803f(_0x1e1ad2,{'recursive':!![]});const _0x152c91=['.mcp.json',_0x8c8eb4(_0x296a76(0x4e2),'mcp.json'),_0x8c8eb4('.vscode','mcp.json'),_0x8c8eb4('.codex',_0x296a76(0x97a)),_0x8c8eb4('.claude','settings.local.json')];for(const _0x5280c5 of _0x152c91){const _0x2185c2=_0x8c8eb4(_0x389274,_0x5280c5),_0x231ebf=_0x8c8eb4(_0x1e1ad2,_0x5280c5);try{await _0x43803f(_0x4ab8ef(_0x231ebf),{'recursive':!![]}),await copyFile(_0x2185c2,_0x231ebf);}catch{}}return{'projectDir':_0x1e1ad2,'tmpRoot':_0x1e1ad2};}else return _0x3a328f['value'];});}async function _0x43670a(_0x5a2507){const _0x5b79df=_0x3ee7d6,_0x33c9ab=_0x8c8eb4(tmpdir(),'ceraph-uninstall-mcp-global-preview-'+Date[_0x5b79df(0x3d1)]()+'-'+Math[_0x5b79df(0x271)]()['toString'](0x24)[_0x5b79df(0x63b)](0x2));return _0x5c6af7(_0x33c9ab,async()=>{const _0x4f2f26=_0x5b79df,_0x5c64e2=_0x8c8eb4(_0x33c9ab,_0x4f2f26(0x2dd));await _0x43803f(_0x5c64e2,{'recursive':!![]});const _0x3b9792=_0x6b1b18(_0x5a2507);for(let _0x55d43a=0x0;_0x55d43a<_0x211032[_0x4f2f26(0x945)];_0x55d43a++){const _0x1b80f7=_0x211032[_0x55d43a],_0x253604=_0x3b9792[_0x55d43a];if(!_0x1b80f7||!_0x253604)continue;const _0x5e210c=_0x8c8eb4(_0x5c64e2,..._0x1b80f7[_0x4f2f26(0x8f5)]);try{await _0x43803f(_0x4ab8ef(_0x5e210c),{'recursive':!![]}),await copyFile(_0x253604['path'],_0x5e210c);}catch{}}return{'tmpHome':_0x5c64e2,'tmpRoot':_0x33c9ab};});}async function _0xe1d58f(_0x7b645,_0x22d06e,_0x36d42d){const _0x2c10d0=_0x3ee7d6,_0x3b6056=_0x22d06e['revertClaudeHooks']??_0x38424c;if(_0x36d42d)try{const _0x5bbc5f=await _0x24ce7f(_0x7b645);try{const _0xd8ca7c=await _0x3b6056({'projectDir':_0x5bbc5f[_0x2c10d0(0x1f7)]});return _0x5c5b24(_0xd8ca7c,!![]);}finally{await _0x26810f(_0x5bbc5f[_0x2c10d0(0x431)],{'recursive':!![],'force':!![]})['catch'](()=>void 0x0);}}catch(_0x19f906){if('pKSYU'!==_0x2c10d0(0x602))_0x36d4fd+=_0x409b94[_0x2c10d0(0x510)]();else return{'name':_0x2c10d0(0x275),'status':_0x2c10d0(0x125),'details':{'error':_0x51a030(_0x19f906),'dryRun':!![]}};}try{const _0x8c90f4=await _0x3b6056({'projectDir':_0x7b645});return _0x5c5b24(_0x8c90f4,![]);}catch(_0x368f05){return{'name':'claude-hooks','status':_0x2c10d0(0x125),'details':{'error':_0x51a030(_0x368f05)}};}}function _0x5c5b24(_0x9dc190,_0x46e148){const _0x48ddd1=_0x3ee7d6,_0x4a3c3c=_0x46e148?{'dryRun':!![]}:{};switch(_0x9dc190[_0x48ddd1(0x9d0)]){case'reverted':return{'name':'claude-hooks','status':_0x48ddd1(0x400),'details':{..._0x9dc190['details'],..._0x4a3c3c}};case'already-reverted':return{'name':_0x48ddd1(0x275),'status':'already-reverted','details':{..._0x9dc190['details'],..._0x4a3c3c}};case _0x48ddd1(0x89f):return{'name':'claude-hooks','status':'manual','details':{..._0x9dc190[_0x48ddd1(0x220)],..._0x4a3c3c},'remediation':'Hook\x20script(s)\x20were\x20customized\x20after\x20init\x20wrote\x20them,\x20so\x20the\x20reverter\x20left\x20them\x20in\x20place:\x20'+_0x9dc190['details']['scriptsLeftAlone'][_0x48ddd1(0x221)](',\x20')+_0x48ddd1(0x3e1)+(_0x9dc190['details']['settingsFilesModified'][_0x48ddd1(0x945)]>0x0?_0x48ddd1(0x6c7)+_0x9dc190['details']['settingsFilesModified']['join'](',\x20')+'.':_0x48ddd1(0x371))};case _0x48ddd1(0x797):return{'name':_0x48ddd1(0x275),'status':_0x48ddd1(0x797),'details':{..._0x9dc190[_0x48ddd1(0x220)],..._0x4a3c3c}};}}async function _0x24ce7f(_0x3be00a){const _0x54d6be=_0x3ee7d6,_0x34c1ab=_0x8c8eb4(tmpdir(),_0x54d6be(0x210)+Date[_0x54d6be(0x3d1)]()+'-'+Math['random']()[_0x54d6be(0x510)](0x24)[_0x54d6be(0x63b)](0x2));return _0x5c6af7(_0x34c1ab,async()=>{const _0x3b0081=_0x54d6be;await _0x43803f(_0x34c1ab,{'recursive':!![]});const _0x58eabb=[_0x8c8eb4(_0x3b0081(0x644),_0x3b0081(0x6d5),'rn-error-notify.sh'),_0x8c8eb4(_0x3b0081(0x644),'hooks','rn-flow-progress-notify.sh'),_0x8c8eb4('.claude','settings.json'),_0x8c8eb4('.claude',_0x3b0081(0x2bb))];for(const _0x4f32ce of _0x58eabb){const _0x2aac37=_0x8c8eb4(_0x3be00a,_0x4f32ce),_0x378453=_0x8c8eb4(_0x34c1ab,_0x4f32ce);try{'bdHqk'==='bdHqk'?(await _0x43803f(_0x4ab8ef(_0x378453),{'recursive':!![]}),await copyFile(_0x2aac37,_0x378453)):(_0x43482e[_0x3b0081(0x4ae)](()=>{}),_0x30faad({'ok':![],'port':this['port'],'error':_0x3aafc5['message']??_0x374cb1['code']??'listen\x20failed','errorCode':_0x371fc9[_0x3b0081(0x845)]}));}catch{}}return{'projectDir':_0x34c1ab,'tmpRoot':_0x34c1ab};});}async function _0x195440(_0x8f30d4,_0x4aa7e4,_0xceaa13){const _0x59da13=_0x3ee7d6,_0x33da1c=_0x4aa7e4['revertGitignore']??_0x40c08f;if(_0xceaa13){const _0x92f0b5=_0x8c8eb4(tmpdir(),_0x59da13(0x6cc)+Date[_0x59da13(0x3d1)]()+'-'+Math['random']()['toString'](0x24)[_0x59da13(0x63b)](0x2));try{try{await _0x43803f(_0x92f0b5,{'recursive':!![]});try{await copyFile(_0x8c8eb4(_0x8f30d4,_0x59da13(0x4a6)),_0x8c8eb4(_0x92f0b5,'.gitignore'));}catch{}for(const _0x3cc2b0 of[_0x59da13(0x8b8),'.rn-flow-progress.json']){if('ktkVu'==='ktkVu')try{await copyFile(_0x8c8eb4(_0x8f30d4,_0x3cc2b0),_0x8c8eb4(_0x92f0b5,_0x3cc2b0));}catch{}else return null;}const _0x5d24cc=await _0x33da1c(_0x92f0b5);return _0x3e2e94(_0x5d24cc,!![]);}finally{_0x59da13(0x37e)==='YZHVb'?await _0x26810f(_0x92f0b5,{'recursive':!![],'force':!![]})['catch'](()=>void 0x0):_0xf4ac0e['push'](..._0x52c3c4[_0x59da13(0x360)]);}}catch(_0x50e99b){return{'name':_0x59da13(0x36b),'status':'error','details':{'error':_0x51a030(_0x50e99b),'dryRun':!![]}};}}try{const _0x247430=await _0x33da1c(_0x8f30d4);return _0x3e2e94(_0x247430,![]);}catch(_0x3b0134){return{'name':'gitignore','status':_0x59da13(0x125),'details':{'error':_0x51a030(_0x3b0134)}};}}function _0x3e2e94(_0x964789,_0x10f81b){const _0x2b14ee=_0x3ee7d6,_0x42e1c2=_0x10f81b?{'dryRun':!![]}:{},_0x55f2a4=_0x964789[_0x2b14ee(0x154)];switch(_0x964789['status']){case'reverted':return{'name':_0x2b14ee(0x36b),'status':'reverted','details':{'path':_0x964789[_0x2b14ee(0x4ff)],'removedLines':_0x964789['removedLines'],'removedRuntimeFiles':_0x55f2a4,..._0x42e1c2}};case _0x2b14ee(0x33c):return{'name':_0x2b14ee(0x36b),'status':_0x55f2a4[_0x2b14ee(0x945)]>0x0?'reverted':'already-reverted','details':{'path':_0x964789['path'],'removedRuntimeFiles':_0x55f2a4,..._0x42e1c2}};case'no-gitignore':return{'name':'gitignore','status':_0x55f2a4[_0x2b14ee(0x945)]>0x0?_0x2b14ee(0x400):'already-reverted','details':{'reason':'no\x20.gitignore','removedRuntimeFiles':_0x55f2a4,..._0x42e1c2}};}}async function _0x17b286(_0x466ae5,_0x19a7a3){const _0x283bf7=_0x3ee7d6,_0x2e9094=_0x466ae5[_0x283bf7(0x38e)]??_0x32389c,_0x1f51c8=_0x466ae5[_0x283bf7(0x7a0)]?.();if(_0x19a7a3)try{const _0x4244e4=await _0x320ae6(_0x1f51c8);try{const _0x429401=await _0x2e9094({'home':_0x4244e4['tmpHome']});return _0x4c6a0e(_0x429401,!![]);}finally{if('lsjIH'!==_0x283bf7(0x4eb)){const _0x15cf26=_0x16c580(_0x4f8cc0,new _0x595fc1(['mcp_servers.react-native-mcp']));_0x2c0e36=_0x15cf26['next']+_0x46ba59();}else await _0x26810f(_0x4244e4['tmpRoot'],{'recursive':!![],'force':!![]})[_0x283bf7(0x4ba)](()=>void 0x0);}}catch(_0x5df011){return{'name':'signal-host','status':_0x283bf7(0x125),'details':{'error':_0x51a030(_0x5df011),'dryRun':!![]}};}try{const _0x2ae53d=await _0x2e9094({'home':_0x1f51c8});return _0x4c6a0e(_0x2ae53d,![]);}catch(_0x3cfe3e){return{'name':'signal-host','status':'error','details':{'error':_0x51a030(_0x3cfe3e)}};}}function _0x4c6a0e(_0x22b837,_0x216e89){const _0xdc2bc9=_0x3ee7d6,_0x3ff7c5=_0x216e89?{'dryRun':!![]}:{};switch(_0x22b837[_0xdc2bc9(0x9d0)]){case _0xdc2bc9(0x400):return{'name':'signal-host','status':'reverted','details':{'path':_0x22b837['path'],'shell':_0x22b837[_0xdc2bc9(0x4d4)],'removedIp':_0x22b837[_0xdc2bc9(0x871)],..._0x3ff7c5}};case'already-reverted':return{'name':_0xdc2bc9(0x553),'status':_0xdc2bc9(0x33c),'details':{'path':_0x22b837['path'],'shell':_0x22b837['shell'],..._0x3ff7c5}};case'no-profile':return{'name':'signal-host','status':_0xdc2bc9(0x33c),'details':{'reason':_0xdc2bc9(0x7db),'path':_0x22b837[_0xdc2bc9(0x4ff)],..._0x3ff7c5}};}}function _0x4a5a(_0x264ed8,_0x57f68d){_0x264ed8=_0x264ed8-0xcc;const _0x1ecd13=_0x1ecd();let _0x4a5a30=_0x1ecd13[_0x264ed8];return _0x4a5a30;}async function _0x320ae6(_0x140787){const _0x5397bd=_0x3ee7d6,_0x1267b5=_0x140787??_0x4216fd(),_0x444b8d=_0x8c8eb4(tmpdir(),'ceraph-uninstall-shell-preview-'+Date[_0x5397bd(0x3d1)]()+'-'+Math[_0x5397bd(0x271)]()['toString'](0x24)['slice'](0x2));return _0x5c6af7(_0x444b8d,async()=>{const _0x1a0384=_0x5397bd,_0x1d48d3=_0x8c8eb4(_0x444b8d,_0x1a0384(0x2dd));await _0x43803f(_0x1d48d3,{'recursive':!![]});for(const _0xe9b8dd of[_0x1a0384(0x2e5),'.bashrc']){try{await copyFile(_0x8c8eb4(_0x1267b5,_0xe9b8dd),_0x8c8eb4(_0x1d48d3,_0xe9b8dd));}catch{}}return{'tmpHome':_0x1d48d3,'tmpRoot':_0x444b8d};});}async function _0x3f7f11(_0x93df7f,_0x349461,_0x318c99){const _0x25c73f=_0x3ee7d6,_0xe69f5b=_0x349461[_0x25c73f(0x577)]??_0x403304;if(!_0x349461['purgeImages'])try{if('GCome'==='GCome'){const _0x5321ad=await _0xe69f5b({'projectDir':_0x93df7f,'confirm':![]});if(_0x5321ad['status']==='already-reverted')return{'name':'ceraph-dir','status':'already-reverted','details':{'path':_0x5321ad['path'],..._0x318c99?{'dryRun':!![]}:{}}};if(_0x5321ad[_0x25c73f(0x9d0)]==='skipped-needs-confirmation')return{'name':'ceraph-dir','status':'skipped','details':{'path':_0x5321ad[_0x25c73f(0x4ff)],'paths':_0x5321ad['paths'],..._0x318c99?{'dryRun':!![]}:{}},'remediation':'Re-run\x20with\x20--purge-images\x20to\x20delete\x20.ceraph/\x20(camera\x20images,\x20design\x20snapshots,\x20run\x20artifacts).\x20Default\x20leaves\x20them\x20in\x20place\x20so\x20a\x20re-install\x20picks\x20up\x20where\x20you\x20left\x20off.'};return{'name':_0x25c73f(0x9e5),'status':'error','details':{'unexpectedStatus':_0x5321ad['status'],..._0x318c99?{'dryRun':!![]}:{}},'remediation':'ceraph-dir\x20preview\x20returned\x20an\x20unexpected\x20status;\x20pass\x20--purge-images\x20explicitly\x20to\x20delete\x20.ceraph/.'};}else return{'content':[{'type':'text','text':_0x14c0a1+_0x25c73f(0x9f8)+(_0x44fbcf instanceof _0x1be4ad?_0x254379[_0x25c73f(0x92e)]:_0x3140ac(_0x87c7f3))}],'isError':!![]};}catch(_0x4165c1){return{'name':'ceraph-dir','status':_0x25c73f(0x125),'details':{'error':_0x51a030(_0x4165c1),..._0x318c99?{'dryRun':!![]}:{}}};}if(_0x318c99)try{const _0x1f3cc4=await _0xe69f5b({'projectDir':_0x93df7f,'confirm':![]});if(_0x1f3cc4['status']===_0x25c73f(0x33c))return{'name':_0x25c73f(0x9e5),'status':'already-reverted','details':{'path':_0x1f3cc4[_0x25c73f(0x4ff)],'dryRun':!![]}};if(_0x1f3cc4[_0x25c73f(0x9d0)]===_0x25c73f(0x49f))return{'name':_0x25c73f(0x9e5),'status':_0x25c73f(0x400),'details':{'path':_0x1f3cc4['path'],'paths':_0x1f3cc4[_0x25c73f(0xe8)],'dryRun':!![]}};return{'name':'ceraph-dir','status':'error','details':{'unexpectedStatus':_0x1f3cc4[_0x25c73f(0x9d0)],'dryRun':!![]}};}catch(_0x3a8f89){return{'name':_0x25c73f(0x9e5),'status':'error','details':{'error':_0x51a030(_0x3a8f89),'dryRun':!![]}};}try{const _0x1440e7=await _0xe69f5b({'projectDir':_0x93df7f,'confirm':!![]});switch(_0x1440e7['status']){case'deleted':return{'name':_0x25c73f(0x9e5),'status':'reverted','details':{'path':_0x1440e7[_0x25c73f(0x4ff)],'deletedEntries':_0x1440e7[_0x25c73f(0x56f)]}};case _0x25c73f(0x33c):return{'name':_0x25c73f(0x9e5),'status':'already-reverted','details':{'path':_0x1440e7['path']}};case'skipped-needs-confirmation':return{'name':_0x25c73f(0x9e5),'status':'skipped','details':{'path':_0x1440e7[_0x25c73f(0x4ff)],'unexpected':!![]}};}}catch(_0x180d0b){return{'name':'ceraph-dir','status':'error','details':{'error':_0x51a030(_0x180d0b)}};}}async function _0x450948(_0x188efc,_0x38353c){const _0x54de3f=_0x3ee7d6,_0x53792a=_0x188efc[_0x54de3f(0x9f1)]??_0x1055a3,_0x1e1c1a=_0x188efc['homeDir']?.();if(!_0x188efc[_0x54de3f(0x5f5)])try{const _0x41f449=await _0x53792a({'global':![]},{'home':_0x1e1c1a});return{'name':'auth','status':'skipped','details':{'path':_0x41f449[_0x54de3f(0x4ff)],..._0x38353c?{'dryRun':!![]}:{}},'remediation':'Re-run\x20with\x20--global\x20to\x20delete\x20~/.ceraph/auth.json.\x20Note:\x20this\x20token\x20is\x20shared\x20across\x20every\x20Ceraph\x20install\x20on\x20this\x20machine\x20—\x20removing\x20it\x20logs\x20you\x20out\x20everywhere.'};}catch(_0x221f13){return{'name':'auth','status':'error','details':{'error':_0x51a030(_0x221f13),..._0x38353c?{'dryRun':!![]}:{}}};}if(_0x38353c)try{const _0x530194=_0x1e1c1a??_0x4216fd(),_0x20adc4=_0x8c8eb4(_0x530194,'.ceraph',_0x54de3f(0x65b));let _0x4a1efb=![];try{await _0x2f1731(_0x20adc4),_0x4a1efb=!![];}catch{_0x4a1efb=![];}return{'name':_0x54de3f(0x469),'status':_0x4a1efb?'reverted':_0x54de3f(0x33c),'details':{'path':_0x20adc4,'dryRun':!![],'wouldDelete':_0x4a1efb}};}catch(_0x188695){if('fRzMt'===_0x54de3f(0x419))return{'name':_0x54de3f(0x469),'status':'error','details':{'error':_0x51a030(_0x188695),'dryRun':!![]}};else _0x30e72d=_0x55a262['next'];}try{const _0x31174e=await _0x53792a({'global':!![]},{'home':_0x1e1c1a});switch(_0x31174e[_0x54de3f(0x9d0)]){case _0x54de3f(0x2aa):return{'name':'auth','status':'reverted','details':{'path':_0x31174e['path']}};case _0x54de3f(0x33c):return{'name':_0x54de3f(0x469),'status':'already-reverted','details':{'path':_0x31174e['path']}};case'skipped':return{'name':_0x54de3f(0x469),'status':'skipped','details':{'path':_0x31174e[_0x54de3f(0x4ff)],'unexpected':!![]}};}}catch(_0xb6a705){return{'name':'auth','status':_0x54de3f(0x125),'details':{'error':_0x51a030(_0xb6a705)}};}}async function _0x764e10(_0x426663,_0x5b0c18,_0x14a8c1){const _0x1231f2=_0x3ee7d6,_0x14de77=_0x5b0c18[_0x1231f2(0x624)]??_0x3048eb,_0x1a8aa8=_0x5b0c18[_0x1231f2(0x3a6)];if(_0x14a8c1)try{const _0x42cb5c=await _0x14de77(_0x426663,{'spawnRemove':_0x2b21f1});return _0x573252(_0x42cb5c,!![]);}catch(_0xde90f3){return{'name':'package','status':_0x1231f2(0x125),'details':{'error':_0x51a030(_0xde90f3),'dryRun':!![]}};}try{const _0x3925bf=await _0x14de77(_0x426663,_0x1a8aa8?{'spawnRemove':_0x1a8aa8}:{});return _0x573252(_0x3925bf,![]);}catch(_0xdfa4be){return{'name':'package','status':'error','details':{'error':_0x51a030(_0xdfa4be)}};}}function _0x573252(_0xea16a,_0x3f9418){const _0x4e6265=_0x3ee7d6,_0x17e87f=_0x3f9418?{'dryRun':!![]}:{};switch(_0xea16a[_0x4e6265(0x9d0)]){case'removed':return{'name':_0x4e6265(0x9dd),'status':_0x4e6265(0x400),'details':{'packageManager':_0xea16a['pm'],'removedPackages':_0xea16a['removedPackages'],'command':_0xea16a['command'],..._0x17e87f}};case'nothing-to-remove':return{'name':_0x4e6265(0x9dd),'status':_0x4e6265(0x33c),'details':{'packageManager':_0xea16a['pm'],..._0x17e87f}};case _0x4e6265(0x5fa):return{'name':'package','status':_0x4e6265(0x125),'details':{'packageManager':_0xea16a['pm'],'command':_0xea16a['command'],'exitCode':_0xea16a['exitCode'],..._0x17e87f},'remediation':_0xea16a['pm']+'\x20'+(_0xea16a['command']?.[_0x4e6265(0x719)]['join']('\x20')??'')+'\x20exited\x20with\x20code\x20'+_0xea16a[_0x4e6265(0x186)]+_0x4e6265(0x1ce)};}}function _0x51a030(_0x386bd8){return _0x386bd8 instanceof Error?_0x386bd8['message']:String(_0x386bd8);}async function _0xcafb45(_0x5322f4,_0x1b0b75,_0x2d4a89){const _0x1b92f7=_0x3ee7d6,_0x2531ce=_0x1b0b75['revertBabelConfig']??(_0x4b201d=>_0x58b046({'projectDir':_0x4b201d,..._0x2d4a89?{'writeFile':async()=>void 0x0,'unlink':async()=>void 0x0}:{}}));try{const _0x244533=await _0x2531ce(_0x5322f4);return _0x427c69(_0x244533,_0x2d4a89);}catch(_0x3e8793){return{'name':_0x1b92f7(0x8a9),'status':_0x1b92f7(0x125),'details':{'error':_0x51a030(_0x3e8793),..._0x2d4a89?{'dryRun':!![]}:{}}};}}function _0x427c69(_0xd41aef,_0x7f667b){const _0x21a903=_0x3ee7d6,_0x26828f=_0x7f667b?{'dryRun':!![]}:{};switch(_0xd41aef[_0x21a903(0x9d0)]){case'reverted':return{'name':_0x21a903(0x8a9),'status':_0x21a903(0x400),'details':{'path':_0xd41aef['path'],'action':_0xd41aef['action'],..._0x26828f}};case'already-reverted':return{'name':_0x21a903(0x8a9),'status':_0x21a903(0x33c),'details':{'path':_0xd41aef[_0x21a903(0x4ff)],..._0x26828f}};case _0x21a903(0x8f2):return{'name':'babel-config','status':'already-reverted','details':{..._0x26828f}};}}async function _0x5c6af7(_0x48d430,_0x50c4f0){try{return await _0x50c4f0();}catch(_0x3819db){try{await _0x26810f(_0x48d430,{'recursive':!![],'force':!![]});}catch{}throw _0x3819db;}}async function _0x82ea87(_0x15d309,_0x30ba04){const _0x344351=_0x3ee7d6,_0x3ab36b=_0x8c8eb4(tmpdir(),'ceraph-uninstall-boot-preview-'+Date['now']()+'-'+Math[_0x344351(0x271)]()['toString'](0x24)['slice'](0x2));return _0x5c6af7(_0x3ab36b,async()=>{const _0x5e5854=_0x344351,_0x5703f5=_0x5a8767(_0x30ba04,_0x15d309),_0x47c8c=_0xed2b57(_0x5703f5)?_0x5e5854(0x854):_0x5703f5,_0x9115c4=_0x8c8eb4(_0x3ab36b,_0x47c8c);return await _0x43803f(_0x4ab8ef(_0x9115c4),{'recursive':!![]}),await copyFile(_0x15d309,_0x9115c4),{'projectDir':_0x3ab36b,'tmpRoot':_0x3ab36b};});}function _0x19b833(_0x42693d,_0x2c040b){const _0x3c8a45=_0x3ee7d6,_0x307813=[],_0x48df99=[];let _0x3b185d=0x0,_0x390c01=0x0;for(const _0x135241 of _0x2c040b){if(_0x135241[_0x3c8a45(0x9d0)]==='reverted'||_0x135241[_0x3c8a45(0x9d0)]===_0x3c8a45(0x77d))_0x3b185d++;else(_0x135241['status']==='skipped'||_0x135241['status']===_0x3c8a45(0x33c))&&_0x390c01++;_0x135241[_0x3c8a45(0x9d0)]===_0x3c8a45(0x77d)&&_0x135241['remediation']&&_0x307813[_0x3c8a45(0x496)](_0x135241[_0x3c8a45(0x5de)]),_0x135241['status']==='manual'&&_0x135241['remediation']&&_0x48df99['push'](_0x135241[_0x3c8a45(0x5de)]);}return{'workingDir':_0x42693d,'steps':_0x2c040b,'summary':{'reverted':_0x3b185d,'skipped':_0x390c01,'warnings':_0x307813,'manualSteps':_0x48df99}};}var _0x5de303=0x40*0x400,_0x88d7db=process['cwd']();function _0x87f5f2(){return _0x88d7db;}function _0x1609b5(_0x5cc606){const _0x1d2eb7=_0x3ee7d6;return{'content':[{'type':_0x1d2eb7(0x5d9),'text':JSON['stringify'](_0x5cc606,null,0x2)}]};}var _0x33931f=0x2*0x400;function _0x3bb8ff(_0x53d23d,_0x4a3016){const _0x1b1703=_0x3ee7d6;if(_0x53d23d['length']<=_0x4a3016)return _0x53d23d;const _0x4a909a=_0x53d23d['slice'](0x0,Math[_0x1b1703(0x31a)](_0x4a3016/0x2)-0x10),_0x5e9b7b=_0x53d23d['slice'](_0x53d23d[_0x1b1703(0x945)]-(Math['floor'](_0x4a3016/0x2)-0x10));return _0x4a909a+_0x1b1703(0x52f)+(_0x53d23d[_0x1b1703(0x945)]-_0x4a3016)+_0x1b1703(0x189)+_0x5e9b7b;}function _0x2a8b70(_0x465155,_0x2958aa=_0x5de303){const _0x54bdac=_0x3ee7d6,_0x4f54f2=JSON['stringify'](_0x465155,null,0x2);if(_0x4f54f2[_0x54bdac(0x945)]<=_0x2958aa)return _0x465155;const _0x2f1aa0=_0x465155[_0x54bdac(0x22d)]['map'](_0x143a9e=>{const _0x11e697=_0x54bdac;if(_0x143a9e['details']===void 0x0)return _0x143a9e;const _0x2c0089=JSON[_0x11e697(0x2c1)](_0x143a9e[_0x11e697(0x220)]);return{..._0x143a9e,'details':{'truncated':!![],'originalSize':_0x2c0089[_0x11e697(0x945)]}};}),_0x446247={..._0x465155,'steps':_0x2f1aa0},_0x41c525=JSON['stringify'](_0x446247,null,0x2);if(_0x41c525['length']<=_0x2958aa)return _0x446247;let _0x3019a3=0x20,_0x624041=_0x33931f,_0x4e1db7=_0x446247;while(_0x3019a3<=_0x624041){const _0xd6c815=Math['floor']((_0x3019a3+_0x624041)/0x2),_0x4c57e7={..._0x446247,'workingDir':_0x3bb8ff(_0x446247['workingDir'],_0xd6c815),'steps':_0x446247['steps'][_0x54bdac(0x986)](_0x3e6044=>({..._0x3e6044,'remediation':_0x3e6044['remediation']?_0x3bb8ff(_0x3e6044['remediation'],_0xd6c815):_0x3e6044['remediation']})),'summary':{..._0x446247[_0x54bdac(0x536)],'warnings':_0x446247['summary'][_0x54bdac(0x6b1)][_0x54bdac(0x986)](_0xd0289d=>_0x3bb8ff(_0xd0289d,_0xd6c815)),'manualSteps':_0x446247['summary'][_0x54bdac(0x477)]['map'](_0x2fa63c=>_0x3bb8ff(_0x2fa63c,_0xd6c815))}},_0x52a9ef=JSON[_0x54bdac(0x2c1)](_0x4c57e7,null,0x2)['length'];_0x52a9ef<=_0x2958aa?(_0x4e1db7=_0x4c57e7,_0x3019a3=_0xd6c815+0x1):_0x624041=_0xd6c815-0x1;}return _0x4e1db7;}function _0x2afefb(_0x394c1a,_0x241143){const _0xe274f7=_0x3ee7d6;return{'content':[{'type':'text','text':_0x394c1a+'\x20failed:\x20'+(_0x241143 instanceof Error?_0x241143[_0xe274f7(0x92e)]:String(_0x241143))}],'isError':!![]};}function _0x37347c(_0x248e24){return new Promise(_0x51aff7=>{const _0x5bf212=_0x4a5a,_0x249b14=_0x557746(_0x248e24['bin'],_0x248e24[_0x5bf212(0x719)],{'cwd':_0x248e24[_0x5bf212(0x346)],'stdio':[_0x5bf212(0x317),'pipe',_0x5bf212(0x406)]});_0x249b14['stdout']?.['on']('data',()=>void 0x0),_0x249b14[_0x5bf212(0x870)]?.['on']('data',()=>void 0x0),_0x249b14['on'](_0x5bf212(0x125),()=>_0x51aff7({'exitCode':0x7f})),_0x249b14['on']('exit',_0xab0b01=>_0x51aff7({'exitCode':_0xab0b01??0x1}));});}function _0x27ac7d(_0x4e7062){const _0x361a8b=_0x3ee7d6;_0x4e7062['tool'](_0x361a8b(0x762),'Snapshot\x20what\x20Ceraph\x20has\x20installed\x20in\x20this\x20project\x20—\x20package\x20presence,\x20gitignore\x20entries,\x20MCP-client\x20configs,\x20root-layout\x20boot\x20wiring,\x20<CeraphCamera>\x20usage\x20count,\x20and\x20whether\x20the\x20user-global\x20auth\x20token\x20is\x20present.\x20Use\x20this\x20BEFORE\x20ceraph_uninstall_run\x20to\x20show\x20the\x20user\x20what\x20would\x20change.\x20Returns\x20the\x20footprint\x20without\x20mutating\x20anything.',{'projectDir':_0x39299c['string']()[_0x361a8b(0x4ac)]()[_0x361a8b(0x9de)]('Project\x20directory\x20to\x20inspect.\x20Defaults\x20to\x20the\x20MCP\x20server\x27s\x20cwd.\x20In\x20a\x20monorepo\x20with\x20multiple\x20RN\x20subpackages,\x20the\x20tool\x20returns\x20`monorepoConflict`\x20listing\x20each\x20candidate\x20—\x20pass\x20the\x20chosen\x20subpackage\x27s\x20path\x20here\x20to\x20disambiguate.')},async _0x42a92a=>{const _0x3ada81=_0x361a8b;try{const _0x1de9cb=_0x42a92a[_0x3ada81(0x1f7)]??_0x87f5f2(),_0x1bb0a6=await _0x568a61(_0x1de9cb,{'rootDir':_0x423853(_0x42a92a[_0x3ada81(0x1f7)],_0x87f5f2())});return _0x1609b5(_0x1bb0a6);}catch(_0x313bfd){return _0x2afefb(_0x3ada81(0x762),_0x313bfd);}}),_0x4e7062[_0x361a8b(0x8dc)](_0x361a8b(0x2ed),'Uninstall\x20Ceraph\x20from\x20this\x20project.\x20Reverts\x20source-tree\x20edits\x20(<CeraphCamera>\x20→\x20<CameraView>,\x20installCeraph()\x20boot\x20wiring,\x20ceraph\x20URL\x20scheme),\x20strips\x20MCP\x20client\x20configs,\x20removes\x20gitignore\x20entries\x20+\x20the\x20shell\x20signal-host\x20export,\x20and\x20uninstalls\x20the\x20package\x20via\x20the\x20project\x27s\x20package\x20manager.\x20Default\x20leaves\x20`.ceraph/`\x20(test\x20images\x20+\x20snapshots)\x20and\x20`~/.ceraph/auth.json`\x20(user-global\x20OAuth\x20token)\x20untouched.\x20Pass\x20`purgeImages`\x20and\x20`global`\x20to\x20nuke\x20those\x20too.\x20Always\x20call\x20with\x20`dryRun:\x20true`\x20first\x20to\x20preview\x20the\x20step\x20list\x20before\x20a\x20real\x20run.',{'projectDir':_0x39299c[_0x361a8b(0x7fd)]()[_0x361a8b(0x4ac)]()['describe'](_0x361a8b(0x540)),'purgeImages':_0x39299c[_0x361a8b(0x715)]()['optional']()['describe']('If\x20true,\x20also\x20delete\x20`.ceraph/`\x20(camera\x20test\x20images\x20+\x20design\x20snapshots\x20+\x20run\x20artifacts).\x20Default\x20false.'),'global':_0x39299c[_0x361a8b(0x715)]()['optional']()[_0x361a8b(0x9de)](_0x361a8b(0x84d)),'dryRun':_0x39299c['boolean']()['optional']()[_0x361a8b(0x9de)]('If\x20true,\x20return\x20the\x20step\x20list\x20as\x20a\x20preview\x20without\x20mutating\x20anything.\x20Use\x20this\x20first\x20to\x20show\x20the\x20user\x20what\x20would\x20happen.')},async _0x2c5471=>{const _0x5e4e7f=_0x361a8b;try{const _0xd040fe=_0x2c5471[_0x5e4e7f(0x1f7)]??_0x87f5f2(),_0x24ec87=await _0x2b43af({'projectDir':_0xd040fe,'rootDir':_0x423853(_0x2c5471[_0x5e4e7f(0x1f7)],_0x87f5f2()),'purgeImages':_0x2c5471[_0x5e4e7f(0x3f8)]===!![],'global':_0x2c5471[_0x5e4e7f(0x5f5)]===!![],'dryRun':_0x2c5471['dryRun']===!![],'nonInteractive':!![],'spawnRemove':_0x37347c});return _0x1609b5(_0x2a8b70(_0x24ec87));}catch(_0x407197){return _0x2afefb('ceraph_uninstall_run',_0x407197);}});}import{promises as _0x318682}from'fs';import{pathToFileURL}from'url';import{join as _0x16851c}from'path';var _0x47dfc3=new Set([_0x3ee7d6(0x6b8),_0x3ee7d6(0x921),'supabase',_0x3ee7d6(0x32e),'cognito']),_0x529c41=[_0x3ee7d6(0x683),'.cjs','.mjs',_0x3ee7d6(0x1fc)];async function _0x53bedf(_0x1cf491){const _0x3fcb7c=_0x3ee7d6;for(const _0x367b9d of _0x529c41){const _0x37cd53=_0x16851c(_0x1cf491,'ceraph.config'+_0x367b9d);let _0x30e6f5=![];try{await _0x318682['access'](_0x37cd53),_0x30e6f5=!![];}catch{}if(!_0x30e6f5)continue;let _0x330594=null;if(_0x367b9d==='.json')try{if(_0x3fcb7c(0x2bd)!==_0x3fcb7c(0x2bd))_0x56eebe[_0x3fcb7c(0x77f)]=_0x35d2ce[_0x3fcb7c(0x77f)];else{const _0xbdcc9=await _0x318682['readFile'](_0x37cd53,_0x3fcb7c(0x29d)),_0x454627=JSON[_0x3fcb7c(0x229)](_0xbdcc9);_0x330594=_0x454627?.[_0x3fcb7c(0x469)];}}catch{return _0xb9a8f0(_0x1cf491);}else{const _0x433bb3=pathToFileURL(_0x37cd53)[_0x3fcb7c(0x6f3)]+_0x3fcb7c(0x595)+Date[_0x3fcb7c(0x3d1)](),_0xe2b8e3=await import(_0x433bb3)['catch'](()=>null);_0xe2b8e3&&(_0x330594=(_0xe2b8e3['default']&&_0xe2b8e3[_0x3fcb7c(0x33f)]['auth'])??_0xe2b8e3[_0x3fcb7c(0x469)]);}const _0x1aa723=_0x15f79f(_0x330594);if(_0x1aa723)return _0x1aa723;return _0xb9a8f0(_0x1cf491);}return _0xb9a8f0(_0x1cf491);}async function _0xb9a8f0(_0x52a1ea){const _0x121f3d=_0x3ee7d6,_0xa6bc=_0x16851c(_0x52a1ea,'.env.ceraph');try{const _0x48b928=await _0x318682[_0x121f3d(0x18d)](_0xa6bc,'utf-8'),_0x195180=_0x533762(_0x48b928),_0x32b950=_0x14963d(_0x195180);if(_0x32b950)return _0x32b950;}catch{}const _0x5cbb57=_0x14963d(process.env);if(_0x5cbb57)return _0x5cbb57;return null;}function _0x15f79f(_0x53809e){const _0x176f26=_0x3ee7d6;if(!_0x53809e||typeof _0x53809e!=='object')return null;const _0x2d2e62=_0x53809e,_0x1c3625=_0x2d2e62['provider'];if(typeof _0x1c3625!=='string')return null;if(!_0x47dfc3[_0x176f26(0x21c)](_0x1c3625))return null;const _0x10c376=_0x2d2e62['secretEnv'],_0x543b41=_0x1c3625==='cognito';if(typeof _0x10c376!=='string'){if(!_0x543b41)return null;}return{'provider':_0x1c3625,'secretEnv':typeof _0x10c376==='string'?_0x10c376:'',...typeof _0x2d2e62['domain']==='string'?{'domain':_0x2d2e62[_0x176f26(0x2f4)]}:{},...typeof _0x2d2e62['connection']===_0x176f26(0x7fd)?{'connection':_0x2d2e62[_0x176f26(0x1df)]}:{},...typeof _0x2d2e62[_0x176f26(0x29b)]===_0x176f26(0x7fd)?{'projectUrl':_0x2d2e62[_0x176f26(0x29b)]}:{},...typeof _0x2d2e62['userPoolId']==='string'?{'userPoolId':_0x2d2e62[_0x176f26(0x2c9)]}:{},...typeof _0x2d2e62['clientId']==='string'?{'clientId':_0x2d2e62['clientId']}:{},...typeof _0x2d2e62['region']===_0x176f26(0x7fd)?{'region':_0x2d2e62[_0x176f26(0x4e6)]}:{}};}function _0x14963d(_0x13da72){const _0x4b838d=_0x3ee7d6,_0x15c2d8=_0x13da72[_0x4b838d(0x55e)],_0x2b703b=_0x13da72['CERAPH_AUTH_SECRET_ENV'];if(typeof _0x15c2d8!==_0x4b838d(0x7fd)||_0x15c2d8['length']===0x0){if('TCRnh'===_0x4b838d(0x7f5))return null;else{if(_0x3cd884[_0x4b838d(0x248)]===_0x4b838d(0x96e))return!![];return _0x4f879c(_0x4ba86d[_0x4b838d(0x3f5)]);}}if(!_0x47dfc3['has'](_0x15c2d8))return null;const _0x10c4f6=_0x15c2d8==='cognito',_0x21c9af=typeof _0x2b703b===_0x4b838d(0x7fd)&&_0x2b703b['length']>0x0;if(!_0x21c9af&&!_0x10c4f6)return null;return{'provider':_0x15c2d8,'secretEnv':_0x21c9af?_0x2b703b:'',..._0x13da72[_0x4b838d(0x45b)]?{'domain':_0x13da72[_0x4b838d(0x45b)]}:{},..._0x13da72[_0x4b838d(0x534)]?{'connection':_0x13da72[_0x4b838d(0x534)]}:{},..._0x13da72['CERAPH_AUTH_PROJECT_URL']?{'projectUrl':_0x13da72['CERAPH_AUTH_PROJECT_URL']}:{},..._0x13da72['CERAPH_AUTH_USER_POOL_ID']?{'userPoolId':_0x13da72['CERAPH_AUTH_USER_POOL_ID']}:{},..._0x13da72['CERAPH_AUTH_CLIENT_ID']?{'clientId':_0x13da72['CERAPH_AUTH_CLIENT_ID']}:{},..._0x13da72['CERAPH_AUTH_REGION']?{'region':_0x13da72['CERAPH_AUTH_REGION']}:{}};}function _0x533762(_0x55f02a){const _0x269c7=_0x3ee7d6,_0x5cf58a={};for(const _0x453e3e of _0x55f02a[_0x269c7(0x814)](/\r?\n/)){const _0x1ecbcf=_0x453e3e[_0x269c7(0x5da)]();if(_0x1ecbcf['length']===0x0||_0x1ecbcf[_0x269c7(0x887)]('#'))continue;const _0x1a899a=_0x1ecbcf['indexOf']('=');if(_0x1a899a<=0x0)continue;const _0x269f90=_0x1ecbcf[_0x269c7(0x63b)](0x0,_0x1a899a)['trim']();let _0x483720=_0x1ecbcf[_0x269c7(0x63b)](_0x1a899a+0x1)[_0x269c7(0x5da)]();(_0x483720[_0x269c7(0x887)]('\x22')&&_0x483720[_0x269c7(0x3f0)]('\x22')||_0x483720[_0x269c7(0x887)]('\x27')&&_0x483720[_0x269c7(0x3f0)]('\x27'))&&(_0x483720=_0x483720['slice'](0x1,-0x1)),_0x5cf58a[_0x269f90]=_0x483720;}return _0x5cf58a;}import{promises as _0xa04a0f}from'fs';import{join as _0x166a21}from'path';var _0x51fd3d=class extends Error{[_0x3ee7d6(0x845)];constructor(_0x1e94b4,_0x55f472,_0x565673){const _0xc0bda0=_0x3ee7d6;super(_0x55f472),this[_0xc0bda0(0x4d1)]=_0xc0bda0(0x398),this['code']=_0x1e94b4;if(_0x565673!==void 0x0)this[_0xc0bda0(0x4ec)]=_0x565673;}};import{randomBytes as _0x2458d1}from'crypto';function _0x398e78(_0x3a10ac){const _0x3be148=_0x3ee7d6,_0x72b5cc=(_0x3a10ac||'user')[_0x3be148(0x17e)]()[_0x3be148(0x27d)](/[^a-z0-9-]/g,'-')[_0x3be148(0x27d)](/-+/g,'-')['replace'](/^-|-$/g,'')[_0x3be148(0x63b)](0x0,0x20),_0x9999fd=_0x2458d1(0x3)['toString']('hex');return'ceraph-'+_0x72b5cc+'-'+_0x9999fd+'@ceraph-test.local';}function _0x4434cd(){const _0x423da6=_0x3ee7d6,_0x4d4f32=_0x2458d1(0x10)['toString']('base64')[_0x423da6(0x27d)](/[^a-zA-Z0-9]/g,''),_0x12f424=_0x4d4f32[_0x423da6(0x945)]>=0x14?_0x4d4f32[_0x423da6(0x63b)](0x0,0x14):_0x4d4f32[_0x423da6(0x494)](0x14,'Aa1');return'A'+_0x12f424['slice'](0x1,0xa)+'a'+_0x12f424['slice'](0xb,0x13)+'9';}function _0x84991c(_0x274d24){const _0x45d45f=_0x3ee7d6,_0x125231=process.env[_0x274d24.secretEnv];if(typeof _0x125231!=='string'||_0x125231['length']===0x0)throw new _0x51fd3d(_0x45d45f(0x917),_0x45d45f(0x8bb)+_0x274d24['secretEnv']+_0x45d45f(0x13d));return _0x125231;}async function _0xa43e58(){const _0x42d924=_0x3ee7d6;try{return await import(_0x42d924(0x4fc));}catch(_0x268711){throw new _0x51fd3d('sdk-missing','auth\x20provider\x20\x27clerk\x27\x20requires\x20@clerk/backend\x20in\x20package.json.\x20Run:\x20npm\x20install\x20@clerk/backend',_0x268711);}}var _0x492895=class{constructor(_0x4d4ef7){const _0x191035=_0x3ee7d6;this[_0x191035(0x94b)]=_0x4d4ef7;}[_0x3ee7d6(0x1b3)]=_0x3ee7d6(0x6b8);async[_0x3ee7d6(0x110)](_0x15e17e){const _0x2afdef=_0x3ee7d6,_0x3e4cc7=_0x84991c(this['config']),_0x261446=await _0xa43e58(),_0x4c9da8=_0x261446[_0x2afdef(0x733)]({'secretKey':_0x3e4cc7});try{const _0x202c9b=await _0x4c9da8['users']['createUser']({'emailAddress':[_0x15e17e['email']],'password':_0x15e17e[_0x2afdef(0x9e6)],'skipPasswordChecks':!![],'publicMetadata':{'ceraphTestLabel':_0x15e17e['label']}});return{'providerUserId':_0x202c9b['id'],'email':_0x15e17e[_0x2afdef(0x89c)],'password':_0x15e17e[_0x2afdef(0x9e6)]};}catch(_0x43093d){if(_0x2afdef(0x8c8)!=='sEcww'){if(_0x2eda85['success'])_0xe4d31b[_0x2afdef(0x496)](_0x2afdef(0x4f8)+_0x9539d1+'\x20is\x20not\x20installed');else{const _0x389f4d=_0x4d3143['error']?':\x20'+_0x3199ce[_0x2afdef(0x125)]:'';_0x30e92c['push'](_0x2afdef(0x1e0)+_0x389f4d);}}else{const _0x2bfc37=_0x43093d?.[_0x2afdef(0x3c9)],_0x115aa5=Array['isArray'](_0x2bfc37)&&_0x2bfc37['some'](_0x36065d=>_0x36065d?.['code']===_0x2afdef(0x5fe));if(_0x115aa5)throw new _0x51fd3d('user-exists',_0x2afdef(0x528),_0x43093d);const _0x17fc38=_0x43093d?.['message']??String(_0x43093d),_0x5a7c02=/already taken|exists|conflict|duplicate/i[_0x2afdef(0x364)](_0x17fc38)?_0x2afdef(0x4cc):'api-error';throw new _0x51fd3d(_0x5a7c02,'Clerk\x20createUser\x20failed:\x20'+_0x17fc38,_0x43093d);}}}async['cleanup'](_0x2feee4){const _0x54071e=_0x3ee7d6,_0x5c5804=_0x84991c(this[_0x54071e(0x94b)]),_0x4bf0c1=await _0xa43e58(),_0x2b7f76=_0x4bf0c1['createClerkClient']({'secretKey':_0x5c5804});try{await _0x2b7f76[_0x54071e(0x57d)][_0x54071e(0x4fd)](_0x2feee4);}catch(_0x4a7cd1){const _0x2fde36=_0x4a7cd1?.['message']??String(_0x4a7cd1),_0x3cefa4=_0x4a7cd1?.['status']??_0x4a7cd1?.[_0x54071e(0x263)];if(_0x3cefa4===0x194||/not[\s_-]?found|resource not found/i['test'](_0x2fde36))return;throw new _0x51fd3d('api-error',_0x54071e(0xea)+_0x2fde36,_0x4a7cd1);}}};async function _0x50dc1b(){const _0x5030fd=_0x3ee7d6;try{return await import(_0x5030fd(0x921));}catch(_0x347ef3){throw new _0x51fd3d(_0x5030fd(0x5d1),'auth\x20provider\x20\x27auth0\x27\x20requires\x20auth0\x20in\x20package.json.\x20Run:\x20npm\x20install\x20auth0',_0x347ef3);}}var _0x5c809e=_0x3ee7d6(0x368),_0x3d1d35=class{constructor(_0x5288ef){const _0x4d0be9=_0x3ee7d6;this[_0x4d0be9(0x94b)]=_0x5288ef;}['providerId']=_0x3ee7d6(0x921);async[_0x3ee7d6(0x110)](_0x3ba76b){const _0x3a8307=_0x3ee7d6;if(!this[_0x3a8307(0x94b)][_0x3a8307(0x2f4)])throw new _0x51fd3d('api-error',_0x3a8307(0x7c1));const _0x51e3fa=_0x84991c(this[_0x3a8307(0x94b)]),_0x1d70a7=await _0x50dc1b(),_0x59ca51=new _0x1d70a7['ManagementClient']({'domain':this[_0x3a8307(0x94b)][_0x3a8307(0x2f4)],'token':_0x51e3fa}),_0x4e70f5=this[_0x3a8307(0x94b)]['connection']??_0x5c809e;try{const _0x526bc2=await _0x59ca51[_0x3a8307(0x57d)]['create']({'connection':_0x4e70f5,'email':_0x3ba76b[_0x3a8307(0x89c)],'password':_0x3ba76b['password'],'email_verified':!![],'app_metadata':{'ceraphTestLabel':_0x3ba76b[_0x3a8307(0x10d)]}}),_0x363e01=_0x526bc2['data']?.[_0x3a8307(0x807)]??_0x526bc2['user_id'];if(!_0x363e01){if('GEoCI'===_0x3a8307(0x803))throw new _0x51fd3d('api-error','Auth0\x20createUser\x20returned\x20no\x20user_id.');else{const _0x48c941=_0xe9c7e1['parse'](_0x38c988);_0x48c941&&typeof _0x48c941==='object'?_0x42ccad(_0x48c941):_0xaf2b3(null);}}return{'providerUserId':_0x363e01,'email':_0x3ba76b['email'],'password':_0x3ba76b['password']};}catch(_0x3f5d67){if(_0x3f5d67 instanceof _0x51fd3d)throw _0x3f5d67;const _0x4e13ab=_0x3f5d67?.[_0x3a8307(0x92e)]??String(_0x3f5d67),_0x4747f4=/exists|conflict|duplicate/i[_0x3a8307(0x364)](_0x4e13ab)?'user-exists':'api-error';throw new _0x51fd3d(_0x4747f4,_0x3a8307(0x91e)+_0x4e13ab,_0x3f5d67);}}async['cleanup'](_0x4be762){const _0x3bbd01=_0x3ee7d6;if(!this['config']['domain']){if('AvDMA'!=='RlEzA')throw new _0x51fd3d('api-error',_0x3bbd01(0x3ca));else return{'applied':![],'reason':'not-darwin'};}const _0xf574d7=_0x84991c(this[_0x3bbd01(0x94b)]),_0x37309e=await _0x50dc1b(),_0x53af7b=new _0x37309e[(_0x3bbd01(0x9fa))]({'domain':this['config']['domain'],'token':_0xf574d7});try{await _0x53af7b[_0x3bbd01(0x57d)][_0x3bbd01(0x14d)]({'id':_0x4be762});}catch(_0x114914){const _0x41db56=_0x114914?.[_0x3bbd01(0x92e)]??String(_0x114914),_0x52c4c4=_0x114914?.['statusCode']??_0x114914?.[_0x3bbd01(0x9d0)];if(_0x52c4c4===0x194||/not[\s_-]?found/i[_0x3bbd01(0x364)](_0x41db56))return;throw new _0x51fd3d('api-error','Auth0\x20deleteUser\x20failed:\x20'+_0x41db56,_0x114914);}}};async function _0x35b898(){const _0x109b0e=_0x3ee7d6;try{return await import('@supabase/supabase-js');}catch(_0x23c3a8){throw new _0x51fd3d(_0x109b0e(0x5d1),'auth\x20provider\x20\x27supabase\x27\x20requires\x20@supabase/supabase-js\x20in\x20package.json.\x20Run:\x20npm\x20install\x20@supabase/supabase-js',_0x23c3a8);}}var _0x2f7961=class{constructor(_0xb64bb5){const _0x4aac00=_0x3ee7d6;this[_0x4aac00(0x94b)]=_0xb64bb5;}[_0x3ee7d6(0x1b3)]='supabase';async['provision'](_0x45901a){const _0x12024c=_0x3ee7d6;if(!this[_0x12024c(0x94b)][_0x12024c(0x29b)])throw new _0x51fd3d('api-error',_0x12024c(0x8bd));const _0x157cfc=_0x84991c(this[_0x12024c(0x94b)]),_0x5aa21f=await _0x35b898(),_0x132e3b=_0x5aa21f[_0x12024c(0x380)](this[_0x12024c(0x94b)]['projectUrl'],_0x157cfc,{'auth':{'autoRefreshToken':![],'persistSession':![]}});try{const _0x37a290=await _0x132e3b[_0x12024c(0x469)]['admin'][_0x12024c(0x5e5)]({'email':_0x45901a['email'],'password':_0x45901a[_0x12024c(0x9e6)],'email_confirm':!![],'user_metadata':{'ceraphTestLabel':_0x45901a[_0x12024c(0x10d)]}});if(_0x37a290[_0x12024c(0x125)]){const _0x3c1278=_0x37a290['error']['message'],_0x1bed86=/exists|already registered|duplicate/i['test'](_0x3c1278)?_0x12024c(0x4cc):_0x12024c(0x2d6);throw new _0x51fd3d(_0x1bed86,_0x12024c(0x450)+_0x3c1278);}const _0x4eacc8=_0x37a290[_0x12024c(0x978)]['user'];if(!_0x4eacc8)throw new _0x51fd3d(_0x12024c(0x2d6),_0x12024c(0x890));return{'providerUserId':_0x4eacc8['id'],'email':_0x45901a[_0x12024c(0x89c)],'password':_0x45901a[_0x12024c(0x9e6)]};}catch(_0x2eddae){if(_0x2eddae instanceof _0x51fd3d)throw _0x2eddae;throw new _0x51fd3d(_0x12024c(0x2d6),'Supabase\x20createUser\x20failed:\x20'+(_0x2eddae?.['message']??String(_0x2eddae)),_0x2eddae);}}async['cleanup'](_0x12dc25){const _0x4c8250=_0x3ee7d6;if(!this[_0x4c8250(0x94b)]['projectUrl'])throw new _0x51fd3d(_0x4c8250(0x2d6),_0x4c8250(0x282));const _0x27d464=_0x84991c(this[_0x4c8250(0x94b)]),_0xe09c09=await _0x35b898(),_0x1c616f=_0xe09c09[_0x4c8250(0x380)](this[_0x4c8250(0x94b)][_0x4c8250(0x29b)],_0x27d464,{'auth':{'autoRefreshToken':![],'persistSession':![]}});try{if(_0x4c8250(0x9ca)===_0x4c8250(0x672))return{..._0x35642f({'ok':![],'error':'ceraph_test_data_cleanup\x20requires\x20either\x20`id`\x20(single\x20user)\x20or\x20`all:\x20true`\x20(wipe).'}),'isError':!![]};else{const _0x1c28f4=await _0x1c616f['auth']['admin']['deleteUser'](_0x12dc25);if(_0x1c28f4[_0x4c8250(0x125)]){const _0x2f45d7=_0x1c28f4[_0x4c8250(0x125)]['message'];if(/not[\s_-]?found|404/i[_0x4c8250(0x364)](_0x2f45d7))return;throw new _0x51fd3d(_0x4c8250(0x2d6),'Supabase\x20deleteUser\x20failed:\x20'+_0x2f45d7);}}}catch(_0x2b78e3){if(_0x2b78e3 instanceof _0x51fd3d)throw _0x2b78e3;const _0x1b857e=_0x2b78e3?.[_0x4c8250(0x92e)]??String(_0x2b78e3);if(/not[\s_-]?found|404/i[_0x4c8250(0x364)](_0x1b857e))return;throw new _0x51fd3d(_0x4c8250(0x2d6),_0x4c8250(0x7b4)+_0x1b857e,_0x2b78e3);}}};async function _0xc4990b(){const _0x291382=_0x3ee7d6;try{const _0xa6c5b6=await import('firebase-admin'),_0x240775=_0xa6c5b6['default']??_0xa6c5b6;if(!_0x240775[_0x291382(0x75d)])throw new Error('firebase-admin\x20module\x20has\x20no\x20initializeApp');return _0x240775;}catch(_0x2d6960){throw new _0x51fd3d('sdk-missing',_0x291382(0x171),_0x2d6960);}}function _0x3ad3f7(_0x191201){try{const _0xa18cc0=JSON['parse'](_0x191201);if(_0xa18cc0&&typeof _0xa18cc0==='object')return _0xa18cc0;}catch{}return _0x191201;}var _0x3391d1=class{constructor(_0x52f56a){const _0x26bf0a=_0x3ee7d6;this['config']=_0x52f56a,this['appName']=_0x26bf0a(0x514)+Date[_0x26bf0a(0x3d1)]()+'-'+Math[_0x26bf0a(0x271)]()[_0x26bf0a(0x510)](0x24)['slice'](0x2);}[_0x3ee7d6(0x1b3)]='firebase';[_0x3ee7d6(0x5cf)];async[_0x3ee7d6(0x79a)](){const _0x49d82f=_0x3ee7d6,_0x380113=_0x84991c(this[_0x49d82f(0x94b)]),_0x87e89d=await _0xc4990b(),_0x5266e4=_0x87e89d[_0x49d82f(0x8a0)][_0x49d82f(0x397)](_0x3ad3f7(_0x380113));let _0x5cd455;try{_0x5cd455=_0x87e89d['initializeApp']({'credential':_0x5266e4},this[_0x49d82f(0x5cf)]);}catch(_0x58421e){const _0x2d9d2c=_0x58421e?.[_0x49d82f(0x92e)]??String(_0x58421e);if(/already exists/i[_0x49d82f(0x364)](_0x2d9d2c))_0x5cd455=_0x87e89d[_0x49d82f(0x44c)](this['appName']);else throw _0x58421e;}return{'auth':_0x87e89d[_0x49d82f(0x469)](_0x5cd455),'app':_0x5cd455};}async['provision'](_0xe72fb0){const _0x1160ad=_0x3ee7d6,{auth:_0x232c53,app:_0x31065a}=await this[_0x1160ad(0x79a)]();try{const _0xcdbe88=await _0x232c53[_0x1160ad(0x5e5)]({'email':_0xe72fb0[_0x1160ad(0x89c)],'password':_0xe72fb0[_0x1160ad(0x9e6)],'emailVerified':!![],'displayName':_0x1160ad(0x702)+_0xe72fb0['label']+')'}),_0x5594ce=await _0x232c53['createCustomToken'](_0xcdbe88['uid'],{'ceraphTestLabel':_0xe72fb0['label']})['catch'](()=>void 0x0);return{'providerUserId':_0xcdbe88['uid'],'email':_0xe72fb0['email'],'password':_0xe72fb0['password'],..._0x5594ce?{'sessionToken':_0x5594ce}:{}};}catch(_0x1617a6){const _0xa9953b=_0x1617a6?.[_0x1160ad(0x92e)]??String(_0x1617a6),_0x2c09ed=/exists|already-exists|duplicate/i['test'](_0xa9953b)?_0x1160ad(0x4cc):_0x1160ad(0x2d6);throw new _0x51fd3d(_0x2c09ed,'Firebase\x20createUser\x20failed:\x20'+_0xa9953b,_0x1617a6);}finally{_0x1160ad(0x516)!=='JTPLf'?_0x4b574f(_0xe7bb1c,_0x2a77a6,[]):await _0x31065a['delete']()[_0x1160ad(0x4ba)](()=>void 0x0);}}async[_0x3ee7d6(0x319)](_0x919122){const _0x2c76a9=_0x3ee7d6,{auth:_0x53db80,app:_0x519e6a}=await this[_0x2c76a9(0x79a)]();try{await _0x53db80[_0x2c76a9(0x4fd)](_0x919122);}catch(_0x42cdfd){if('Sovbq'!=='Sovbq')_0x4a45d6=_0x22ba69(_0x4f06e8[_0x2c76a9(0x4ff)]);else{const _0x479822=_0x42cdfd?.[_0x2c76a9(0x845)],_0xa7a50e=_0x42cdfd?.['message']??String(_0x42cdfd);if(_0x479822==='auth/user-not-found'||/user-not-found|no user record|not[\s_-]?found/i['test'](_0xa7a50e))return;throw new _0x51fd3d('api-error',_0x2c76a9(0x3a5)+_0xa7a50e,_0x42cdfd);}}finally{await _0x519e6a['delete']()[_0x2c76a9(0x4ba)](()=>void 0x0);}}};async function _0xa6ad2e(){const _0x3828dd=_0x3ee7d6;try{return await import(_0x3828dd(0x318));}catch(_0x4cee95){throw new _0x51fd3d(_0x3828dd(0x5d1),'auth\x20provider\x20\x27cognito\x27\x20requires\x20@aws-sdk/client-cognito-identity-provider\x20in\x20package.json.\x20Run:\x20npm\x20install\x20@aws-sdk/client-cognito-identity-provider',_0x4cee95);}}var _0x892ae=class{constructor(_0x5523df){const _0x14ee7e=_0x3ee7d6;this[_0x14ee7e(0x94b)]=_0x5523df;}[_0x3ee7d6(0x1b3)]='cognito';['buildClient'](_0xfa0ad4){const _0x315d1b=_0x3ee7d6,_0x4a1cce=((()=>{try{return _0x84991c(this['config']);}catch{return null;}})()),_0x817619=process.env.AWS_SECRET_ACCESS_KEY,_0x5de585=_0x4a1cce&&_0x817619?{'accessKeyId':_0x4a1cce,'secretAccessKey':_0x817619}:void 0x0;return new _0xfa0ad4[(_0x315d1b(0x1d8))]({'region':this['config']['region']??process.env.AWS_REGION,..._0x5de585?{'credentials':_0x5de585}:{}});}async[_0x3ee7d6(0x110)](_0x3c30d7){const _0x23e693=_0x3ee7d6;if(!this['config'][_0x23e693(0x2c9)])throw new _0x51fd3d('api-error',_0x23e693(0x769));const _0x46b70b=await _0xa6ad2e(),_0x269fcc=this[_0x23e693(0x546)](_0x46b70b);try{return await _0x269fcc['send'](new _0x46b70b['AdminCreateUserCommand']({'UserPoolId':this[_0x23e693(0x94b)][_0x23e693(0x2c9)],'Username':_0x3c30d7['email'],'TemporaryPassword':_0x3c30d7[_0x23e693(0x9e6)],'MessageAction':_0x23e693(0x3e4),'UserAttributes':[{'Name':_0x23e693(0x89c),'Value':_0x3c30d7[_0x23e693(0x89c)]},{'Name':_0x23e693(0x178),'Value':_0x23e693(0x704)}]})),await _0x269fcc['send'](new _0x46b70b[(_0x23e693(0x4c3))]({'UserPoolId':this['config'][_0x23e693(0x2c9)],'Username':_0x3c30d7['email'],'Password':_0x3c30d7[_0x23e693(0x9e6)],'Permanent':!![]})),{'providerUserId':_0x3c30d7[_0x23e693(0x89c)],'email':_0x3c30d7[_0x23e693(0x89c)],'password':_0x3c30d7[_0x23e693(0x9e6)]};}catch(_0x5730ea){const _0x381455=_0x5730ea?.[_0x23e693(0x92e)]??String(_0x5730ea),_0xd14736=/UsernameExistsException|already exists/i['test'](_0x381455)?'user-exists':'api-error';throw new _0x51fd3d(_0xd14736,_0x23e693(0x4b2)+_0x381455,_0x5730ea);}}async[_0x3ee7d6(0x319)](_0x15f976){const _0x258097=_0x3ee7d6;if(!this['config']['userPoolId'])throw new _0x51fd3d(_0x258097(0x2d6),_0x258097(0x6f0));const _0x2a2f06=await _0xa6ad2e(),_0x49a5d0=this['buildClient'](_0x2a2f06);try{await _0x49a5d0[_0x258097(0x2c5)](new _0x2a2f06[(_0x258097(0x48f))]({'UserPoolId':this['config'][_0x258097(0x2c9)],'Username':_0x15f976}));}catch(_0x3dbe81){const _0x27ab74=_0x3dbe81?.[_0x258097(0x4d1)],_0x3f8d3=_0x3dbe81?.[_0x258097(0x92e)]??String(_0x3dbe81);if(_0x27ab74==='UserNotFoundException'||/UserNotFoundException|user does not exist|not[\s_-]?found/i[_0x258097(0x364)](_0x3f8d3))return;throw new _0x51fd3d('api-error',_0x258097(0x8f9)+_0x3f8d3,_0x3dbe81);}}},_0x2c3461={'clerk':_0x3ee7d6(0x4fc),'auth0':'auth0','supabase':'@supabase/supabase-js','firebase':_0x3ee7d6(0x1c2),'cognito':_0x3ee7d6(0x318)},_0x16c3ed={'clerk':_0x492895,'auth0':_0x3d1d35,'supabase':_0x2f7961,'firebase':_0x3391d1,'cognito':_0x892ae};async function _0xf580df(_0x3a8f07,_0x5c1191){const _0x2f5447=_0x3ee7d6,_0x42c4b3=_0x2c3461[_0x5c1191['provider']],_0x50e3eb=await _0x111568(_0x3a8f07,_0x42c4b3);if(!_0x50e3eb)throw new _0x51fd3d(_0x2f5447(0x5d1),_0x2f5447(0x83d)+_0x5c1191['provider']+'\x27\x20requires\x20'+_0x42c4b3+_0x2f5447(0x796)+_0x42c4b3);const _0x150277=_0x16c3ed[_0x5c1191['provider']];return new _0x150277(_0x5c1191);}async function _0x111568(_0x402322,_0xe21a4a){const _0x3de4e2=_0x3ee7d6;try{const _0x2769a4=await _0xa04a0f[_0x3de4e2(0x18d)](_0x166a21(_0x402322,_0x3de4e2(0x833)),_0x3de4e2(0x29d)),_0x172f39=JSON['parse'](_0x2769a4),_0x506a95=[_0x172f39[_0x3de4e2(0x5d2)],_0x172f39['devDependencies'],_0x172f39[_0x3de4e2(0x268)],_0x172f39['optionalDependencies']];for(const _0x2da756 of _0x506a95){if(_0x2da756&&Object[_0x3de4e2(0x7c8)][_0x3de4e2(0x39c)][_0x3de4e2(0x4b7)](_0x2da756,_0xe21a4a))return!![];}return![];}catch{if('UKzOf'!=='UKzOf')_0x55e3a7[_0x3de4e2(0x60e)]();else return![];}}import{randomUUID}from'crypto';var _0x4cc2bc=0x18*0x3c*0x3c*0x3e8,_0x4907a9=class{constructor(_0x212883){const _0x2243ef=_0x3ee7d6;this['opts']=_0x212883,this[_0x2243ef(0x5dc)]=_0x212883['onDemandTtlMs']??_0x4cc2bc,this[_0x2243ef(0x9d1)]=_0x212883['jitLabel']??_0x2243ef(0x2b8),this[_0x2243ef(0x9bf)]=new Promise(_0x5cbae0=>{const _0x248288=_0x2243ef;if(_0x212883[_0x248288(0x403)]!==void 0x0){if('mjclv'!=='mjclv')return{'success':![],'error':_0x2b4bdc[_0x248288(0x125)]};else _0x5cbae0();}else this['readyResolve']=_0x5cbae0;});}['jitUser']=null;['onDemandTtlMs'];[_0x3ee7d6(0x9d1)];['readyResolve']=null;[_0x3ee7d6(0x9bf)];[_0x3ee7d6(0x4c0)](_0xe9823d){const _0x1c4f97=_0x3ee7d6;this['opts'][_0x1c4f97(0x403)]=_0xe9823d,this['readyResolve']&&(this[_0x1c4f97(0x2ee)](),this['readyResolve']=null);}[_0x3ee7d6(0x7ce)](){return this['readyPromise'];}[_0x3ee7d6(0x676)](){const _0x579796=_0x3ee7d6;return this[_0x579796(0x217)][_0x579796(0x403)]!=null;}async[_0x3ee7d6(0x2ad)](){const _0x3683f2=_0x3ee7d6;return this[_0x3683f2(0x217)][_0x3683f2(0x2ad)]();}async[_0x3ee7d6(0x72b)](){const _0x3a3d76=_0x3ee7d6;await this['whenReady']();if(this['jitUser'])return{'user':this['jitUser'],'fresh':![]};if(!this['opts'][_0x3a3d76(0x403)])throw new _0x51fd3d('not-configured','No\x20auth\x20provider\x20configured.\x20Add\x20`auth:\x20{\x20provider,\x20secretEnv\x20}`\x20to\x20ceraph.config.js\x20to\x20enable\x20JIT\x20test-user\x20provisioning.');const _0x523cb0=_0x398e78(this['jitLabel']),_0x6bf470=_0x4434cd(),_0x50db21=await this['opts'][_0x3a3d76(0x403)]['provision']({'email':_0x523cb0,'password':_0x6bf470,'label':this['jitLabel']}),_0x2d8002={'id':randomUUID(),'providerUserId':_0x50db21['providerUserId'],'email':_0x50db21[_0x3a3d76(0x89c)],'password':_0x50db21['password'],..._0x50db21[_0x3a3d76(0x5ca)]?{'sessionToken':_0x50db21[_0x3a3d76(0x5ca)]}:{},'tier':_0x3a3d76(0x2b8),'createdAt':new Date()[_0x3a3d76(0x4a0)]()};return await this[_0x3a3d76(0x217)]['store'][_0x3a3d76(0x1db)](async()=>{const _0x568d7b=_0x3a3d76,_0x554cbe=await this[_0x568d7b(0x217)][_0x568d7b(0x904)]['load']();await this[_0x568d7b(0x217)]['store']['save']([..._0x554cbe,_0x2d8002]);}),this[_0x3a3d76(0x609)]=_0x2d8002,{'user':_0x2d8002,'fresh':!![]};}[_0x3ee7d6(0x3ce)](){const _0x3398f5=_0x3ee7d6;return this[_0x3398f5(0x609)];}async[_0x3ee7d6(0x502)](_0x444872={}){const _0x121ffc=_0x3ee7d6;await this[_0x121ffc(0x7ce)]();if(!this['opts'][_0x121ffc(0x403)])throw new _0x51fd3d('not-configured','No\x20auth\x20provider\x20configured.\x20Add\x20`auth:\x20{\x20provider,\x20secretEnv\x20}`\x20to\x20ceraph.config.js\x20to\x20enable\x20on-demand\x20test-user\x20provisioning.');const _0x1d7a8c=_0x444872['tag']??'on-demand',_0x514831=_0x398e78(_0x1d7a8c),_0x470096=_0x4434cd(),_0x5696dc=await this[_0x121ffc(0x217)]['adapter']['provision']({'email':_0x514831,'password':_0x470096,'label':_0x1d7a8c}),_0xd31e0c=Date[_0x121ffc(0x3d1)](),_0x5e2de9={'id':randomUUID(),'providerUserId':_0x5696dc[_0x121ffc(0x1a7)],'email':_0x5696dc['email'],'password':_0x5696dc[_0x121ffc(0x9e6)],..._0x5696dc['sessionToken']?{'sessionToken':_0x5696dc[_0x121ffc(0x5ca)]}:{},'tier':'on-demand','createdAt':new Date(_0xd31e0c)[_0x121ffc(0x4a0)](),..._0x444872['tag']?{'tag':_0x444872['tag']}:{},'ttlExpiresAt':new Date(_0xd31e0c+this['onDemandTtlMs'])['toISOString']()};return await this[_0x121ffc(0x217)]['store'][_0x121ffc(0x1db)](async()=>{const _0x5b1ffb=_0x121ffc,_0x352674=await this['opts'][_0x5b1ffb(0x904)]['load']();await this[_0x5b1ffb(0x217)]['store']['save']([..._0x352674,_0x5e2de9]);}),{'user':_0x5e2de9,'fresh':!![]};}async['listOnDemand'](){const _0x1ea1eb=_0x3ee7d6;await this['whenReady']();const _0x27ae0f=await this['opts'][_0x1ea1eb(0x904)][_0x1ea1eb(0x777)]();return _0x27ae0f['filter'](_0x321028=>_0x321028[_0x1ea1eb(0x7a9)]==='on-demand');}async['cleanup'](_0x190fcf){const _0x3aaa23=_0x3ee7d6;return await this[_0x3aaa23(0x7ce)](),this['opts'][_0x3aaa23(0x904)][_0x3aaa23(0x1db)](async()=>{const _0x2e705e=_0x3aaa23,_0x3cbbd5=await this['opts']['store'][_0x2e705e(0x777)]();let _0x1c0808;if(_0x190fcf[_0x2e705e(0x9a6)])_0x1c0808=_0x3cbbd5[_0x2e705e(0x65c)](_0x2aad2c=>_0x2aad2c[_0x2e705e(0x7a9)]==='on-demand');else{if(_0x190fcf['id']){if('snKmL'==='VJZch'){const _0x1d6d73=_0x53ccb6(_0x7c3267[_0x2e705e(0x1b0)][_0x1e6eb8]);if(_0x1d6d73)return{..._0x4de9ba({'success':![],'error':'queries['+_0x376041+']:\x20'+_0x1d6d73}),'isError':!![]};}else _0x1c0808=_0x3cbbd5['filter'](_0x35ab51=>_0x35ab51['id']===_0x190fcf['id']&&_0x35ab51[_0x2e705e(0x7a9)]===_0x2e705e(0x46d));}else return{'deleted':0x0};}for(const _0x5d26be of _0x1c0808){await this['cleanupOne'](_0x5d26be);}const _0x4c67a8=_0x3cbbd5[_0x2e705e(0x65c)](_0x128e57=>!_0x1c0808[_0x2e705e(0x2a5)](_0x3e1ae0=>_0x3e1ae0['id']===_0x128e57['id']));return await this[_0x2e705e(0x217)]['store'][_0x2e705e(0x47d)](_0x4c67a8),{'deleted':_0x1c0808[_0x2e705e(0x945)]};});}async['sweepExpired'](){const _0x58da5c=_0x3ee7d6;return await this['whenReady'](),this[_0x58da5c(0x217)]['store']['withLock'](async()=>{const _0x4bc0ac=_0x58da5c,_0x46e33b=await this[_0x4bc0ac(0x217)][_0x4bc0ac(0x904)][_0x4bc0ac(0x777)](),_0x547391=new Date(),_0x5105e3=_0x46e33b[_0x4bc0ac(0x65c)](_0x4513e6=>_0x4513e6['tier']==='on-demand'&&_0x4513e6[_0x4bc0ac(0x4f2)]!==void 0x0&&new Date(_0x4513e6['ttlExpiresAt'])<=_0x547391);if(_0x5105e3['length']===0x0)return{'expired':0x0};for(const _0x480502 of _0x5105e3){await this[_0x4bc0ac(0x4fe)](_0x480502);}const _0x2014ad=_0x46e33b[_0x4bc0ac(0x65c)](_0x186541=>!_0x5105e3['some'](_0x2a17d5=>_0x2a17d5['id']===_0x186541['id']));return await this['opts']['store'][_0x4bc0ac(0x47d)](_0x2014ad),{'expired':_0x5105e3['length']};});}async[_0x3ee7d6(0x6de)](){const _0x1fe7c1=_0x3ee7d6;await this['whenReady']();const _0x3e2599=this[_0x1fe7c1(0x609)];if(!_0x3e2599)return;this[_0x1fe7c1(0x609)]=null;if(this[_0x1fe7c1(0x217)]['adapter'])try{await this[_0x1fe7c1(0x217)][_0x1fe7c1(0x403)]['cleanup'](_0x3e2599[_0x1fe7c1(0x1a7)]);}catch(_0x41d9f3){console['error']('[ceraph-test-data]\x20JIT\x20cleanup\x20failed\x20for\x20'+_0x3e2599[_0x1fe7c1(0x89c)]+':\x20'+(_0x41d9f3?.[_0x1fe7c1(0x92e)]??String(_0x41d9f3)));}await this[_0x1fe7c1(0x217)][_0x1fe7c1(0x904)][_0x1fe7c1(0x1db)](async()=>{const _0x32f8bf=_0x1fe7c1;if('tBpVh'===_0x32f8bf(0x75c))return this[_0x32f8bf(0x9bf)];else{const _0x55f8bd=await this['opts']['store']['load']();await this['opts'][_0x32f8bf(0x904)]['save'](_0x55f8bd[_0x32f8bf(0x65c)](_0x5bb289=>_0x5bb289['id']!==_0x3e2599['id']));}});}async['restartApp'](_0x2a3287,_0x319029){const _0x568e96=_0x3ee7d6;await _0x319029['terminateApp'](_0x2a3287)['catch'](()=>void 0x0),await new Promise(_0x3d8062=>setTimeout(_0x3d8062,0x1f4)),await _0x319029[_0x568e96(0x926)](_0x2a3287)['catch'](()=>void 0x0);}async[_0x3ee7d6(0x4fe)](_0x26bd06){const _0x523813=_0x3ee7d6;if(!this['opts']['adapter'])return;try{await this[_0x523813(0x217)]['adapter'][_0x523813(0x319)](_0x26bd06['providerUserId']);}catch(_0x5370ba){console['error'](_0x523813(0x38b)+_0x26bd06['email']+':\x20'+(_0x5370ba?.['message']??String(_0x5370ba)));}}};import{promises as _0x14a611}from'fs';import{homedir as _0x1b47b7}from'os';import{dirname as _0x45ac0c,join as _0x35a908}from'path';function _0x159c76(_0x44d9ff){return _0x44d9ff['replace'](/[^a-zA-Z0-9_-]/g,'_')['slice'](0x0,0x40);}function _0x37665a(){const _0x217a61=_0x3ee7d6;return _0x35a908(_0x1b47b7(),_0x217a61(0x5d3),_0x217a61(0x745));}function _0x3fa23a(_0xae3471,_0x454482={}){const _0x2036dc=_0x3ee7d6,_0x44ab30=_0x454482[_0x2036dc(0x983)]??_0x37665a(),_0xf40dac=_0x35a908(_0x44ab30,_0x159c76(_0xae3471)+_0x2036dc(0x1fc)),_0x2566d7=async _0x156961=>{const _0x5dc800=_0x2036dc;await _0x14a611[_0x5dc800(0x88d)](_0x45ac0c(_0xf40dac),{'recursive':!![],'mode':0x1c0});const _0x2e86a3=_0xf40dac+'.tmp.'+process[_0x5dc800(0x135)]+'.'+Math['random']()[_0x5dc800(0x510)](0x24)[_0x5dc800(0x63b)](0x2);try{await _0x14a611[_0x5dc800(0x352)](_0x2e86a3,_0x156961,'utf-8'),await _0x14a611['rename'](_0x2e86a3,_0xf40dac);}catch(_0x8654b1){try{await _0x14a611['unlink'](_0x2e86a3);}catch{}throw _0x8654b1;}};let _0x48e38b=Promise['resolve']();return{async 'load'(){let _0x48988f;try{_0x48988f=await _0x14a611['readFile'](_0xf40dac,'utf-8');}catch{return[];}let _0x24c95f;try{_0x24c95f=JSON['parse'](_0x48988f);}catch{return[];}if(!Array['isArray'](_0x24c95f))return[];const _0x21fb4f=[];for(const _0x186e95 of _0x24c95f){if(_0xe06ba4(_0x186e95))_0x21fb4f['push'](_0x186e95);}return _0x21fb4f;},async 'save'(_0x201626){const _0x5e45eb=_0x2036dc;if(_0x5e45eb(0x977)==='CJZIG'){const _0x2ce4a2=_0x5b9b44[_0x5e45eb(0x7bd)](_0x192dc7=>_0x192dc7['udid']===_0x23a331['udid']);if(!_0x2ce4a2)return{'ok':![],'reason':_0x5e45eb(0x5e3),'error':_0x5e45eb(0x981)+_0x5e19e1[_0x5e45eb(0x737)]+_0x5e45eb(0x80c)+_0x106dd0[_0x5e45eb(0x986)](_0xd2a323=>_0xd2a323[_0x5e45eb(0x4d1)]+'\x20('+_0xd2a323['udid']+')')['join'](',\x20')+'.'};_0x4ff1ee=_0x2ce4a2;}else await _0x2566d7(JSON['stringify'](_0x201626,null,0x2));},'getPath'(){return _0xf40dac;},async 'withLock'(_0xa19af6){const _0x1f2678=_0x2036dc,_0x29e8e5=_0x48e38b;let _0x111714=()=>{};_0x48e38b=new Promise(_0x1ee9b6=>{if('QhsSa'!=='VsjRX')_0x111714=_0x1ee9b6;else try{_0x29a324['kill']('SIGKILL');}catch{}});try{return await _0x29e8e5[_0x1f2678(0x4ba)](()=>void 0x0),await _0xa19af6();}finally{_0x111714();}}};}function _0xe06ba4(_0x3d96d4){const _0x4eaf56=_0x3ee7d6;if(!_0x3d96d4||typeof _0x3d96d4!=='object')return![];const _0x553581=_0x3d96d4;if(typeof _0x553581['id']!=='string'||_0x553581['id'][_0x4eaf56(0x945)]===0x0)return![];if(typeof _0x553581['providerUserId']!=='string')return![];if(typeof _0x553581['email']!=='string'||_0x553581['email']['length']===0x0)return![];if(typeof _0x553581[_0x4eaf56(0x9e6)]!=='string')return![];if(_0x553581['tier']!==_0x4eaf56(0x2b8)&&_0x553581['tier']!=='on-demand')return![];if(typeof _0x553581[_0x4eaf56(0x214)]!==_0x4eaf56(0x7fd))return![];if(_0x553581[_0x4eaf56(0x5ca)]!==void 0x0&&typeof _0x553581['sessionToken']!==_0x4eaf56(0x7fd))return![];if(_0x553581[_0x4eaf56(0x61f)]!==void 0x0&&typeof _0x553581[_0x4eaf56(0x61f)]!=='string')return![];if(_0x553581['ttlExpiresAt']!==void 0x0&&typeof _0x553581[_0x4eaf56(0x4f2)]!==_0x4eaf56(0x7fd))return![];return!![];}import{z as _0x2c6512}from'zod';function _0x1ad714(_0x3a0563){const _0x385d47=_0x3ee7d6;return{'content':[{'type':_0x385d47(0x5d9),'text':JSON[_0x385d47(0x2c1)](_0x3a0563,null,0x2)}]};}var _0x2f0e3a='Auth-bypass\x20test-user\x20provisioning\x20is\x20a\x20Pro-tier\x20feature.\x20Upgrade\x20at\x20https://ceraph.dev/billing\x20or\x20run\x20without\x20the\x20auth-bypass\x20tool\x20—\x20JIT\x20provisioning\x20still\x20works\x20automatically\x20during\x20chain\x20runs.';function _0x2ba9f1(_0xf85fe3,_0x30dddd){const _0x38db54=_0x3ee7d6;_0xf85fe3['tool'](_0x38db54(0x568),'Mint\x20a\x20managed\x20test\x20user\x20via\x20the\x20configured\x20auth\x20provider\x20(Clerk\x20/\x20Auth0\x20/\x20Supabase\x20/\x20Firebase\x20/\x20Cognito).\x20Returns\x20email\x20+\x20password\x20(+\x20sessionToken\x20when\x20the\x20provider\x20exposes\x20one)\x20for\x20use\x20in\x20test\x20scripts.\x2024-hour\x20TTL\x20—\x20expired\x20users\x20are\x20swept\x20on\x20the\x20next\x20MCP\x20startup.\x20Pro\x20tier\x20only.',{'tag':_0x2c6512[_0x38db54(0x7fd)]()[_0x38db54(0x4ac)]()[_0x38db54(0x9de)](_0x38db54(0x710))},async({tag:_0x2238ee})=>{const _0x3cbd84=_0x38db54;try{const _0x368333=await _0x30dddd[_0x3cbd84(0x2ad)]();if(!_0x368333)return{..._0x1ad714({'ok':![],'error':_0x2f0e3a}),'isError':!![]};const _0x700c2b=await _0x30dddd['provisionOnDemand']({'tag':_0x2238ee});return _0x1ad714({'ok':!![],'user':{'id':_0x700c2b[_0x3cbd84(0x3d6)]['id'],'email':_0x700c2b['user'][_0x3cbd84(0x89c)],'password':_0x700c2b[_0x3cbd84(0x3d6)]['password'],..._0x700c2b[_0x3cbd84(0x3d6)][_0x3cbd84(0x5ca)]?{'sessionToken':_0x700c2b['user'][_0x3cbd84(0x5ca)]}:{},'tier':_0x700c2b[_0x3cbd84(0x3d6)][_0x3cbd84(0x7a9)],'createdAt':_0x700c2b['user'][_0x3cbd84(0x214)],..._0x700c2b[_0x3cbd84(0x3d6)][_0x3cbd84(0x61f)]?{'tag':_0x700c2b['user']['tag']}:{},..._0x700c2b['user'][_0x3cbd84(0x4f2)]?{'ttlExpiresAt':_0x700c2b['user']['ttlExpiresAt']}:{}}});}catch(_0x2e0495){if(_0x2e0495 instanceof _0x51fd3d)return'vIAdm'!=='vIAdm'?{'success':!![],'transport':'idb'}:{..._0x1ad714({'ok':![],'code':_0x2e0495[_0x3cbd84(0x845)],'error':_0x2e0495[_0x3cbd84(0x92e)]}),'isError':!![]};return{..._0x1ad714({'ok':![],'error':_0x3cbd84(0x5f0)+(_0x2e0495 instanceof Error?_0x2e0495[_0x3cbd84(0x92e)]:String(_0x2e0495))}),'isError':!![]};}}),_0xf85fe3['tool']('ceraph_test_data_list','List\x20active\x20on-demand\x20managed\x20test\x20users\x20for\x20this\x20project.\x20Excludes\x20JIT\x20users\x20(those\x20live\x20for\x20one\x20chain\x20run\x20only).\x20Pro\x20tier\x20only.',{},async()=>{const _0x558535=_0x38db54;try{const _0xddaf55=await _0x30dddd[_0x558535(0x2ad)]();if(!_0xddaf55)return{..._0x1ad714({'ok':![],'error':_0x2f0e3a}),'isError':!![]};const _0x1e39e1=await _0x30dddd[_0x558535(0x70a)]();return _0x1ad714({'ok':!![],'users':_0x1e39e1[_0x558535(0x986)](_0x23d451=>({'id':_0x23d451['id'],'email':_0x23d451[_0x558535(0x89c)],'tier':_0x23d451[_0x558535(0x7a9)],'createdAt':_0x23d451['createdAt'],..._0x23d451[_0x558535(0x61f)]?{'tag':_0x23d451['tag']}:{},..._0x23d451['ttlExpiresAt']?{'ttlExpiresAt':_0x23d451[_0x558535(0x4f2)]}:{}}))});}catch(_0x46a4e2){return{..._0x1ad714({'ok':![],'error':'ceraph_test_data_list\x20failed:\x20'+(_0x46a4e2 instanceof Error?_0x46a4e2[_0x558535(0x92e)]:String(_0x46a4e2))}),'isError':!![]};}}),_0xf85fe3['tool'](_0x38db54(0x53b),_0x38db54(0x28f),{'id':_0x2c6512['string']()['optional']()[_0x38db54(0x9de)](_0x38db54(0xe0)),'all':_0x2c6512[_0x38db54(0x715)]()[_0x38db54(0x4ac)]()[_0x38db54(0x9de)]('When\x20true,\x20deletes\x20every\x20on-demand\x20user\x20for\x20this\x20project.')},async({id:_0x445c6d,all:_0x444e53})=>{const _0x2e6f4e=_0x38db54;try{const _0x1c1f43=await _0x30dddd[_0x2e6f4e(0x2ad)]();if(!_0x1c1f43)return{..._0x1ad714({'ok':![],'error':_0x2f0e3a}),'isError':!![]};if(!_0x445c6d&&!_0x444e53)return'JucqX'==='Xcprf'?{'success':![],'swipes':_0x43de06,'error':_0x5a58f7['error']??_0x2e6f4e(0x68e)}:{..._0x1ad714({'ok':![],'error':'ceraph_test_data_cleanup\x20requires\x20either\x20`id`\x20(single\x20user)\x20or\x20`all:\x20true`\x20(wipe).'}),'isError':!![]};const _0x3991b8=await _0x30dddd[_0x2e6f4e(0x319)]({'id':_0x445c6d,'all':_0x444e53});return _0x1ad714({'ok':!![],'deleted':_0x3991b8['deleted']});}catch(_0x1d2cb0){return{..._0x1ad714({'ok':![],'error':_0x2e6f4e(0x442)+(_0x1d2cb0 instanceof Error?_0x1d2cb0['message']:String(_0x1d2cb0))}),'isError':!![]};}});}var _0x54ddf0=process[_0x3ee7d6(0x346)](),_0x553e71=_0x58646c(_0x54ddf0),_0x59dcf1=_0x553e71['dir'],_0x1e1264=_0x54ddf0;_0x553e71['dir']!==_0x54ddf0&&process[_0x3ee7d6(0x870)]['write'](_0x3ee7d6(0x81b)+_0x553e71['reason']+'\x0a');var _0x3ebe5=_0x328b9d(_0x59dcf1,'.ceraph'),_0x30c079=new _0x38e6bb(_0x59dcf1),_0x2db18f=new _0x5e82ea(),_0x4650a9=new _0xfe777({'targetResolver':_0x2db18f}),_0x6632bd=new _0x2c4950(_0x59dcf1,_0x3ebe5),_0x174ea1=new _0x435cdf(_0x4650a9,_0x2db18f);_0x2db18f[_0x3ee7d6(0x5c0)](_0x174ea1);var _0x43a84f=new _0xb68fb9(_0x4650a9),_0x29f0ce=new _0x1c248a(_0x2db18f,_0x3ebe5,_0x59dcf1),_0x8e538a=new _0xf8466e(),_0x5409fe=new _0x53040b(),_0x550711=new _0x43d6af({'screen':_0x4650a9,'mode':_0x58a148(process.env.CERAPH_AUTO_ACCEPT_PERMISSIONS)}),_0x4d633e=process.env.CERAPH_DISABLE_SPEED_OPTS==='1'||process.env.CERAPH_DISABLE_SPEED_OPTS===_0x3ee7d6(0x704),_0xa7772=new _0x3a1f24(_0x4650a9,_0x174ea1,_0x43a84f,{'projectDir':_0x59dcf1,'permissionInterceptor':_0x550711,'disableAXCache':_0x4d633e,'disableBulkActions':_0x4d633e}),_0x536663=_0x5d7aea(_0x59dcf1),_0x31eb28=process.env.CERAPH_SIGNAL_PORT?Number(process.env.CERAPH_SIGNAL_PORT):void 0x0,_0x32bb67=new _0x195a45(_0x30c079,{'port':Number[_0x3ee7d6(0x996)](_0x31eb28)?_0x31eb28:void 0x0,'host':'0.0.0.0'}),_0x400515=null,_0xe23307=_0x3ee7d6(0x236),_0x499697=0x2710,_0x81af9b,_0x7529b5=![],_0x355fbb=process.env.CERAPH_KEEP_AWAKE_HEARTBEAT===_0x3ee7d6(0x74c)?null:new _0x5d2ab2(_0x4650a9,{'onRedbox':_0x5ae273=>_0x32bb67[_0x3ee7d6(0x17f)]({'kind':_0x3ee7d6(0x67f),'message':_0x5ae273,'stack':'','timestamp':new Date()['toISOString']()})}),_0x2fb690=new _0x9e06d9({'projectDir':_0x59dcf1}),_0x246355=_0x159c76(_0x59dcf1),_0x256a27=_0x3fa23a(_0x246355),_0x50b852=new _0x4907a9({'projectDir':_0x59dcf1,'projectId':_0x246355,'store':_0x256a27,'adapter':void 0x0,'isProTier':()=>_0x5d2ffa()}),_0x1c8370=new _0x451a74(_0xa7772,_0x4650a9,_0x174ea1,_0x32bb67,{'runsStore':_0x2fb690,'testDataManager':_0x50b852,'videoRecorderFactory':({runId:_0x10d525})=>new _0x3547fc({'resolver':_0x2db18f,'outputPath':_0x328b9d(_0x2fb690[_0x3ee7d6(0x7f2)],_0x10d525,'chain.mp4')})});_0x2db18f[_0x3ee7d6(0x227)](async _0x501fd6=>{const _0x26aa1d=_0x3ee7d6;if(!_0x501fd6[_0x26aa1d(0x737)])return;await _0x107894(_0x501fd6[_0x26aa1d(0x737)])['catch'](()=>null);const _0x63311f=await _0xbd101(_0x501fd6['udid'])[_0x26aa1d(0x4ba)](()=>null);_0x63311f&&_0x63311f[_0x26aa1d(0x9d0)]==='denied'&&process[_0x26aa1d(0x870)][_0x26aa1d(0x65a)](_0x26aa1d(0x81b)+_0x63311f['message']+'\x0a');});function _0x3535ad(){return _0x3df3ac({'screen':_0x4650a9,'apps':_0x174ea1,'autonomy':_0x43a84f,'iproxyManager':_0x8e538a,'projectDir':_0x59dcf1,'target':_0x2db18f});}var _0x14f67c=new McpServer({'name':_0x3ee7d6(0x954),'version':_0x2a3197},{'capabilities':{'tools':{},'logging':{}},'instructions':_0x3ee7d6(0x7ec)});_0x32bb67[_0x3ee7d6(0x2f0)](_0x1022b4=>{const _0x3b9383=_0x3ee7d6,_0x4a277e=_0x1022b4['kind']==='network-error'?'warning':_0x3b9383(0x125);void _0x14f67c[_0x3b9383(0x239)]['sendLoggingMessage']({'level':_0x4a277e,'logger':'ceraph-rn-shim','data':{'kind':_0x1022b4['kind'],'message':_0x1022b4['message'],..._0x1022b4['stack']?{'stack':_0x1022b4[_0x3b9383(0x209)]}:{},..._0x1022b4[_0x3b9383(0x72e)]?{'url':_0x1022b4[_0x3b9383(0x72e)]}:{},..._0x1022b4['status']!==void 0x0?{'status':_0x1022b4[_0x3b9383(0x9d0)]}:{},'timestamp':_0x1022b4['timestamp']}})['catch'](()=>void 0x0);});function _0x2859f2(_0x2b918a,_0x439b83){const _0x490878=_0x3ee7d6;_0x439b83 instanceof _0x45acbf&&(_0x439b83[_0x490878(0x3ea)]==='account-invalid'||_0x439b83['kind']==='tier-gated')&&_0x242b1a();const _0x31f5af=_0x439b83 instanceof _0x45acbf?_0x439b83[_0x490878(0x70e)]:_0x2b918a+_0x490878(0x9f8)+(_0x439b83 instanceof Error?_0x439b83[_0x490878(0x92e)]:String(_0x439b83));return{'content':[{'type':'text','text':_0x31f5af}],'isError':!![]};}async function _0x3aa6f4(_0x18ba0c){const _0x182672=_0x3ee7d6,_0x592f8c=new AbortController(),_0x3d97bd=setTimeout(()=>_0x592f8c[_0x182672(0x2d4)](),0x5dc);try{const _0x7d3b65=await fetch(_0x182672(0x26b)+_0x18ba0c+_0x182672(0x6f9),{'signal':_0x592f8c['signal']});return _0x7d3b65['ok'];}catch{return![];}finally{clearTimeout(_0x3d97bd);}}_0x14f67c['tool'](_0x3ee7d6(0x893),_0x3ee7d6(0x328),{'clean':_0x161c47[_0x3ee7d6(0x715)]()['optional']()[_0x3ee7d6(0x9de)]('Run\x20prebuild\x20--clean\x20before\x20building\x20(Expo\x20only)'),'device':_0x161c47[_0x3ee7d6(0x7fd)]()['optional']()[_0x3ee7d6(0x9de)]('Device\x20UDID\x20to\x20target\x20(e.g.,\x2000008140-001958943A78801C)')},async({clean:_0x2c8bf4,device:_0x1955e4})=>{const _0x14f652=_0x3ee7d6;try{const _0x5b3493=await _0x30c079['runBuild']({'clean':_0x2c8bf4,'device':_0x1955e4});return _0x5b3493['success']&&await _0x6632bd['saveSnapshot']()[_0x14f652(0x4ba)](()=>{}),{'content':[{'type':'text','text':JSON[_0x14f652(0x2c1)](_0x5b3493,null,0x2)}],'isError':!_0x5b3493['success']};}catch(_0x142e88){return _0x2859f2(_0x14f652(0x893),_0x142e88);}}),_0x14f67c[_0x3ee7d6(0x8dc)](_0x3ee7d6(0x32a),_0x3ee7d6(0x1f2),{'port':_0x161c47['number']()[_0x3ee7d6(0x4ac)]()['describe']('Port\x20for\x20Metro\x20bundler\x20(default:\x208081)'),'clear':_0x161c47['boolean']()['optional']()[_0x3ee7d6(0x9de)]('Clear\x20Metro\x20bundler\x20cache\x20on\x20start')},async({port:_0x201f36,clear:_0x3fbf8b})=>{const _0x35681d=_0x3ee7d6;try{const _0x51a5ce=await _0x30c079[_0x35681d(0x111)]({'port':_0x201f36,'clear':_0x3fbf8b});return{'content':[{'type':'text','text':JSON[_0x35681d(0x2c1)](_0x51a5ce,null,0x2)}],'isError':!_0x51a5ce['success']};}catch(_0x30e106){return _0x2859f2('rn_start',_0x30e106);}}),_0x14f67c['tool'](_0x3ee7d6(0x82a),'Bring\x20Ceraph\x20to\x20a\x20ready-to-test\x20state\x20in\x20one\x20call:\x20starts\x20Metro,\x20builds/installs\x20the\x20app\x20if\x20needed,\x20and\x20verifies\x20on-device\x20automation.\x20Runs\x20only\x20the\x20steps\x20that\x20aren\x27t\x20already\x20done\x20and\x20stops\x20at\x20the\x20first\x20failure\x20with\x20its\x20remediation.\x20Prefer\x20this\x20over\x20calling\x20rn_start\x20/\x20rn_build_ios\x20/\x20ceraph_doctor\x20separately.\x20Works\x20against\x20either\x20a\x20plugged-in\x20iPhone\x20or\x20a\x20booted\x20simulator\x20(honoring\x20CERAPH_TARGET).',{'device':_0x161c47[_0x3ee7d6(0x7fd)]()[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)]('Device\x20UDID\x20to\x20target\x20(e.g.,\x2000008140-001958943A78801C)'),'port':_0x161c47['number']()[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)]('Port\x20for\x20Metro\x20bundler\x20(default:\x208081)'),'bundleId':_0x161c47[_0x3ee7d6(0x7fd)]()['optional']()[_0x3ee7d6(0x9de)](_0x3ee7d6(0xed)),'clean':_0x161c47['boolean']()[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)]('Run\x20prebuild\x20--clean\x20before\x20building\x20(Expo\x20only)'),'requiredEnv':_0x161c47[_0x3ee7d6(0x27a)](_0x161c47['string']())[_0x3ee7d6(0x4ac)]()['describe'](_0x3ee7d6(0x11b)),'expectedNetwork':_0x161c47['string']()['optional']()[_0x3ee7d6(0x9de)]('Optional\x20WiFi\x20SSID\x20the\x20user\x20expects\x20the\x20laptop\x20(and\x20phone)\x20to\x20be\x20on.\x20Mismatch\x20is\x20a\x20warning,\x20not\x20a\x20stop.')},async({device:_0x585a3b,port:_0xd93e2b,bundleId:_0x1c63de,clean:_0x2e6228,requiredEnv:_0x331b39,expectedNetwork:_0x475937})=>{const _0x20e068=_0x3ee7d6;try{const _0x479dfc=_0x1c63de??await _0x2258f0(_0x59dcf1)[_0x20e068(0x4ba)](()=>null),_0x39a2d9=await _0x1f4edb({'checkTargetReady':async()=>{const _0x22752a=_0x20e068,_0x4b46c6=await _0x2db18f[_0x22752a(0x75f)]();if(_0x4b46c6['target']==='simulator'){const _0x105262=await _0x5d4596()[_0x22752a(0x4ba)](()=>[]);if(_0x105262[_0x22752a(0x945)]===0x0)return{'ok':![],'detail':_0x22752a(0x79c),'remediation':'Boot\x20a\x20simulator\x20(open\x20-a\x20Simulator),\x20or\x20connect\x20an\x20iPhone\x20via\x20USB-C,\x20then\x20retry.'};const _0x3249d4=await _0xf66b1c(_0x59dcf1,{'log':_0x4ee89a=>{const _0x1e345c=_0x22752a;void _0x14f67c[_0x1e345c(0x239)][_0x1e345c(0x8ec)]({'level':_0x1e345c(0x9bd),'logger':_0x1e345c(0x8da),'data':_0x4ee89a})[_0x1e345c(0x4ba)](()=>void 0x0);}});if(_0x3249d4['status']==='install-failed'){const _0x5df66c=await _0x45f4cc(_0x59dcf1)[_0x22752a(0x4ba)](()=>_0x22752a(0x38f));return{'ok':![],'detail':_0x22752a(0x97b)+_0x3249d4[_0x22752a(0x125)],'remediation':_0x22752a(0x1f0)+_0x5df66c+'\x20'+(_0x5df66c===_0x22752a(0x38f)?_0x22752a(0x18f):_0x22752a(0x5c1))+'\x20-D\x20appium-webdriveragent`,\x20then\x20retry.'};}return{'ok':!![],'detail':_0x3249d4[_0x22752a(0x9d0)]==='installed'?_0x22752a(0x55d)+_0x105262[0x0]['name']+_0x22752a(0x41a):'Simulator\x20booted\x20('+_0x105262[0x0][_0x22752a(0x4d1)]+_0x22752a(0x941)};}const _0xf4a2cb=await _0x174ea1['getUdid']()[_0x22752a(0x4ba)](()=>null);return _0xf4a2cb?{'ok':!![],'detail':_0x22752a(0x500)+_0xf4a2cb+_0x22752a(0x72a)}:{'ok':![],'detail':_0x22752a(0x2a1),'remediation':_0x22752a(0x1c0)};},'missingRequiredEnv':()=>(_0x331b39??[])['filter'](_0xdde284=>{const _0x5e8cff=process.env[_0xdde284];return _0x5e8cff===void 0x0||_0x5e8cff==='';}),'isMetroRunning':_0x3aa6f4,'startMetro':({port:_0x370a8d})=>_0x30c079['startMetro']({'port':_0x370a8d}),'needsBuild':async()=>{const _0x3d63c2=_0x20e068;if(_0x3d63c2(0x70d)==='XSdtV')return _0x3f27e8(_0x3d63c2(0x233),_0x511ffe);else{const _0x3a5513=[];if(_0x479dfc){const _0x59cbcf=await _0x174ea1[_0x3d63c2(0x960)]()[_0x3d63c2(0x4ba)](_0x20a394=>({'success':![],'apps':[],'error':_0x20a394 instanceof Error?_0x20a394[_0x3d63c2(0x92e)]:String(_0x20a394)})),_0x17059e=_0x59cbcf[_0x3d63c2(0x42d)]&&_0x59cbcf[_0x3d63c2(0x7dd)][_0x3d63c2(0x2a5)](_0x29aa86=>_0x29aa86['bundleId']===_0x479dfc);if(!_0x17059e){if(_0x59cbcf[_0x3d63c2(0x42d)])_0x3a5513[_0x3d63c2(0x496)](_0x3d63c2(0x4f8)+_0x479dfc+_0x3d63c2(0x336));else{if(_0x3d63c2(0x3f9)==='GrjWY'){const _0x2dade9=_0x59cbcf['error']?':\x20'+_0x59cbcf[_0x3d63c2(0x125)]:'';_0x3a5513['push']('could\x20not\x20confirm\x20the\x20app\x20is\x20installed'+_0x2dade9);}else return{'status':'needs-auth','tier':'pro','authUrl':_0x4c769c({'intent':_0x3d63c2(0x1b6)}),'message':'Pro\x20requires\x20sign-in.\x20Surface\x20the\x20authUrl\x20to\x20the\x20user,\x20have\x20them\x20paste\x20the\x20token\x20it\x20issues,\x20then\x20call\x20ceraph_init_auth_browser\x20with\x20that\x20token.\x20After\x20sign-in,\x20re-call\x20ceraph_init_select_tier\x20to\x20continue.'};}}}const _0x448fcf=await _0x6632bd[_0x3d63c2(0x4b6)]()['catch'](()=>({'needsClean':![],'reasons':[]}));return _0x448fcf['needsClean']&&_0x3a5513['push'](..._0x448fcf[_0x3d63c2(0x360)]),{'needsBuild':_0x3a5513[_0x3d63c2(0x945)]>0x0,'reasons':_0x3a5513};}},'runBuild':({clean:_0xd9d56a,device:_0x574967})=>_0x30c079['runBuild']({'clean':_0xd9d56a,'device':_0x574967}),'saveBuildSnapshot':()=>_0x6632bd[_0x20e068(0x505)](),'foregroundApp':_0x479dfc?async()=>{const _0x27f5b0=_0x20e068,_0x49a1e8=await _0x174ea1['listInstalledApps']()['catch'](()=>null);if(_0x49a1e8?.['success']&&!_0x49a1e8['apps'][_0x27f5b0(0x2a5)](_0x410159=>_0x410159[_0x27f5b0(0x708)]===_0x479dfc))return{'ok':![],'detail':_0x479dfc+_0x27f5b0(0x768)+(_0x1c63de?'':'\x20(auto-detected\x20from\x20the\x20project\x20config;\x20pass\x20bundleId\x20if\x20your\x20build\x20uses\x20a\x20different\x20id.)')};const _0x2ca3f7=await _0x174ea1['launchApp'](_0x479dfc);return _0x2ca3f7['success']?{'ok':!![],'detail':_0x27f5b0(0x5af)+_0x479dfc+'\x20—\x20keep-awake\x20shim\x20active.'}:{'ok':![],'detail':'Could\x20not\x20foreground\x20'+_0x479dfc+':\x20'+(_0x2ca3f7[_0x27f5b0(0x125)]??_0x27f5b0(0x3de))+'.'};}:void 0x0,'ensureWda':async()=>{const _0x5a4d64=_0x20e068,_0x23e229=await _0x2db18f['resolve']();if(_0x23e229[_0x5a4d64(0x555)]===_0x5a4d64(0x21f)){const _0x105e80=await _0x29f0ce[_0x5a4d64(0x41b)]({});if(_0x105e80['ok'])return{'ok':!![],'reason':_0x105e80[_0x5a4d64(0x266)]?_0x5a4d64(0x266):'started','detail':_0x5a4d64(0x87c)+(_0x105e80[_0x5a4d64(0x266)]?_0x5a4d64(0x266):'started')+_0x5a4d64(0x80e)+_0x105e80['port']+'.'};let _0x24fbf8;if(_0x105e80['reason']===_0x5a4d64(0x6c1))_0x24fbf8=_0x5a4d64(0x62e);else{if(_0x105e80[_0x5a4d64(0x78c)]===_0x5a4d64(0x5e3))_0x5a4d64(0x527)==='oEbAD'?_0xb62c9f(null):_0x24fbf8='The\x20selected\x20simulator\x20wasn\x27t\x20found\x20—\x20boot\x20one\x20and\x20retry.';else{if(_0x105e80['reason']==='wda-package-missing')_0x24fbf8=_0x5a4d64(0x109);else _0x105e80[_0x5a4d64(0x78c)]==='port-not-detected'?_0x24fbf8=_0x5a4d64(0x728):'zsJiU'===_0x5a4d64(0x20b)?_0x24fbf8=_0x5a4d64(0x953):_0x1019f5=!![];}}return{'ok':![],'error':_0x105e80['error'],'detail':'Could\x20not\x20start\x20simulator\x20WebDriverAgent:\x20'+_0x105e80['error'],'remediation':_0x24fbf8};}const _0x104163=await _0x91f18b(),_0x3c2119=await _0x5409fe[_0x5a4d64(0x41b)]({'resolverUdid':_0x23e229['udid']});if(_0x3c2119['ok'])return{'ok':!![],'reason':_0x3c2119[_0x5a4d64(0x78c)],'detail':_0x5a4d64(0x5fb)+_0x3c2119['reason']+'\x20('+_0x104163+').'};return{'ok':![],'error':_0x3c2119['error'],'detail':_0x5a4d64(0x738)+_0x3c2119[_0x5a4d64(0x125)],'remediation':_0x3c2119[_0x5a4d64(0x5de)]??'Connect\x20the\x20iPhone\x20via\x20USB-C,\x20trust\x20this\x20Mac,\x20enable\x20Developer\x20Mode,\x20then\x20call\x20ceraph_start\x20again.'};},'runDoctor':()=>_0x3df3ac({'screen':_0x4650a9,'apps':_0x174ea1,'autonomy':_0x43a84f,'iproxyManager':_0x8e538a,'bundleId':_0x479dfc??void 0x0,'requiredEnv':_0x331b39,'expectedNetwork':_0x475937,'projectDir':_0x59dcf1,'target':_0x2db18f}),'cacheDoctor':_0x55f53b=>_0x2e83b7(_0x55f53b),'resolveTarget':()=>_0x2db18f[_0x20e068(0xfb)]()},{'device':_0x585a3b,'port':_0xd93e2b,'clean':_0x2e6228});return{..._0x1a18b6(_0x39a2d9),'isError':!_0x39a2d9[_0x20e068(0x798)]};}catch(_0x1f0633){return _0x2859f2('ceraph_start',_0x1f0633);}}),_0x14f67c['tool'](_0x3ee7d6(0x4b5),_0x3ee7d6(0x64a),{},async()=>{const _0x4c7283=_0x3ee7d6;try{const _0x3bd4c5=_0x30c079[_0x4c7283(0x3d2)]();return{'content':[{'type':_0x4c7283(0x5d9),'text':JSON['stringify'](_0x3bd4c5,null,0x2)}]};}catch(_0x39503b){return _0x2859f2('rn_get_errors',_0x39503b);}}),_0x14f67c[_0x3ee7d6(0x8dc)]('rn_get_console','Return\x20recent\x20console\x20output\x20from\x20Metro\x20dev\x20server,\x20optionally\x20filtered\x20by\x20log\x20level.',{'lines':_0x161c47[_0x3ee7d6(0x513)]()[_0x3ee7d6(0x4ac)]()['describe']('Number\x20of\x20recent\x20lines\x20to\x20return\x20(default:\x2050)'),'level':_0x161c47['enum']([_0x3ee7d6(0x9a6),_0x3ee7d6(0x125),'warn',_0x3ee7d6(0x183)])[_0x3ee7d6(0x4ac)]()['describe']('Filter\x20by\x20log\x20level\x20(default:\x20all)')},async({lines:_0x42f547,level:_0x17095e})=>{const _0x3997ba=_0x3ee7d6;try{const _0x380321=_0x30c079[_0x3997ba(0x721)]({'lines':_0x42f547,'level':_0x17095e});if(_0x380321['length']===0x0)return{'content':[{'type':'text','text':'No\x20console\x20output\x20captured.\x20Is\x20Metro\x20running?\x20Use\x20rn_start\x20to\x20launch\x20it.'}]};return{'content':[{'type':'text','text':_0x380321['join']('\x0a')}]};}catch(_0x3b06d2){if(_0x3997ba(0x988)!==_0x3997ba(0x988)){_0x540080=!![];const _0x2194ad=_0x2fc64b['missingRequiredEnv']();if(_0x2194ad[_0x3997ba(0x945)]>0x0)return _0x1a3a73({'name':_0x3997ba(0x1fd),'status':_0x3997ba(0x320),'detail':_0x3997ba(0x97e)+(_0x2194ad['length']===0x1?'':'s')+'\x20not\x20set:\x20'+_0x2194ad['join'](',\x20')+'.','details':{'missing':_0x2194ad}}),_0x56e15c(_0x52b413,_0x241591,_0x3997ba(0xcd)+_0x2194ad['join'](',\x20')+'\x20in\x20the\x20MCP\x20server\x20environment,\x20then\x20call\x20ceraph_start\x20again.');}else return _0x2859f2(_0x3997ba(0x4d0),_0x3b06d2);}}),_0x14f67c[_0x3ee7d6(0x8dc)]('rn_check_prebuild','Check\x20if\x20a\x20clean\x20Expo\x20prebuild\x20is\x20needed\x20(Expo\x20projects\x20only).\x20Compares\x20current\x20package.json\x20dependencies,\x20app.json\x20config,\x20and\x20ios/Podfile.lock\x20against\x20a\x20cached\x20snapshot\x20from\x20the\x20last\x20successful\x20build.',{},async()=>{const _0x4052b1=_0x3ee7d6;try{const _0x2253ea=await _0x30c079[_0x4052b1(0x26a)]();if(!_0x2253ea){if(_0x4052b1(0x3a7)!==_0x4052b1(0x3a7)){if(!(_0xdfa2fb in _0x57f7d6))_0x18eb39[_0x4052b1(0x496)](_0x59cd41);else{if(!(_0x5a2afe in _0x2ddd07))_0x55e161['push'](_0x4aaaea);else _0x563c01[_0x4c7f49]!==_0x49f349[_0x3ab701]&&_0x1bab7a[_0x4052b1(0x496)](_0x18867c);}}else return{'content':[{'type':'text','text':JSON['stringify']({'needsClean':![],'reasons':['Not\x20an\x20Expo\x20project.\x20Prebuild\x20detection\x20is\x20Expo-only.']})}]};}const _0xc9e2a7=await _0x6632bd[_0x4052b1(0x4b6)]();return{'content':[{'type':'text','text':JSON[_0x4052b1(0x2c1)](_0xc9e2a7,null,0x2)}]};}catch(_0x55f876){return _0x2859f2('rn_check_prebuild',_0x55f876);}}),_0x14f67c['tool']('screen_tap',_0x3ee7d6(0x39f),{'x':_0x161c47[_0x3ee7d6(0x513)]()['describe'](_0x3ee7d6(0x14c)),'y':_0x161c47[_0x3ee7d6(0x513)]()['describe'](_0x3ee7d6(0x93d)),'coordinateSource':_0x161c47['enum']([_0x3ee7d6(0x863),_0x3ee7d6(0x931)])['optional']()[_0x3ee7d6(0x9de)]('Source\x20of\x20coordinates:\x20\x27screenshot\x27\x20(default)\x20auto-corrects\x20for\x20pixel\x20ratio;\x20\x27device\x27\x20uses\x20coordinates\x20as-is')},async({x:_0x19f108,y:_0x233b35,coordinateSource:_0x18d086})=>{const _0xc0d71b=_0x3ee7d6;try{const _0x29af5b=await _0x4650a9[_0xc0d71b(0x9b2)]();if(!_0x29af5b)return _0xc0d71b(0x933)===_0xc0d71b(0x933)?{'content':[{'type':'text','text':JSON['stringify']({'success':![],'error':_0xc0d71b(0x9a3),'tappedAt':{'x':_0x19f108,'y':_0x233b35},'pixelRatio':0x0,'correction':_0xc0d71b(0x8cf)})}],'isError':!![]}:_0x26b5ba(_0x3c3c75);const _0x103269=(_0x18d086??_0xc0d71b(0x863))==='screenshot',_0x3341bf=await _0x4650a9['tap'](_0x19f108,_0x233b35,_0x103269);return{'content':[{'type':'text','text':JSON['stringify'](_0x3341bf,null,0x2)}],'isError':!_0x3341bf[_0xc0d71b(0x42d)]};}catch(_0x27e60e){return _0x2859f2('screen_tap',_0x27e60e);}});async function _0x3fa9b2(){const _0x122ed7=_0x3ee7d6,_0x19ed45=await _0x4650a9['isAvailable']();if(_0x19ed45)return{'ok':!![]};return{'ok':![],'payload':{'success':![],'error':_0x122ed7(0x9a3)}};}function _0x1a18b6(_0x512822){const _0x1a87b3=_0x3ee7d6;return{'content':[{'type':_0x1a87b3(0x5d9),'text':JSON[_0x1a87b3(0x2c1)](_0x512822,null,0x2)}]};}var _0x197098=0xa;function _0x4a850b(_0x287cc3){const _0x297cb0=_0x3ee7d6;if(Array['isArray'](_0x287cc3))return _0x287cc3['map'](_0x2594ec=>_0x4a850b(_0x2594ec));if(_0x287cc3&&typeof _0x287cc3==='object'){const _0x207eb8={};for(const [_0x1483db,_0x242497]of Object[_0x297cb0(0x6b0)](_0x287cc3)){if(_0x1483db===_0x297cb0(0x93e))continue;_0x207eb8[_0x1483db]=_0x4a850b(_0x242497);}return _0x207eb8;}return _0x287cc3;}function _0xd9289f(_0x3fd334,_0x3d163f,_0x314dd1){const _0x101859=_0x3ee7d6,_0x44b49a=[{'type':_0x101859(0x5d9),'text':JSON['stringify'](_0x4a850b(_0x3fd334),null,0x2)}];_0x314dd1&&_0x44b49a['push']({'type':'text','text':_0x314dd1});const _0x4b9335=[];for(const _0x5bcd42 of _0x3d163f){if(!('steps'in _0x5bcd42)||!Array[_0x101859(0x246)](_0x5bcd42['steps']))continue;for(const _0x5ea423 of _0x5bcd42[_0x101859(0x22d)]){_0x5ea423['screenshotBase64']&&_0x4b9335['push']({'flow':_0x5bcd42['flow'],'stepIndex':_0x5ea423[_0x101859(0x148)],'base64':_0x5ea423['screenshotBase64']});}}const _0x5c7156=Math[_0x101859(0x71d)](_0x4b9335[_0x101859(0x945)],_0x197098);for(let _0x2ed56c=0x0;_0x2ed56c<_0x5c7156;_0x2ed56c++){const _0x432d51=_0x4b9335[_0x2ed56c];_0x44b49a['push']({'type':_0x101859(0x5d9),'text':_0x101859(0x911)+_0x432d51['flow']+'\x22\x20step='+_0x432d51[_0x101859(0x148)]}),_0x44b49a[_0x101859(0x496)]({'type':_0x101859(0x588),'data':_0x432d51['base64'],'mimeType':'image/png'});}if(_0x4b9335['length']>_0x197098){const _0x3b0c52=_0x4b9335[_0x101859(0x945)]-_0x197098;_0x44b49a[_0x101859(0x496)]({'type':'text','text':'+'+_0x3b0c52+_0x101859(0x7a1)+(_0x3b0c52===0x1?'':'s')+_0x101859(0x59a)+_0x197098+_0x101859(0x1c7)});}return{'content':_0x44b49a};}function _0x31a38a(_0x58cafc){const _0x4ad9d1=_0x3ee7d6,{entry:_0x502b13,advisedStatus:_0x4b5807}=_0x4614e8(_0x32bb67[_0x4ad9d1(0x7dc)](),_0x400515,_0xe23307);_0x400515=_0x4b5807;if(_0x502b13)_0x58cafc['push'](_0x502b13);}async function _0x246281(){const _0x417bb8=_0x3ee7d6;if(_0x32bb67[_0x417bb8(0x5b3)]()||_0x7529b5)return;_0x7529b5=!![];try{const _0x257d09=await _0x32bb67['ensureListening']();_0xe23307=_0x9a373a(_0x257d09)[_0x417bb8(0x9d0)];if(_0x32bb67['isListening']()){if('BGtNf'==='BGtNf')console[_0x417bb8(0x125)](_0x417bb8(0x559)),_0x81af9b&&(clearInterval(_0x81af9b),_0x81af9b=void 0x0);else return![];}}finally{_0x7529b5=![];}}function _0x230cf7(){const _0x1efd0c=_0x3ee7d6;if(_0x81af9b||_0x32bb67['isListening']())return;_0x81af9b=setInterval(()=>{void _0x246281();},_0x499697),_0x81af9b[_0x1efd0c(0x60e)]?.();}_0x14f67c[_0x3ee7d6(0x8dc)]('screen_swipe',_0x3ee7d6(0x6d7),{'direction':_0x161c47[_0x3ee7d6(0x499)](['up','down','left','right']),'from':_0x161c47[_0x3ee7d6(0x5ab)]({'x':_0x161c47[_0x3ee7d6(0x513)](),'y':_0x161c47['number']()})[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)](_0x3ee7d6(0x43a)),'distancePx':_0x161c47['number']()['optional']()['describe']('Swipe\x20distance\x20in\x20points.'),'durationMs':_0x161c47[_0x3ee7d6(0x513)]()[_0x3ee7d6(0x4ac)]()['describe'](_0x3ee7d6(0x835)),'coordinateSource':_0x161c47[_0x3ee7d6(0x499)]([_0x3ee7d6(0x863),'device'])['optional']()},async _0x3ad6c2=>{const _0x8d5bec=_0x3ee7d6;try{const _0xc475f4=await _0x3fa9b2();if(!_0xc475f4['ok'])return{..._0x1a18b6(_0xc475f4['payload']),'isError':!![]};const _0x377a1f=await _0x4650a9[_0x8d5bec(0x81d)]({'direction':_0x3ad6c2[_0x8d5bec(0x41f)],'from':_0x3ad6c2[_0x8d5bec(0x70f)],'distancePx':_0x3ad6c2['distancePx'],'durationMs':_0x3ad6c2[_0x8d5bec(0x8ad)],'coordinateSource':_0x3ad6c2[_0x8d5bec(0x19b)]});return{..._0x1a18b6(_0x377a1f),'isError':!_0x377a1f[_0x8d5bec(0x42d)]};}catch(_0x2de634){return _0x2859f2('screen_swipe',_0x2de634);}}),_0x14f67c[_0x3ee7d6(0x8dc)]('screen_scroll_to',_0x3ee7d6(0x4a7),{'text':_0x161c47['string']()['optional'](),'accessibilityLabel':_0x161c47['string']()['optional'](),'maxSwipes':_0x161c47[_0x3ee7d6(0x513)]()[_0x3ee7d6(0x4ac)](),'direction':_0x161c47['enum'](['up','down'])[_0x3ee7d6(0x4ac)]()},async _0x4fd5d7=>{const _0x4e5775=_0x3ee7d6;try{const _0x4befb2=await _0x3fa9b2();if(!_0x4befb2['ok'])return{..._0x1a18b6(_0x4befb2[_0x4e5775(0x836)]),'isError':!![]};if(!_0x4fd5d7[_0x4e5775(0x5d9)]&&!_0x4fd5d7['accessibilityLabel'])return{..._0x1a18b6({'success':![],'error':'text\x20or\x20accessibilityLabel\x20is\x20required.'}),'isError':!![]};const _0x525fcb=await _0x4650a9[_0x4e5775(0x8c7)]({'text':_0x4fd5d7['text'],'accessibilityLabel':_0x4fd5d7['accessibilityLabel']},{'maxSwipes':_0x4fd5d7['maxSwipes'],'direction':_0x4fd5d7[_0x4e5775(0x41f)]});return{..._0x1a18b6(_0x525fcb),'isError':!_0x525fcb['success']};}catch(_0x4e566c){return _0x2859f2(_0x4e5775(0x59d),_0x4e566c);}}),_0x14f67c['tool'](_0x3ee7d6(0x785),_0x3ee7d6(0x8fd),{'text':_0x161c47['string']()['optional'](),'accessibilityLabel':_0x161c47['string']()['optional'](),'durationMs':_0x161c47[_0x3ee7d6(0x513)]()[_0x3ee7d6(0x4ac)]()},async _0x5ae427=>{const _0x52cee4=_0x3ee7d6;try{const _0x371b6d=await _0x3fa9b2();if(!_0x371b6d['ok'])return{..._0x1a18b6(_0x371b6d[_0x52cee4(0x836)]),'isError':!![]};if(!_0x5ae427['text']&&!_0x5ae427[_0x52cee4(0x478)])return{..._0x1a18b6({'success':![],'error':_0x52cee4(0x6ab)}),'isError':!![]};const _0x5bf4e6=await _0x4650a9[_0x52cee4(0x5f7)]({'text':_0x5ae427['text'],'accessibilityLabel':_0x5ae427['accessibilityLabel']},_0x5ae427['durationMs']??0x3e8);return{..._0x1a18b6(_0x5bf4e6),'isError':!_0x5bf4e6['success']};}catch(_0x42b270){return _0x2859f2('screen_long_press',_0x42b270);}}),_0x14f67c[_0x3ee7d6(0x8dc)](_0x3ee7d6(0x6d4),'Press\x20a\x20hardware/system\x20button:\x20home,\x20volumeUp,\x20volumeDown,\x20or\x20lock.',{'key':_0x161c47['enum'](['home',_0x3ee7d6(0x5ea),_0x3ee7d6(0x1b4),_0x3ee7d6(0x7c5)])},async({key:_0x286f71})=>{const _0x27a24e=_0x3ee7d6;try{const _0x3cc332=await _0x3fa9b2();if(!_0x3cc332['ok'])return{..._0x1a18b6(_0x3cc332['payload']),'isError':!![]};const _0xda42dc=await _0x4650a9['pressKey'](_0x286f71);return{..._0x1a18b6(_0xda42dc),'isError':!_0xda42dc['success']};}catch(_0x198309){if('lWRSI'===_0x27a24e(0x774)){const _0x40b79e=(_0x1f52e3[_0x27a24e(0x945)]*0x3/0x4/(0x400*0x400))['toFixed'](0x2);throw new _0x3b65bf(_0x27a24e(0x92c),_0x27a24e(0x77e)+_0x40b79e+'\x20MB\x20which\x20exceeds\x20the\x205\x20MB\x20cap.','Resize\x20or\x20recompress\x20the\x20image\x20before\x20uploading.\x20Test\x20fixtures\x20rarely\x20need\x20to\x20be\x20larger\x20than\x201\x20MB.\x20Cap:\x205\x20MB.');}else return _0x2859f2('screen_press_key',_0x198309);}}),_0x14f67c['tool']('screen_open_url',_0x3ee7d6(0x2de),{'url':_0x161c47['string']()[_0x3ee7d6(0x9de)](_0x3ee7d6(0x95e))},async({url:_0xd126b6})=>{try{const _0x8a803a=await _0x3fa9b2();if(!_0x8a803a['ok'])return{..._0x1a18b6(_0x8a803a['payload']),'isError':!![]};const _0x32fb89=await _0x4650a9['openUrl'](_0xd126b6);return{..._0x1a18b6(_0x32fb89),'isError':!_0x32fb89['success']};}catch(_0x5000c5){return _0x2859f2('screen_open_url',_0x5000c5);}}),_0x14f67c['tool'](_0x3ee7d6(0x20c),'Capture\x20a\x20screenshot\x20of\x20the\x20current\x20iOS\x20screen\x20via\x20WebDriverAgent.\x20Returns\x20the\x20PNG\x20as\x20a\x20viewable\x20image.',{},async()=>{const _0x5e4c76=_0x3ee7d6;try{const _0x48b223=await _0x3fa9b2();if(!_0x48b223['ok'])return{..._0x1a18b6(_0x48b223[_0x5e4c76(0x836)]),'isError':!![]};const _0x1d1bb4=await _0x4650a9['screenshot']();return{..._0x59184d(_0x1d1bb4)};}catch(_0x2344dc){return _0x2859f2(_0x5e4c76(0x20c),_0x2344dc);}}),_0x14f67c[_0x3ee7d6(0x8dc)](_0x3ee7d6(0x453),_0x3ee7d6(0xf4),{'text':_0x161c47[_0x3ee7d6(0x7fd)]()['optional'](),'accessibilityLabel':_0x161c47[_0x3ee7d6(0x7fd)]()['optional'](),'type':_0x161c47[_0x3ee7d6(0x7fd)]()['optional'](),'timeoutMs':_0x161c47['number']()['optional'](),'pollIntervalMs':_0x161c47['number']()['optional'](),'disappear':_0x161c47['boolean']()[_0x3ee7d6(0x4ac)]()},async _0x5a38f0=>{const _0x17d915=_0x3ee7d6;try{const _0x3ccb51=await _0x3fa9b2();if(!_0x3ccb51['ok'])return{..._0x1a18b6(_0x3ccb51['payload']),'isError':!![]};if(!_0x5a38f0['text']&&!_0x5a38f0['accessibilityLabel']&&!_0x5a38f0[_0x17d915(0x85c)])return{..._0x1a18b6({'success':![],'error':_0x17d915(0x3f4)}),'isError':!![]};const _0x2acb48=await _0x4650a9[_0x17d915(0x85e)]({'text':_0x5a38f0['text'],'accessibilityLabel':_0x5a38f0['accessibilityLabel'],'type':_0x5a38f0['type']},{'timeoutMs':_0x5a38f0['timeoutMs'],'pollIntervalMs':_0x5a38f0[_0x17d915(0x31e)],'disappear':_0x5a38f0['disappear']});return{..._0x1a18b6(_0x2acb48),'isError':!_0x2acb48[_0x17d915(0x42d)]};}catch(_0x3610ab){return _0x2859f2('screen_wait_for',_0x3610ab);}});!_0x4d633e&&_0x3586ff(_0x14f67c,{'screenManager':_0x4650a9,'toolErrorContent':_0x2859f2,'jsonText':_0x1a18b6,'requireWDA':_0x3fa9b2});_0x14f67c['tool']('app_launch',_0x3ee7d6(0x794),{'bundleId':_0x161c47['string']()[_0x3ee7d6(0x9de)]('e.g.,\x20com.acme.myapp')},async({bundleId:_0x3fa810})=>{const _0x41ab6a=_0x3ee7d6;try{const _0x2a57ef=await _0x174ea1[_0x41ab6a(0x926)](_0x3fa810);return{..._0x1a18b6(_0x2a57ef),'isError':!_0x2a57ef['success']};}catch(_0x35af0e){if(_0x41ab6a(0x88f)!=='shiBF')return _0x2859f2('app_launch',_0x35af0e);else{const _0x986a8=_0x787b64[_0x41ab6a(0x877)](),_0x385c47=_0x5efa7a['getLineAndColumnAtPos'](_0x986a8);_0x774ecb[_0x41ab6a(0x496)]({'filePath':_0x261b20['getFilePath'](),'relPath':_0x424f85(_0xfa7d7f,_0x4ccb64['getFilePath']())['split'](_0x374239)[_0x41ab6a(0x221)]('/'),'line':_0x385c47['line'],'suggestedKey':_0x1a9faa(_0x2ba93f[_0x41ab6a(0x7ff)]()),'alreadyHasImageKey':_0x3c29de(_0x5106ff)});}}}),_0x14f67c[_0x3ee7d6(0x8dc)]('app_terminate','Terminate\x20an\x20iOS\x20app\x20by\x20bundle\x20ID.',{'bundleId':_0x161c47[_0x3ee7d6(0x7fd)]()},async({bundleId:_0x40bce3})=>{try{const _0x190125=await _0x174ea1['terminateApp'](_0x40bce3);return{..._0x1a18b6(_0x190125),'isError':!_0x190125['success']};}catch(_0x4eb93d){return _0x2859f2('app_terminate',_0x4eb93d);}}),_0x14f67c['tool']('app_activate','Bring\x20an\x20app\x20to\x20the\x20foreground\x20without\x20a\x20cold\x20restart.\x20Uses\x20WDA\x27s\x20/wda/apps/launch,\x20falls\x20back\x20to\x20a\x20fresh\x20launch\x20if\x20WDA\x20is\x20unreachable.',{'bundleId':_0x161c47[_0x3ee7d6(0x7fd)]()},async({bundleId:_0x17071b})=>{const _0xe66a1=_0x3ee7d6;try{const _0x131933=await _0x174ea1['activateApp'](_0x17071b);return{..._0x1a18b6(_0x131933),'isError':!_0x131933[_0xe66a1(0x42d)]};}catch(_0x556ca3){return _0x2859f2('app_activate',_0x556ca3);}}),_0x14f67c['tool'](_0x3ee7d6(0x6c0),'List\x20apps\x20installed\x20on\x20the\x20connected\x20real\x20device\x20via\x20`xcrun\x20devicectl\x20device\x20info\x20apps`.\x20Cached\x20for\x2030s.',{},async()=>{const _0xf968f=_0x3ee7d6;try{const _0x1df03a=await _0x174ea1[_0xf968f(0x960)]();return{..._0x1a18b6(_0x1df03a),'isError':!_0x1df03a[_0xf968f(0x42d)]};}catch(_0x13e1b3){return _0x2859f2(_0xf968f(0x6c0),_0x13e1b3);}}),_0x14f67c[_0x3ee7d6(0x8dc)](_0x3ee7d6(0x790),'Return\x20info\x20about\x20the\x20foreground\x20app\x20via\x20WDA\x27s\x20/wda/activeAppInfo\x20(bundleId,\x20pid,\x20name).',{},async()=>{const _0x163e00=_0x3ee7d6;try{const _0x56fddf=await _0x174ea1[_0x163e00(0x899)]();return{..._0x1a18b6(_0x56fddf),'isError':!_0x56fddf['success']};}catch(_0x311dea){return _0x2859f2('app_active',_0x311dea);}}),_0x14f67c['tool'](_0x3ee7d6(0x233),'Ensure\x20the\x20iOS\x20device\x20is\x20awake\x20and\x20unlocked.\x20Returns\x20a\x20structured\x20result\x20with\x20remediation\x20guidance\x20when\x20the\x20device\x20is\x20locked.',{},async()=>{const _0x56bd2f=_0x3ee7d6;try{const _0x816b3b=await _0x43a84f['ensureAwake']();return{..._0x1a18b6(_0x816b3b),'isError':!_0x816b3b[_0x56bd2f(0x12f)]};}catch(_0xa3a7ba){return _0x2859f2(_0x56bd2f(0x233),_0xa3a7ba);}}),_0x14f67c['tool']('device_set_orientation','Set\x20the\x20device\x20orientation\x20to\x20portrait\x20or\x20landscape\x20via\x20WDA.',{'orientation':_0x161c47['enum'](['portrait','landscape'])},async({orientation:_0x3c2887})=>{const _0x1983dd=_0x3ee7d6;try{const _0x1ba45b=await _0x43a84f[_0x1983dd(0x71b)](_0x3c2887);return{..._0x1a18b6(_0x1ba45b),'isError':!_0x1ba45b[_0x1983dd(0x42d)]};}catch(_0x5d57ca){return _0x2859f2(_0x1983dd(0x15e),_0x5d57ca);}});function _0x44ed91(){const _0x30242c=_0x3ee7d6;return{'loadAuth':_0x9b2b8c,'resolveRepo':_0x4c7f9c,'getCurrentBranch':_0x6b60b3,'getGitSha':_0x37a731,'getWorkingTreeDiff':_0x27a85c,'listChangedFiles':_0x392eac,'readChangedFileContents':_0x50bda3,'getDefaultBranch':_0x4e9ac7,'fetcher':(_0x20b9db,_0xd6d72d,_0x381aa4)=>_0x4ace5b(_0x20b9db,_0xd6d72d,_0x381aa4),'ensureGraph':()=>_0x3a93e6({'workingDir':_0x59dcf1}),'flowRunner':_0xa7772,'progressWriter':_0x536663,'testDataManager':_0x50b852,'runsStore':_0x2fb690,'getTestIdReady':()=>_0x126d97({'projectDir':_0x59dcf1,'sentinel':_0x32bb67[_0x30242c(0x9db)]()})['then'](_0x7045bc=>_0x7045bc[_0x30242c(0x798)]),'cwd':_0x59dcf1};}_0x14f67c['tool']('rn_test_flows',_0x3ee7d6(0x3b4),{'flowIds':_0x161c47[_0x3ee7d6(0x27a)](_0x161c47[_0x3ee7d6(0x7fd)]())['min'](0x1)[_0x3ee7d6(0x9de)]('Flow\x20ids\x20to\x20execute,\x20as\x20returned\x20by\x20rn_find_flows\x20/\x20rn_list_flows.\x20Treated\x20as\x20a\x20set\x20—\x20execution\x20order\x20is\x20decided\x20server-side.')},async({flowIds:_0x203a13})=>{const _0x248119=_0x3ee7d6;try{if(_0x248119(0x167)!=='clcde'){await _0x246281();const _0x2dbcff=await _0xd571ff(_0x3535ad);if(_0x2dbcff['kind']==='block')return _0x2dbcff[_0x248119(0x856)];const _0x210670=await _0x1f93a6({'flowIds':_0x203a13},_0x44ed91()),_0x1c0619=typeof _0x210670[_0x248119(0x46c)]===_0x248119(0x513)||(_0x210670[_0x248119(0x2ca)]?.[_0x248119(0x945)]??0x0)>0x0,_0x14741e=_0x4ec2e8(_0x2dbcff['advisories']),_0x1e67a9=_0x14741e?{..._0x210670,'doctorAdvisories':_0x14741e}:_0x210670,_0x8e5bb=_0xd9289f(_0x1e67a9,_0x210670['results'],_0x210670[_0x248119(0x77d)]);return _0x31a38a(_0x8e5bb['content']),{..._0x8e5bb,'isError':_0x1c0619};}else _0x23aba4=_0x5ecf67(_0xda93f0,_0x21068d,{'stdio':[_0x248119(0x317),_0x248119(0x406),_0x248119(0x406)]});}catch(_0x8869dc){if(_0x8869dc instanceof _0x45acbf&&_0x8869dc[_0x248119(0x220)]!==void 0x0)return{..._0x1a18b6(_0x8869dc[_0x248119(0x220)]),'isError':!![]};return _0x2859f2('rn_test_flows',_0x8869dc);}}),_0x14f67c[_0x3ee7d6(0x8dc)](_0x3ee7d6(0x6d3),'Preview\x20which\x20flows\x20your\x20changes\x20(or\x20specific\x20files)\x20affect\x20—\x20THE\x20first\x20step\x20for\x20any\x20\x27test\x20my\x20changes\x27\x20or\x20\x27what\x20does\x20this\x20touch\x27\x20ask.\x20Each\x20row\x20carries\x20a\x20`flowId`\x20plus\x20the\x20flow\x27s\x20name,\x20outcome,\x20mutation\x20status,\x20and\x20preconditions.\x20The\x20rows\x20are\x20a\x20menu:\x20their\x20order\x20is\x20presentational\x20only\x20(the\x20server\x20determines\x20execution\x20order),\x20so\x20just\x20decide\x20what\x20to\x20run\x20—\x20the\x20chosen\x20flowIds\x20for\x20a\x20focused\x20subset,\x20or\x20ALL\x20of\x20them\x20for\x20comprehensive\x20verification\x20—\x20and\x20pass\x20them\x20to\x20`rn_test_flows`\x20to\x20execute\x20(batching\x20above\x20its\x2010-id\x20cap).\x20The\x20preview\x20is\x20comprehensive:\x20`totalCount`\x20is\x20the\x20true\x20matched\x20count,\x20and\x20rows\x20are\x20only\x20ever\x20clipped\x20past\x20a\x20high\x20bound,\x20flagged\x20with\x20`truncated:\x20true`\x20plus\x20a\x20hint.\x20For\x20app-wide\x20queries\x20not\x20scoped\x20to\x20a\x20diff\x20(\x27test\x20the\x20login\x20flows\x27),\x20use\x20`rn_find_flows`\x20instead.\x0a\x0aScope\x20inputs:\x20pass\x20`filePaths`\x20when\x20the\x20user\x20scoped\x20to\x20specific\x20files;\x20otherwise\x20omit\x20both\x20arguments\x20and\x20the\x20preview\x20defaults\x20to\x20the\x20working-tree\x20diff\x20vs\x20the\x20repo\x27s\x20default\x20branch.\x20Requires\x20auth.',{'base':_0x161c47['string']()[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)]('Base\x20ref\x20to\x20diff\x20the\x20working\x20tree\x20against.\x20Ignored\x20when\x20filePaths\x20is\x20supplied.\x20Defaults\x20to\x20the\x20repo\x27s\x20default\x20branch\x20(origin/HEAD,\x20falling\x20back\x20to\x20main,\x20then\x20master).'),'filePaths':_0x161c47['union']([_0x161c47[_0x3ee7d6(0x7fd)](),_0x161c47['array'](_0x161c47[_0x3ee7d6(0x7fd)]())])[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)]('Optional\x20single\x20path\x20or\x20array\x20of\x20repo-relative\x20file\x20paths.\x20When\x20present,\x20scopes\x20the\x20preview\x20to\x20flows\x20that\x20touch\x20these\x20files\x20and\x20ignores\x20the\x20diff\x20path.')},async({base:_0x1c35ac,filePaths:_0x5b230e})=>{const _0x2e5523=_0x3ee7d6;try{const _0x441eec=await _0x432da2({'base':_0x1c35ac,'filePaths':_0x5b230e},_0x44ed91());return _0x1a18b6(_0x441eec);}catch(_0x5c14c9){if('Ejukv'==='HdcYa')_0x25edb1(_0x4d7ca2);else return _0x2859f2(_0x2e5523(0x6d3),_0x5c14c9);}}),_0x14f67c['tool'](_0x3ee7d6(0x9ef),'Find\x20flows\x20app-wide\x20by\x20describing\x20them\x20in\x20natural\x20language\x20(e.g.\x20\x27user\x20logs\x20in\x27,\x20\x27checkout\x20flows\x27).\x20NOT\x20diff-scoped\x20—\x20searches\x20every\x20flow\x20in\x20the\x20app;\x20for\x20\x27what\x20would\x20my\x20changes\x20affect\x27\x20use\x20`rn_list_flows`\x20instead.\x20The\x20returned\x20candidate\x20set\x20is\x20COMPLETE\x20for\x20the\x20query\x20(the\x20matcher\x20over-includes\x20rather\x20than\x20filters),\x20so\x20make\x20the\x20final\x20selection\x20yourself:\x20pick\x20ONE\x20flow\x20for\x20a\x20happy-path\x20ask,\x20several\x20or\x20all\x20of\x20them\x20for\x20broad\x20behavior\x20coverage.\x20Match\x20order\x20is\x20presentational,\x20not\x20a\x20relevance\x20ranking\x20(each\x20match\x27s\x20`reason`\x20carries\x20the\x20why;\x20the\x20server\x20determines\x20execution\x20order).\x20Then\x20pass\x20the\x20chosen\x20flowIds\x20to\x20`rn_test_flows`\x20to\x20execute.\x20Requires\x20auth.',{'query':_0x161c47[_0x3ee7d6(0x7fd)]()['min'](0x1)['describe'](_0x3ee7d6(0x1e7))},async({query:_0x5d80fa})=>{const _0x3eb619=_0x3ee7d6;try{const _0x368aa8=await _0x4123b7({'query':_0x5d80fa},_0x44ed91()),_0xcdf1d5=_0x1a18b6(_0x368aa8);return _0x368aa8[_0x3eb619(0x77d)]?{'content':[..._0xcdf1d5['content'],{'type':_0x3eb619(0x5d9),'text':_0x368aa8['warning']}]}:_0xcdf1d5;}catch(_0x56f48d){return _0x2859f2('rn_find_flows',_0x56f48d);}}),_0x14f67c['tool'](_0x3ee7d6(0x75e),_0x3ee7d6(0x108),{'chainId':_0x161c47['string']()[_0x3ee7d6(0x9de)]('Chain\x20identifier\x20—\x20surfaced\x20verbatim\x20in\x20responses.'),'flows':_0x161c47['array'](_0x161c47['unknown']())['describe']('Ordered\x20flow\x20list.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.'),'bridges':_0x161c47['array'](_0x161c47[_0x3ee7d6(0x27a)](_0x161c47['unknown']()))[_0x3ee7d6(0x9de)](_0x3ee7d6(0x9b1)),'snapPointFlowIndices':_0x161c47[_0x3ee7d6(0x27a)](_0x161c47['number']()[_0x3ee7d6(0x22a)]()[_0x3ee7d6(0x1ba)]())[_0x3ee7d6(0x9de)]('Indices\x20after\x20which\x20the\x20runner\x20pauses\x20for\x20an\x20AI-agent\x20decision.\x20Pass\x20through\x20verbatim\x20from\x20the\x20planning\x20tool.'),'perFlowStatedDependencies':_0x161c47['array'](_0x161c47[_0x3ee7d6(0x71c)]([_0x161c47[_0x3ee7d6(0x27a)](_0x161c47['string']()),_0x161c47['undefined']()]))['optional']()['describe'](_0x3ee7d6(0x278)),'perFlowMutexWith':_0x161c47[_0x3ee7d6(0x27a)](_0x161c47[_0x3ee7d6(0x71c)]([_0x161c47[_0x3ee7d6(0x27a)](_0x161c47[_0x3ee7d6(0x7fd)]()),_0x161c47['undefined']()]))[_0x3ee7d6(0x4ac)]()['describe'](_0x3ee7d6(0x90e)),'bootRequestPatterns':_0x161c47[_0x3ee7d6(0x27a)](_0x161c47[_0x3ee7d6(0x7fd)]())[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)](_0x3ee7d6(0x24a)),'affectedFlowNames':_0x161c47['array'](_0x161c47['string']())['optional']()['describe']('Flow\x20names\x20that\x20touch\x20diff-affected\x20screens.\x20Pass\x20through\x20verbatim\x20from\x20a\x20planning\x20response\x20that\x20carried\x20them.\x20Used\x20to\x20promote\x20selective\x20screenshot\x20capture\x20for\x20diff-affected\x20flows\x20during\x20chain\x20execution.\x20Absent\x20or\x20empty\x20means\x20no\x20promotion\x20(event-triggered\x20capture\x20only).'),'signature':_0x161c47[_0x3ee7d6(0x7fd)]()[_0x3ee7d6(0x9de)](_0x3ee7d6(0xf2))},async _0x28edda=>{const _0x345e2c=_0x3ee7d6;try{await _0x246281();const _0x40e0eb=await _0xd571ff(_0x3535ad);if(_0x40e0eb['kind']==='block')return _0x40e0eb['response'];const _0x11c125=_0x28edda,_0x1cf223=await _0x1c8370['start'](_0x11c125),_0x55949f=_0x4ec2e8(_0x40e0eb['advisories']),_0xe6e760=[..._0x1a18b6(_0x55949f?{..._0x1cf223,'doctorAdvisories':_0x55949f}:_0x1cf223)[_0x345e2c(0x791)]];return _0x31a38a(_0xe6e760),{'content':_0xe6e760,'isError':_0x1cf223['status']==='error'};}catch(_0x3cde8d){return _0x2859f2(_0x345e2c(0x75e),_0x3cde8d);}}),_0x14f67c['tool']('rn_test_chain_continue',_0x3ee7d6(0x37b),{'runId':_0x161c47[_0x3ee7d6(0x7fd)]()[_0x3ee7d6(0x9de)]('Opaque\x20chain\x20identifier\x20returned\x20by\x20`rn_test_chain_start`.\x20Expires\x20after\x2030\x20minutes\x20of\x20inactivity.'),'decision':_0x161c47[_0x3ee7d6(0x499)](['continue',_0x3ee7d6(0x150),'retry','halt'])['describe']('`continue`\x20/\x20`recreate`\x20are\x20valid\x20only\x20at\x20`snap_point_pending`.\x20`retry`\x20/\x20`halt`\x20are\x20valid\x20only\x20at\x20`awaiting_error_decision`.\x20Mismatched\x20pairings\x20are\x20rejected\x20before\x20the\x20runner\x20advances.')},async({runId:_0x39a444,decision:_0x52a207})=>{const _0x2b0749=_0x3ee7d6;try{await _0x246281();const _0x3cb56f=await _0xd571ff(_0x3535ad,{'force':!![]});if(_0x3cb56f['kind']===_0x2b0749(0x34d))return _0x3cb56f['response'];const _0x1165bf=await _0x1c8370['continueRun'](_0x39a444,_0x52a207),_0x1c58f0=_0x4ec2e8(_0x3cb56f['advisories']),_0x240b46=[..._0x1a18b6(_0x1c58f0?{..._0x1165bf,'doctorAdvisories':_0x1c58f0}:_0x1165bf)[_0x2b0749(0x791)]];return _0x31a38a(_0x240b46),{'content':_0x240b46,'isError':_0x1165bf[_0x2b0749(0x9d0)]===_0x2b0749(0x125)};}catch(_0x5c77ea){return _0x2859f2(_0x2b0749(0x2d9),_0x5c77ea);}}),_0x14f67c['tool'](_0x3ee7d6(0x31c),_0x3ee7d6(0x201),{'olderThan':_0x161c47[_0x3ee7d6(0x499)]([_0x3ee7d6(0x2ab),_0x3ee7d6(0x3a2),_0x3ee7d6(0x9a6)])[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)](_0x3ee7d6(0x95b))},async({olderThan:_0x5f08ee})=>{const _0x3af6f1=_0x3ee7d6;try{const _0x2e06a3=await _0x576e14(_0x2fb690,{'olderThan':_0x5f08ee});if(_0x2e06a3['failedToPurge']>0x0)return{..._0x1a18b6({..._0x2e06a3,'error':_0x2e06a3['failedToPurge']+'\x20run(s)\x20could\x20not\x20be\x20purged\x20(permission\x20or\x20disk\x20error).\x20See\x20server\x20logs\x20for\x20per-run\x20detail.'}),'isError':!![]};return _0x1a18b6(_0x2e06a3);}catch(_0x446cdf){return _0x2859f2(_0x3af6f1(0x31c),_0x446cdf);}}),_0x14f67c['tool']('ceraph_doctor','Run\x20every\x20setup\x20check\x20we\x20can\x20before\x20flows\x20execute:\x20WDA\x20reachable,\x20device\x20connected,\x20device\x20awake,\x20app\x20installed,\x20required\x20env\x20vars\x20present,\x20laptop\x20WiFi.\x20Returns\x20a\x20structured\x20DoctorResult\x20—\x20when\x20ok:\x20false,\x20surface\x20the\x20failing\x20checks\x27\x20remediation\x20verbatim\x20and\x20DO\x20NOT\x20attempt\x20to\x20fix\x20environment\x20issues\x20by\x20editing\x20source\x20code.\x20Call\x20this\x20once\x20before\x20a\x20batch\x20of\x20rn_test_*\x20runs.\x20To\x20bring\x20everything\x20up\x20in\x20one\x20call\x20(Metro\x20+\x20build\x20+\x20verify),\x20use\x20ceraph_start.',{'bundleId':_0x161c47['string']()['optional']()[_0x3ee7d6(0x9de)]('Bundle\x20ID\x20of\x20the\x20app\x20under\x20test\x20(e.g.,\x20com.acme.myapp).\x20Required\x20for\x20the\x20app-installed\x20check.'),'requiredEnv':_0x161c47[_0x3ee7d6(0x27a)](_0x161c47['string']())[_0x3ee7d6(0x4ac)]()['describe']('Env\x20var\x20names\x20the\x20planned\x20flows\x20reference.\x20Each\x20must\x20be\x20set\x20+\x20non-empty.'),'expectedNetwork':_0x161c47['string']()['optional']()[_0x3ee7d6(0x9de)]('Optional\x20WiFi\x20SSID\x20the\x20user\x20expects\x20the\x20laptop\x20(and\x20phone)\x20to\x20be\x20on.\x20Mismatch\x20is\x20a\x20warning,\x20not\x20an\x20error.')},async({bundleId:_0x170dd9,requiredEnv:_0x3b32be,expectedNetwork:_0x38a728})=>{try{const _0x86939b=await _0x3df3ac({'screen':_0x4650a9,'apps':_0x174ea1,'autonomy':_0x43a84f,'iproxyManager':_0x8e538a,'bundleId':_0x170dd9,'requiredEnv':_0x3b32be,'expectedNetwork':_0x38a728,'projectDir':_0x59dcf1,'target':_0x2db18f});return _0x2e83b7(_0x86939b),{..._0x1a18b6(_0x86939b),'isError':!_0x86939b['ok']};}catch(_0x1e6b3e){return _0x2859f2('ceraph_doctor',_0x1e6b3e);}}),_0x14f67c[_0x3ee7d6(0x8dc)]('rn_sync_camera_registry',_0x3ee7d6(0x12a),{},async()=>{const _0x2e2eb7=_0x3ee7d6;try{if(_0x2e2eb7(0x756)!==_0x2e2eb7(0x756))void this[_0x2e2eb7(0x41c)]['cleanupJit']()['catch'](()=>void 0x0);else{const _0x59aa39=await _0x280e91(_0x59dcf1);if(_0x59aa39['writtenOrUnchanged']==='missing-dir'){if(_0x2e2eb7(0x7ea)==='zmYKh')_0x320371[_0x2e2eb7(0x4ae)](),_0x9f5fce(_0x131d55);else return{..._0x1a18b6({'registered':[],'registryPath':_0x10fa2a(_0x59dcf1,_0x59aa39[_0x2e2eb7(0x6a9)]),'state':_0x59aa39[_0x2e2eb7(0x969)],'message':'Create\x20`.ceraph/camera-images/`\x20and\x20add\x20at\x20least\x20one\x20image.\x20Run\x20this\x20tool\x20again\x20to\x20generate\x20the\x20registry.'}),'isError':!![]};}return _0x1a18b6({'registered':_0x59aa39['registered'][_0x2e2eb7(0x986)](_0x39e252=>_0x39e252['key']),'registryPath':_0x10fa2a(_0x59dcf1,_0x59aa39[_0x2e2eb7(0x6a9)]),'state':_0x59aa39[_0x2e2eb7(0x969)]});}}catch(_0x4a9bcd){return _0x2859f2(_0x2e2eb7(0x9a9),_0x4a9bcd);}}),_0x14f67c['tool'](_0x3ee7d6(0x50c),'Drop\x20a\x20camera\x20test\x20image\x20into\x20`.ceraph/camera-images/`\x20without\x20the\x20dev\x20having\x20to\x20copy\x20files\x20by\x20hand.\x20Pass\x20`imageBase64`\x20(the\x20bytes\x20—\x20no\x20`data:`\x20prefix\x20needed)\x20plus\x20a\x20lowercase\x20hyphen-separated\x20`imageKey`\x20(e.g.\x20`handwriting-sample-1`).\x20`contentType`\x20is\x20a\x20hint\x20only\x20—\x20the\x20extension\x20is\x20chosen\x20from\x20magic\x20bytes\x20(JPEG/PNG/WebP/HEIC).\x20A\x20collision\x20with\x20an\x20existing\x20imageKey\x20is\x20rejected\x20unless\x20`overwrite:\x20true`\x20is\x20set.\x20After\x20writing,\x20the\x20static\x20`_registry.ts`\x20is\x20regenerated\x20automatically\x20(same\x20step\x20as\x20`rn_sync_camera_registry`).',{'imageKey':_0x161c47[_0x3ee7d6(0x7fd)]()[_0x3ee7d6(0x9de)](_0x3ee7d6(0x575)),'imageBase64':_0x161c47['string']()['describe'](_0x3ee7d6(0x569)),'contentType':_0x161c47['string']()[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)](_0x3ee7d6(0x66b)),'overwrite':_0x161c47[_0x3ee7d6(0x715)]()['optional']()['describe'](_0x3ee7d6(0x7ee)),'subDir':_0x161c47['string']()[_0x3ee7d6(0x4ac)]()['describe'](_0x3ee7d6(0x51d))},async({imageKey:_0x156b81,imageBase64:_0x4064a6,contentType:_0x5bb2f6,overwrite:_0x478255,subDir:_0x5a1c65})=>{const _0x26ca36=_0x3ee7d6;try{const _0x109971=await _0x36607e(_0x59dcf1,{'imageKey':_0x156b81,'imageBase64':_0x4064a6,'contentType':_0x5bb2f6,'overwrite':_0x478255,'subDir':_0x5a1c65});return _0x1a18b6({'written':_0x109971[_0x26ca36(0x7c2)],'registry':_0x109971[_0x26ca36(0x517)],'registered':_0x109971['registered'],'detectedContentType':_0x109971[_0x26ca36(0x3ee)],'detectedExt':_0x109971['detectedExt'],'replaced':_0x109971[_0x26ca36(0x32b)],'removedSiblingPath':_0x109971[_0x26ca36(0x1b9)],'bytes':_0x109971[_0x26ca36(0x107)],'registryState':_0x109971[_0x26ca36(0x347)],'warnings':_0x109971['warnings']});}catch(_0x28227e){if(_0x28227e instanceof _0x58b24e)return{..._0x1a18b6({'error':_0x28227e['code'],'message':_0x28227e[_0x26ca36(0x92e)],'remediation':_0x28227e[_0x26ca36(0x5de)]}),'isError':!![]};return _0x2859f2('ceraph_add_camera_image',_0x28227e);}}),_0x14f67c[_0x3ee7d6(0x8dc)](_0x3ee7d6(0x866),_0x3ee7d6(0x13f),{'timeoutMs':_0x161c47[_0x3ee7d6(0x513)]()['optional']()[_0x3ee7d6(0x9de)](_0x3ee7d6(0x2c4))},async({timeoutMs:_0x498a1a})=>{const _0x53875b=_0x3ee7d6;try{const _0x22ddd3=await _0x3fa9b2();if(!_0x22ddd3['ok'])return{..._0x1a18b6(_0x22ddd3['payload']),'isError':!![]};let _0x6852f3=_0x53875b(0x6cb);await _0x246281();const _0x3cf83f=_0x32bb67['isListening'](),_0x3627d4=_0x3cf83f?await _0x32bb67['enqueueCommand'](_0x53875b(0x1cd)):{'acked':![]};if(!_0x3627d4[_0x53875b(0x947)]){const _0xd87978=await _0x4650a9['openUrl'](_0x53875b(0x3b0));if(!_0xd87978['success'])return{..._0x1a18b6({'success':![],'error':_0x3cf83f?_0x53875b(0x51f)+(_0xd87978[_0x53875b(0x125)]??'openUrl\x20failed'):_0xe23307===_0x53875b(0x236)?_0x53875b(0x434)+(_0xd87978['error']??_0x53875b(0x81f))+'.\x20Fix\x20the\x20listener\x20(check\x20CERAPH_SIGNAL_HOST\x20and\x20that\x20port\x208101\x20is\x20free\x20and\x20permitted)\x20and\x20restart,\x20or\x20rebuild\x20so\x20the\x20ceraph://\x20scheme\x20is\x20registered.':'Another\x20process\x20holds\x20the\x20device-signal\x20port\x20(:8101),\x20so\x20Ceraph\x27s\x20command\x20channel\x20is\x20unavailable\x20in\x20this\x20session,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20'+(_0xd87978[_0x53875b(0x125)]??'openUrl\x20failed')+_0x53875b(0x3a8)}),'isError':!![]};_0x6852f3=_0x3cf83f?'deep-link-fallback':'deep-link\x20(command\x20channel\x20unavailable\x20—\x20:8101\x20not\x20bound\x20by\x20this\x20session)';}const _0x43f362=_0x498a1a??0x2710,_0x510573=Date['now']();let _0x7a4ab1=![];while(Date[_0x53875b(0x3d1)]()-_0x510573<_0x43f362){const _0x8c0d97=await _0x4650a9[_0x53875b(0x655)]()['catch'](()=>![]);if(_0x8c0d97){_0x7a4ab1=!![];break;}await new Promise(_0x346450=>setTimeout(_0x346450,0xc8));}const _0x629353=await _0x4650a9['screenshot']()[_0x53875b(0x4ba)](()=>void 0x0);return{..._0x1a18b6({'success':_0x7a4ab1,'via':_0x6852f3,'elapsedMs':Date['now']()-_0x510573,'screenshotBase64':_0x629353?.[_0x53875b(0x589)],'error':_0x7a4ab1?void 0x0:_0x53875b(0x8a5)+_0x43f362+'ms'}),'isError':!_0x7a4ab1};}catch(_0x1dd821){return _0x2859f2(_0x53875b(0x866),_0x1dd821);}}),_0x14f67c[_0x3ee7d6(0x8dc)]('rn_reset_state','Reset\x20the\x20running\x20RN\x20app\x27s\x20persisted\x20state\x20(AsyncStorage.clear\x20+\x20any\x20cleanup\x20hooks\x20registered\x20via\x20`registerResetHook`)\x20by\x20dispatching\x20the\x20`ceraph://reset`\x20deep\x20link\x20through\x20WDA.\x20Requires\x20the\x20app\x20to\x20have\x20called\x20`installSignalCapture()`\x20(default-on\x20behavior)\x20or\x20`installResetListener()`\x20explicitly.\x20Dev-only\x20—\x20production\x20builds\x20no-op\x20the\x20in-app\x20clear.',{},async()=>{const _0x285da0=_0x3ee7d6;try{await _0x246281();const _0x49c7f6=_0x32bb67[_0x285da0(0x5b3)](),_0x5cb476=_0x49c7f6?await _0x32bb67['enqueueCommand'](_0x285da0(0x88b)):{'acked':![]};if(_0x5cb476['acked'])return _0x1a18b6({'success':_0x5cb476['ok']!==![],'cleared':_0x5cb476['ok']!==![],'via':'command-channel',..._0x5cb476['detail']?{'detail':_0x5cb476[_0x285da0(0x6d9)]}:{},'hint':_0x5cb476['ok']!==![]?_0x285da0(0x49c):'Shim\x20received\x20the\x20reset\x20but\x20reported\x20the\x20clear\x20didn\x27t\x20complete\x20—\x20see\x20detail.'});const _0x152293=await _0x3fa9b2();if(!_0x152293['ok'])return{..._0x1a18b6(_0x152293[_0x285da0(0x836)]),'isError':!![]};const _0x48fc50=await _0x4650a9[_0x285da0(0x620)](_0x285da0(0x2cd));if(!_0x48fc50[_0x285da0(0x42d)])return{..._0x1a18b6({'success':![],'error':_0x49c7f6?_0x285da0(0x5a5)+(_0x48fc50[_0x285da0(0x125)]??'openUrl\x20failed'):_0xe23307===_0x285da0(0x236)?'Ceraph\x27s\x20device-signal\x20listener\x20couldn\x27t\x20start\x20(e.g.\x20a\x20permission\x20error\x20or\x20an\x20invalid\x20CERAPH_SIGNAL_HOST),\x20so\x20the\x20command\x20channel\x20is\x20unavailable\x20in\x20this\x20session,\x20and\x20the\x20deep-link\x20fallback\x20failed:\x20'+(_0x48fc50['error']??'openUrl\x20failed')+_0x285da0(0x6e6):_0x285da0(0x411)+(_0x48fc50[_0x285da0(0x125)]??'openUrl\x20failed')+'.\x20Stop\x20whatever\x20holds\x20:8101\x20(lsof\x20-nP\x20-iTCP:8101)\x20—\x20the\x20session\x20reclaims\x20it\x20automatically\x20—\x20or\x20rebuild\x20so\x20the\x20ceraph://\x20scheme\x20is\x20registered.'}),'isError':!![]};return _0x1a18b6({'success':!![],'dispatched':!![],'via':_0x49c7f6?'deep-link-fallback':_0x285da0(0x28d),'hint':'ceraph://reset\x20dispatched\x20via\x20the\x20legacy\x20deep\x20link;\x20the\x20clear\x20runs\x20in-app.\x20Update\x20the\x20shim\x20to\x20get\x20command-channel\x20acks.'});}catch(_0x586814){return _0x2859f2('rn_reset_state',_0x586814);}}),_0x14f67c['tool']('rn_stop',_0x3ee7d6(0x87f),{},async()=>{const _0x4d37b6=_0x3ee7d6;try{const _0x7d54f5=await _0x30c079['stopAll']();if(_0x7d54f5[_0x4d37b6(0x945)]===0x0)return{'content':[{'type':_0x4d37b6(0x5d9),'text':JSON['stringify']({'stopped':[],'message':_0x4d37b6(0x374)})}]};return{'content':[{'type':_0x4d37b6(0x5d9),'text':JSON['stringify']({'stopped':_0x7d54f5},null,0x2)}]};}catch(_0x3a5e32){return _0x2859f2(_0x4d37b6(0x2d2),_0x3a5e32);}}),_0x14f67c[_0x3ee7d6(0x8dc)](_0x3ee7d6(0x296),_0x3ee7d6(0x48e),{},async()=>{const _0x31f429=_0x3ee7d6;try{_0x2db18f[_0x31f429(0x46a)]();const _0x1246cf=await _0x2db18f['resolve'](),_0xac2e7e=_0x29f0ce['getSession']();return _0x1a18b6({'target':_0x1246cf['target'],'udid':_0x1246cf['udid'],'baseUrl':_0x1246cf[_0x31f429(0x3a9)],'reason':_0x1246cf[_0x31f429(0x78c)],'preferenceEnv':process.env.CERAPH_TARGET??null,'simulatorWdaSession':_0xac2e7e?{'port':_0xac2e7e['port'],'udid':_0xac2e7e[_0x31f429(0x737)],'projectPath':_0xac2e7e[_0x31f429(0x139)]}:null});}catch(_0x3d6c38){if('daoAk'==='zJKap')this['projectDir']=_0x477e7c,this[_0x31f429(0x175)]=_0x3296a7,this[_0x31f429(0x396)]=_0x102616(_0x24e89b,'last-build-snapshot.json');else return _0x2859f2('rn_target_status',_0x3d6c38);}}),_0x14f67c['tool']('rn_wda_start',_0x3ee7d6(0x8ee),{'udid':_0x161c47[_0x3ee7d6(0x7fd)]()[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)]('Simulator\x20UDID;\x20defaults\x20to\x20first\x20booted\x20simulator'),'derivedDataPath':_0x161c47['string']()['optional']()['describe'](_0x3ee7d6(0x65e))},async({udid:_0x130997,derivedDataPath:_0x4f99dc})=>{try{const _0x8b1d40=await _0x29f0ce['start']({'udid':_0x130997,'derivedDataPath':_0x4f99dc});return{..._0x1a18b6(_0x8b1d40),'isError':!_0x8b1d40['ok']};}catch(_0x37ec4a){return _0x2859f2('rn_wda_start',_0x37ec4a);}}),_0x14f67c['tool'](_0x3ee7d6(0x881),'Tear\x20down\x20the\x20simulator\x20WebDriverAgent\x20session\x20started\x20by\x20rn_wda_start\x20and\x20clear\x20the\x20captured\x20port.\x20Idempotent\x20—\x20calling\x20it\x20when\x20no\x20simulator\x20WDA\x20session\x20is\x20running\x20is\x20a\x20no-op.\x20Real-device\x20WDA\x20is\x20unaffected.',{},async()=>{const _0x24389a=_0x3ee7d6;try{const _0x152d14=await _0x29f0ce[_0x24389a(0x2bf)]();return _0x1a18b6(_0x152d14);}catch(_0x598cc7){return _0x2859f2('rn_wda_stop',_0x598cc7);}});async function _0x91f18b(){const _0x4a2ea3=_0x3ee7d6;if(await _0x4650a9[_0x4a2ea3(0x9b2)]())return _0x4a2ea3(0x961);const _0x561860=await _0x55be9b(await _0x174ea1[_0x4a2ea3(0x29a)]()['catch'](()=>null));if(!_0x561860)return _0x4a2ea3(0x7d8);const _0x5963f8=await _0x8e538a['start'](_0x561860)['catch'](()=>null);if(!_0x5963f8)return _0x4a2ea3(0x862);if(_0x5963f8['ok'])return'iproxy\x20bridge\x20started\x20(pid\x20'+_0x5963f8[_0x4a2ea3(0x135)]+').';if(_0x5963f8['reason']==='already-running')return'iproxy\x20bridge\x20already\x20running.';if(_0x5963f8['reason']===_0x4a2ea3(0x828))return'iproxy\x20not\x20installed\x20—\x20`brew\x20install\x20libimobiledevice`\x20to\x20enable\x20the\x20USB\x20bridge.';return'iproxy\x20bridge\x20failed\x20to\x20start:\x20'+(_0x5963f8['stderr']?.[0x0]??_0x4a2ea3(0x5bb))+'.';}_0x14f67c['tool']('rn_wait_for_device','Wait\x20for\x20an\x20iPhone\x20to\x20be\x20connected\x20via\x20USB-C.\x20Uses\x20macOS\x27s\x20usbmuxd\x20daemon\x20for\x20sub-second\x20event-driven\x20detection\x20(no\x20polling).\x20Waits\x20indefinitely\x20until\x20either\x20a\x20device\x20connects\x20or\x20the\x20agent\x20aborts\x20the\x20call.\x20Use\x20this\x20after\x20telling\x20the\x20user\x20\x27please\x20plug\x20in\x20your\x20iPhone\x27\x20—\x20the\x20call\x20resolves\x20immediately\x20when\x20they\x20do,\x20with\x20zero\x20detection\x20lag.',{'timeoutMs':_0x161c47[_0x3ee7d6(0x513)]()['int']()['positive']()['optional']()[_0x3ee7d6(0x9de)]('Optional\x20explicit\x20deadline\x20in\x20milliseconds.\x20Default:\x20none\x20—\x20the\x20call\x20waits\x20forever\x20and\x20relies\x20on\x20the\x20MCP\x20abort\x20signal\x20for\x20cancellation.\x20Set\x20this\x20only\x20when\x20you\x20want\x20a\x20hard\x20cap.')},async({timeoutMs:_0x35adaf},_0xd0c821)=>{const _0x1d6845=_0x3ee7d6;try{const _0x54cd79=await _0x32b680({'timeoutMs':_0x35adaf,'signal':_0xd0c821['signal']});return _0x2db18f['invalidate'](),_0x1a18b6(_0x54cd79);}catch(_0x25aa56){return _0x2859f2(_0x1d6845(0x23f),_0x25aa56);}});function _0x44ee80(_0x158786){const _0x3fa8fc=_0x3ee7d6;return{'content':[{'type':_0x3fa8fc(0x5d9),'text':JSON[_0x3fa8fc(0x2c1)](_0x158786,null,0x2)}]};}function _0x5e6299(_0x383407,_0xd3b7f8){return _0x2859f2(_0x383407,_0xd3b7f8);}_0x14f67c[_0x3ee7d6(0x8dc)]('ceraph_init','Run\x20the\x20COMPLETE\x20Ceraph\x20init\x20—\x20identical\x20to\x20`npx\x20@ceraph/react-native-mcp\x20init`.\x20This\x20is\x20the\x20recommended\x20path\x20for\x20agent-driven\x20setup:\x20it\x20runs\x20EVERY\x20phase\x20in\x20one\x20call\x20(MCP-client\x20configs,\x20Claude\x20Code\x20hooks,\x20.gitignore,\x20camera-images\x20dir,\x20<CameraView>\x20scan/replace,\x20installCeraph()\x20boot\x20injection,\x20ceraph://\x20URL\x20scheme,\x20server-side\x20graph\x20seed,\x20and\x20doctor)\x20so\x20you\x20never\x20hand-assemble\x20a\x20partial\x20install\x20from\x20the\x20granular\x20ceraph_init_*\x20tools.\x20Resumable\x20auth\x20gate:\x20with\x20no\x20sign-in\x20and\x20no\x20token\x20it\x20returns\x20{\x20status:\x20\x27needs-auth\x27,\x20verificationUri\x20}\x20and\x20DOES\x20NOT\x20mutate\x20the\x20project\x20—\x20surface\x20the\x20verificationUri\x20to\x20the\x20user,\x20have\x20them\x20sign\x20in\x20and\x20paste\x20the\x20token\x20it\x20issues,\x20then\x20re-call\x20ceraph_init\x20with\x20that\x20value\x20as\x20`token`\x20(persisted\x20directly,\x20no\x20browser\x20opens).\x20Once\x20signed\x20in\x20it\x20returns\x20{\x20status:\x20\x27ready\x27,\x20result\x20}\x20where\x20`result`\x20is\x20the\x20structured\x20per-phase\x20walkthrough\x20outcome.',{'token':_0x161c47[_0x3ee7d6(0x7fd)]()[_0x3ee7d6(0x4ac)]()[_0x3ee7d6(0x9de)]('Bearer\x20token\x20the\x20user\x20pasted\x20after\x20signing\x20in\x20at\x20the\x20verificationUri\x20(issued\x20by\x20ceraph.dev/cli-auth).\x20When\x20set,\x20it\x20is\x20persisted\x20to\x20~/.ceraph/auth.json\x20and\x20the\x20full\x20init\x20runs\x20in\x20the\x20same\x20call.')},async({token:_0x33b55d},_0x3eb77d)=>{const _0x7cd409=_0x3ee7d6;try{const _0x70ebbd=await _0x435db2({'token':_0x33b55d,'signal':_0x3eb77d[_0x7cd409(0x294)]});return _0x44ee80(_0x70ebbd);}catch(_0xe8fb33){return'zjTaL'==='jMAMd'?{'status':'preserved','settingsPath':_0x234685,'reason':'existing\x20settings\x20at\x20'+_0x552f0d+_0x7cd409(0x93f)}:_0x5e6299(_0x7cd409(0x50e),_0xe8fb33);}}),_0x14f67c[_0x3ee7d6(0x8dc)]('ceraph_init_status','Snapshot\x20the\x20current\x20init\x20state\x20of\x20the\x20project:\x20which\x20steps\x20are\x20complete\x20(package\x20installed,\x20GitHub\x20auth\x20cached,\x20ceraph://\x20scheme\x20registered,\x20installCeraph()\x20injected,\x20CameraView\x20usages\x20found)\x20and\x20which\x20MCP-client\x20config\x20files\x20exist.\x20Read-only.\x20To\x20actually\x20run\x20a\x20COMPLETE\x20setup,\x20call\x20`ceraph_init`\x20(CLI\x20parity\x20—\x20runs\x20every\x20phase\x20including\x20Claude\x20hooks\x20+\x20.gitignore);\x20use\x20the\x20granular\x20ceraph_init_*\x20tools\x20only\x20for\x20surgical\x20re-runs\x20of\x20a\x20single\x20step.',{'projectDir':_0x161c47['string']()['optional']()[_0x3ee7d6(0x9de)]('Directory\x20to\x20inspect.\x20Defaults\x20to\x20the\x20MCP\x20server\x27s\x20cwd\x20(usually\x20the\x20user\x27s\x20project\x20root).')},async({projectDir:_0x20f8b9})=>{const _0x537bec=_0x3ee7d6;try{if(_0x537bec(0x2eb)==='fYEIW'){const _0x55366d=_0x20f8b9??_0x59dcf1,_0x59c8b5=await _0x5b7020(_0x55366d,_0x423853(_0x55366d,_0x1e1264));return _0x44ee80(_0x59c8b5);}else{const _0x282eda=_0xbc15f8[_0x537bec(0x45d)]();if(_0x58ae52['isIdentifier'](_0x282eda)&&_0x282eda['getText']()===_0x2445d5)return _0x537bec(0x72f);}}catch(_0x35b392){return _0x5e6299(_0x537bec(0x5a6),_0x35b392);}}),_0x14f67c[_0x3ee7d6(0x8dc)]('ceraph_init_auth_browser',_0x3ee7d6(0x301),{'token':_0x161c47[_0x3ee7d6(0x7fd)]()[_0x3ee7d6(0x4ac)]()['describe'](_0x3ee7d6(0x9a0))},async({token:_0x491b3c},_0x364130)=>{try{const _0x495392=await _0xd9bac1({'signal':_0x364130['signal'],'token':_0x491b3c});return _0x44ee80(_0x495392);}catch(_0x315aed){return _0x5e6299('ceraph_init_auth_browser',_0x315aed);}});async function _0xba6d72(_0x4328bb){const _0x33e238=_0x3ee7d6,_0x5a0af4=_0x33e238(0x6ec),_0x1cf336='Pro\x20·\x20$10/mo\x20—\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device.\x20Sign\x20in\x20to\x20start.',_0x357ddb=_0x33e238(0x98e);let _0x4b86a4=_0x4328bb['tier'];if(_0x4b86a4)await _0x4107c4(_0x4b86a4)[_0x33e238(0x4ba)](()=>void 0x0);else{const _0x58de61=await _0x3fccb9()['catch'](()=>null);_0x4b86a4=_0x58de61?.['tier'];}if(!_0x4b86a4)return{'status':'needs-tier','question':_0x33e238(0x378),'options':[{'tier':_0x33e238(0x3fa),'label':_0x5a0af4},{'tier':_0x33e238(0x1b6),'label':_0x1cf336}],'detailsUrl':_0x357ddb,'hint':'Re-call\x20ceraph_init_select_tier\x20with\x20the\x20user\x27s\x20chosen\x20{\x20tier\x20}.\x20Share\x20detailsUrl\x20if\x20the\x20user\x20wants\x20more\x20about\x20the\x20plans.'};if(_0x4b86a4===_0x33e238(0x3fa))return{'status':_0x33e238(0x92b),'tier':_0x33e238(0x3fa),'message':'Starter\x20selected\x20—\x20local\x20build,\x20run,\x20and\x20device\x20tools\x20are\x20ready.\x20No\x20sign-in\x20needed.\x20To\x20add\x20AI\x20flow\x20testing\x20on\x20a\x20real\x20device\x20later,\x20re-call\x20this\x20tool\x20with\x20{\x20tier:\x20\x27pro\x27\x20}.'};const _0x1f04f2=await _0x9b2b8c()[_0x33e238(0x4ba)](()=>null);if(!_0x1f04f2?.[_0x33e238(0x315)])return{'status':'needs-auth','tier':_0x33e238(0x1b6),'authUrl':_0x58f401({'intent':'pro'}),'message':'Pro\x20requires\x20sign-in.\x20Surface\x20the\x20authUrl\x20to\x20the\x20user,\x20have\x20them\x20paste\x20the\x20token\x20it\x20issues,\x20then\x20call\x20ceraph_init_auth_browser\x20with\x20that\x20token.\x20After\x20sign-in,\x20re-call\x20ceraph_init_select_tier\x20to\x20continue.'};const _0x164d6f=await _0x590cfe()[_0x33e238(0x4ba)](()=>![]);if(!_0x164d6f)return{'status':'needs-checkout','tier':'pro','checkoutUrl':_0x357ddb,'message':'Selecting\x20Pro\x20isn\x27t\x20the\x20same\x20as\x20being\x20Pro.\x20Complete\x20checkout\x20at\x20'+_0x357ddb+_0x33e238(0x959)};return{'status':'pro-ready','tier':'pro','message':'Pro\x20is\x20active\x20on\x20this\x20account.\x20AI\x20flow\x20testing\x20on\x20your\x20real\x20device\x20is\x20unlocked.'};}_0x14f67c[_0x3ee7d6(0x8dc)](_0x3ee7d6(0x949),'Select\x20the\x20Ceraph\x20plan\x20and\x20drive\x20Pro\x20onboarding.\x20Call\x20with\x20no\x20args\x20to\x20get\x20the\x20two\x20plan\x20options\x20({\x20status:\x20\x27needs-tier\x27\x20});\x20call\x20with\x20{\x20tier:\x20\x27starter\x27\x20}\x20for\x20the\x20free\x20local\x20toolset\x20({\x20status:\x20\x27starter-ready\x27\x20});\x20call\x20with\x20{\x20tier:\x20\x27pro\x27\x20}\x20to\x20start\x20Pro\x20setup.\x20The\x20Pro\x20path\x20is\x20a\x20state\x20machine\x20resolved\x20fresh\x20each\x20call:\x20not\x20signed\x20in\x20→\x20{\x20status:\x20\x27needs-auth\x27,\x20authUrl\x20}\x20(sign\x20in\x20via\x20ceraph_init_auth_browser,\x20then\x20re-call);\x20signed\x20in\x20but\x20not\x20yet\x20paid\x20→\x20{\x20status:\x20\x27needs-checkout\x27,\x20checkoutUrl\x20}\x20(selecting\x20Pro\x20is\x20NOT\x20being\x20Pro\x20—\x20complete\x20checkout,\x20then\x20re-call);\x20paid\x20→\x20{\x20status:\x20\x27pro-ready\x27\x20}.\x20Re-calling\x20re-checks\x20server-side,\x20so\x20an\x20abandoned\x20then-completed\x20checkout\x20self-heals.\x20For\x20a\x20complete\x20install\x20(this\x20tier\x20step\x20plus\x20every\x20other\x20phase),\x20call\x20`ceraph_init`\x20instead.',{'tier':_0x161c47[_0x3ee7d6(0x499)]([_0x3ee7d6(0x3fa),_0x3ee7d6(0x1b6)])[_0x3ee7d6(0x4ac)]()['describe']('The\x20plan\x20the\x20user\x20chose.\x20Omit\x20on\x20the\x20first\x20call\x20to\x20receive\x20the\x20two\x20options\x20to\x20surface.')},async({tier:_0x1cb670})=>{const _0x1790b0=_0x3ee7d6;try{const _0x43416e=await _0xba6d72({'tier':_0x1cb670});return _0x44ee80(_0x43416e);}catch(_0x2cb795){return _0x5e6299(_0x1790b0(0x949),_0x2cb795);}}),_0x14f67c['tool']('ceraph_init_scan_camera','AST-scan\x20the\x20project\x20for\x20<CameraView>\x20usages\x20(from\x20expo-camera).\x20Returns\x20each\x20usage\x20with\x20its\x20file\x20path,\x20line,\x20suggested\x20imageKey\x20(heuristic),\x20and\x20~30\x20lines\x20of\x20surrounding\x20code\x20so\x20the\x20AI\x20can\x20reason\x20about\x20what\x20to\x20put\x20in\x20imageKey.\x20The\x20AI\x20should\x20override\x20the\x20suggestion\x20based\x20on\x20context\x20(e.g.\x20a\x20`project.type\x20===\x20\x27uppercase\x27`\x20branch\x20nearby\x20implies\x20imageKey=\x27letter-uppercase\x27).',{'projectDir':_0x161c47['string']()['optional']()},async({projectDir:_0x3d4946})=>{const _0x5a8e6a=_0x3ee7d6;try{const _0x35d214=await _0x574a8e(_0x3d4946??_0x59dcf1);return _0x44ee80(_0x35d214);}catch(_0x54e483){return _0x5e6299(_0x5a8e6a(0x77b),_0x54e483);}}),_0x14f67c[_0x3ee7d6(0x8dc)]('ceraph_init_replace_camera','Apply\x20ONE\x20<CameraView>\x20→\x20<CeraphCamera\x20imageKey=\x22...\x22>\x20AST\x20replacement.\x20The\x20AI\x20provides\x20the\x20imageKey\x20based\x20on\x20the\x20context\x20it\x20saw\x20in\x20scan_camera\x27s\x20surroundingCode.\x20Also\x20valid\x20for\x20an\x20EXISTING\x20<CeraphCamera\x20/>\x20that\x27s\x20still\x20uninitialized\x20(no\x20imageKey)\x20—\x20call\x20with\x20the\x20same\x20filePath/line\x20to\x20set\x20the\x20imageKey\x20on\x20the\x20tag.\x0a\x0aAccepted\x20imageKey\x20values:\x0a\x20\x20-\x20\x22default\x22\x20—\x20bundled\x201024x1024\x20black\x20PNG.\x20Right\x20for\x20tests\x20that\x20don\x27t\x20care\x20about\x20image\x20content\x20(form\x20submits,\x20file\x20uploads,\x20permission\x20flows).\x0a\x20\x20-\x20\x22<scenario>\x22\x20(lowercase-dashes)\x20—\x20a\x20specific\x20user-supplied\x20image.\x20Drop\x20the\x20file\x20at\x20.ceraph/camera-images/<scenario>.{jpg,png,webp}\x20(or\x20write\x20it\x20via\x20`ceraph_add_camera_image`)\x20before\x20flows\x20execute.\x0a\x20\x20-\x20\x22@runtime\x22\x20(or\x20any\x20value\x20starting\x20with\x20@)\x20—\x20declares\x20runtime\x20control\x20of\x20the\x20image.\x20The\x20planner\x20or\x20a\x20deep-link\x20push\x20picks\x20the\x20image\x20per-step\x20at\x20flow\x20time.\x20Use\x20when\x20one\x20camera\x20screen\x20feeds\x20different\x20scenarios\x20across\x20flows.\x0a\x0aAlso\x20adds\x20the\x20shim\x20import\x20and\x20trims\x20`CameraView`\x20from\x20the\x20expo-camera\x20import\x20when\x20no\x20JSX\x20uses\x20it\x20anymore.\x20Idempotent\x20—\x20returns\x20`{\x20already:\x20true\x20}`\x20when\x20the\x20line\x20is\x20already\x20CeraphCamera\x20with\x20the\x20same\x20imageKey.',{'filePath':_0x161c47['string']()[_0x3ee7d6(0x9de)]('Absolute\x20path\x20of\x20the\x20source\x20file.'),'line':_0x161c47[_0x3ee7d6(0x513)]()['int']()[_0x3ee7d6(0x3cd)]()[_0x3ee7d6(0x9de)](_0x3ee7d6(0x164)),'imageKey':_0x161c47['string']()[_0x3ee7d6(0x71d)](0x1)['describe']('The\x20imageKey\x20to\x20use.\x20Either\x20\x22default\x22\x20(bundled\x20black\x20PNG),\x20a\x20user-defined\x20lowercase-dashes\x20key\x20matching\x20.ceraph/camera-images/<key>.{jpg,png,webp},\x20or\x20\x22@runtime\x22\x20/\x20any\x20\x22@\x22-prefixed\x20sentinel\x20for\x20runtime-controlled\x20selection.'),'projectDir':_0x161c47[_0x3ee7d6(0x7fd)]()['optional']()},async({filePath:_0xf8fbec,line:_0x38f9cf,imageKey:_0x4dc8da,projectDir:_0x44a76d})=>{const _0x45a7fd=_0x3ee7d6;try{const _0x23856c=await _0x5c99ef(_0x44a76d??_0x59dcf1,{'filePath':_0xf8fbec,'line':_0x38f9cf,'imageKey':_0x4dc8da});return _0x44ee80(_0x23856c);}catch(_0x2d85e8){return _0x5e6299(_0x45a7fd(0x273),_0x2d85e8);}}),_0x14f67c['tool']('ceraph_init_inject_boot','AST-inject\x20the\x20`installCeraph({\x20readTestidConfig\x20})`\x20seam\x20(plus\x20the\x20shim\x20+\x20react\x20imports)\x20into\x20the\x20root\x20layout\x20(app/_layout.tsx\x20for\x20Expo\x20Router,\x20App.tsx\x20for\x20bare\x20RN)\x20AND\x20wire\x20`@ceraph/react-native-mcp/babel-plugin`\x20into\x20babel.config\x20+\x20write\x20the\x20`.ceraph/testid-config.json`\x20sentinel\x20—\x20so\x20testID\x20injection\x20actually\x20activates.\x20Idempotent\x20—\x20returns\x20`{\x20already:\x20true\x20}`\x20when\x20the\x20seam\x20is\x20already\x20present;\x20the\x20`babelConfig`\x20field\x20reports\x20the\x20babel\x20wiring\x20outcome\x20(added\x20/\x20already-present\x20/\x20created\x20/\x20needs-manual).',{'projectDir':_0x161c47[_0x3ee7d6(0x7fd)]()['optional']()},async({projectDir:_0x37e47b})=>{const _0x314c44=_0x3ee7d6;try{const _0xc0b00d=await _0x1ed8ab(_0x37e47b??_0x59dcf1);return _0x44ee80(_0xc0b00d);}catch(_0x40f48e){return _0x5e6299(_0x314c44(0x643),_0x40f48e);}}),_0x14f67c[_0x3ee7d6(0x8dc)]('ceraph_init_register_scheme',_0x3ee7d6(0x6a1),{'projectDir':_0x161c47[_0x3ee7d6(0x7fd)]()['optional']()},async({projectDir:_0x5dd044})=>{const _0x19b781=_0x3ee7d6;try{const _0x5363af=await _0x46b911(_0x5dd044??_0x59dcf1);return _0x44ee80(_0x5363af);}catch(_0x3403c0){return _0x5e6299(_0x19b781(0x815),_0x3403c0);}}),_0x14f67c['tool']('ceraph_init_setup_mcp_clients','Write\x20the\x20MCP\x20server\x20config\x20block\x20to\x20every\x20supported\x20editor\x27s\x20local\x20config\x20file:\x20.mcp.json\x20(Claude\x20Code),\x20.cursor/mcp.json\x20(Cursor),\x20.codex/config.toml\x20(Codex),\x20.vscode/mcp.json\x20(VS\x20Code).\x20A\x20single\x20react-native-mcp\x20entry\x20(this\x20package)\x20is\x20written\x20per\x20file\x20—\x20it\x20owns\x20the\x20full\x20device-interaction\x20layer\x20(screen\x20taps/swipes,\x20app\x20lifecycle,\x20device\x20control)\x20and\x20talks\x20to\x20WebDriverAgent\x20directly.\x20Also\x20pre-approves\x20the\x20server\x20in\x20Claude\x20Code\x27s\x20project\x20scope\x20(.claude/settings.local.json\x20`enabledMcpjsonServers`)\x20so\x20the\x20ceraph_*\x20tools\x20load\x20without\x20the\x20one-time\x20trust\x20prompt.\x20Returns\x20{\x20written:\x20string[],\x20skipped:\x20string[],\x20preserved:\x20{name,reason}[],\x20claudePreApproval\x20}.\x20Skip\x20=\x20already\x20had\x20the\x20react-native-mcp\x20entry.\x20Preserved\x20=\x20the\x20existing\x20config\x20was\x20malformed\x20JSON\x20or\x20an\x20unexpected\x20shape,\x20so\x20it\x20was\x20left\x20untouched\x20(no\x20overwrite);\x20surface\x20the\x20reason\x20so\x20the\x20user\x20fixes\x20it\x20by\x20hand\x20and\x20re-runs.\x20NOTE:\x20this\x20writes\x20ONLY\x20the\x20MCP-client\x20configs\x20—\x20it\x20does\x20NOT\x20install\x20the\x20Claude\x20hooks\x20or\x20.gitignore\x20entries.\x20For\x20a\x20complete\x20install\x20call\x20`ceraph_init`;\x20use\x20this\x20tool\x20standalone\x20only\x20to\x20(re)write\x20a\x20single\x20client\x27s\x20config.',{'projectDir':_0x161c47[_0x3ee7d6(0x7fd)]()['optional']()[_0x3ee7d6(0x9de)]('Optional\x20project\x20to\x20write\x20client\x20configs\x20for.\x20Defaults\x20to\x20where\x20the\x20server\x20launched.\x20A\x20subpackage\x20of\x20the\x20launch\x20dir\x20resolves\x20to\x20the\x20launch\x20root\x20(monorepo);\x20a\x20path\x20outside\x20it\x20writes\x20to\x20that\x20project.')},async({projectDir:_0x4b82b2})=>{const _0x28c11c=_0x3ee7d6;try{const _0x51eb4f=await _0x5c8c10(_0x423853(_0x4b82b2??_0x59dcf1,_0x1e1264));return _0x44ee80(_0x51eb4f);}catch(_0x340ba3){if(_0x28c11c(0x895)!=='JcYxn'){const _0x1362f5=this[_0x28c11c(0x375)](_0x51d430);if(!_0x1c3d2d['has'](_0x1362f5)){_0x4a1c52['add'](_0x1362f5),_0x14ce27[_0x28c11c(0x496)]({'message':_0x12c049['message'],'stack':_0x18c32b['stack']}),_0x44c825['push'](_0x3a6fd6);const _0x4d7ecf=this['classifyRuntimeEntry'](_0x8e4fea,_0x5ed3be['flowId']);if(_0x4d7ecf[_0x28c11c(0x89a)])_0x4455fb['push'](_0x4d7ecf['objective']);if(_0x4d7ecf['witness'])_0x27cb12[_0x28c11c(0x496)](_0x4d7ecf['witness']);if(_0x4d7ecf[_0x28c11c(0x53a)])_0x230358=!![];}}else return _0x5e6299('ceraph_init_setup_mcp_clients',_0x340ba3);}}),_0x14f67c['tool']('ceraph_init_monorepo_status','Inspect\x20the\x20project\x20root\x20for\x20monorepo\x20signals\x20(package.json\x20workspaces,\x20pnpm-workspace.yaml,\x20lerna.json)\x20and\x20return\x20any\x20RN/Expo\x20subpackages\x20found.\x20If\x20the\x20cwd\x20is\x20itself\x20an\x20RN\x20app,\x20`rootIsRnApp:\x20true`\x20and\x20`matches:\x20[]`.\x20Use\x20this\x20before\x20calling\x20other\x20init\x20tools\x20—\x20when\x20matches.length\x20===\x201,\x20pass\x20that\x20absPath\x20as\x20projectDir\x20to\x20every\x20subsequent\x20ceraph_init_*\x20call.',{'projectDir':_0x161c47['string']()['optional']()},async({projectDir:_0xbaf63a})=>{const _0x151b7f=_0x3ee7d6;try{if(_0x151b7f(0x11d)===_0x151b7f(0x44f)){const _0x50aae2=_0x43d6b8(_0xcd8f31[_0x151b7f(0x85c)]??'');return _0x3a2ee9[_0x151b7f(0x2a5)](_0x3ac5de=>_0x3ac5de['test'](_0x50aae2));}else{const _0x332633=await _0x254ce6(_0xbaf63a??_0x59dcf1);return _0x44ee80(_0x332633);}}catch(_0x2e954a){return _0x5e6299('ceraph_init_monorepo_status',_0x2e954a);}}),_0x27ac7d(_0x14f67c),_0x2ba9f1(_0x14f67c,_0x50b852);async function _0x52d329(){const _0x10707e=_0x3ee7d6;try{const _0x12af19=0xe*0x18*0x3c*0x3c*0x3e8,_0x3edebe=0x400*0x400*0x400,{swept:_0x37af39,freedBytes:_0x376db6}=await _0x2fb690[_0x10707e(0x98c)](_0x12af19),{evicted:_0xd9ccfe,freedBytes:_0x2c32e1}=await _0x2fb690['enforceCapacityCap'](_0x3edebe),_0x6fceeb=(_0x376db6/(0x400*0x400))['toFixed'](0x1),_0x391efc=(_0x2c32e1/(0x400*0x400))[_0x10707e(0x65d)](0x1);console[_0x10707e(0x125)](_0x10707e(0x4ea)+_0x37af39['length']+'\x20runs\x20('+_0x6fceeb+'\x20MB)\x20older\x20than\x2014d;\x20evicted\x20'+_0xd9ccfe['length']+_0x10707e(0x6fb)+_0x391efc+'\x20MB)\x20over\x201GB\x20cap');}catch(_0x12ad38){console['error']('[runs-store]\x20retention\x20sweep\x20failed\x20(non-fatal):\x20'+(_0x12ad38 instanceof Error?_0x12ad38['message']:String(_0x12ad38)));}}function _0x16eb2c(){const _0x3ae044=_0x3ee7d6;if(!process.env.CERAPH_SIGNAL_HOST)try{const _0x602bb=_0x7b4852();_0x602bb?(process.env.CERAPH_SIGNAL_HOST=_0x602bb[_0x3ae044(0x26c)],console[_0x3ae044(0x125)]('[react-native-mcp]\x20CERAPH_SIGNAL_HOST\x20auto-detected:\x20'+_0x602bb['address']+'\x20('+_0x602bb[_0x3ae044(0x920)]+',\x20'+_0x602bb['kind']+').\x20To\x20persist\x20across\x20shells,\x20run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20—\x20it\x20adds\x20the\x20export\x20to\x20~/.zshrc.')):console[_0x3ae044(0x125)](_0x3ae044(0x974));}catch(_0x341da5){console['error'](_0x3ae044(0x823)+(_0x341da5 instanceof Error?_0x341da5['message']:String(_0x341da5)));}else console[_0x3ae044(0x125)](_0x3ae044(0x98a)+process.env.CERAPH_SIGNAL_HOST);}async function _0xf05776(){const _0x46995e=_0x3ee7d6;_0x16eb2c();const _0x29120a=await _0x32bb67[_0x46995e(0x41b)](),_0x233220=_0x9a373a(_0x29120a);_0xe23307=_0x233220[_0x46995e(0x9d0)],console['error'](_0x46995e(0x1f1)+_0x233220['message']);!_0x32bb67[_0x46995e(0x5b3)]()&&_0x230cf7();_0x233220['fatal']&&process['exit'](0x1);const _0x277827=new StdioServerTransport();await _0x14f67c['connect'](_0x277827),console['error'](_0x46995e(0x2ef)),void _0x9b2b8c()['catch'](()=>null)[_0x46995e(0x4cf)](_0x193716=>{!_0x193716?.['accessToken']&&console['error']('[react-native-mcp]\x20Not\x20signed\x20in.\x20Run\x20`npx\x20@ceraph/react-native-mcp\x20init`\x20to\x20finish\x20setup\x20—\x20sign-in\x20(required\x20for\x20the\x20flow\x20tools),\x20the\x20runtime-error\x20hook\x20that\x20surfaces\x20app\x20errors\x20in\x20your\x20chat,\x20and\x20your\x20Mac\x27s\x20LAN\x20IP.\x20Build\x20/\x20run\x20/\x20device\x20tools\x20work\x20without\x20it.');}),void _0x52d329(),void((async()=>{const _0x2384d2=_0x46995e;if(_0x2384d2(0x2d8)===_0x2384d2(0x2d8)){const _0x1986dd=await _0x45c4be()['catch'](()=>null);_0xe15240(_0x1986dd);}else _0xbc5f5d=_0x333e15['ok'];})()),void _0x3a93e6({'workingDir':_0x59dcf1}),void((async()=>{const _0xc1ed85=_0x46995e;try{const _0x51c32b=await _0x53bedf(_0x59dcf1);if(!_0x51c32b){_0x50b852['setAdapter'](null);return;}const _0x2f975b=await _0xf580df(_0x59dcf1,_0x51c32b);_0x50b852[_0xc1ed85(0x4c0)](_0x2f975b),console[_0xc1ed85(0x125)]('[react-native-mcp]\x20Auth-bypass\x20provider\x20wired:\x20'+_0x51c32b['provider']+_0xc1ed85(0x379)+_0x51c32b[_0xc1ed85(0x5b2)]+')');}catch(_0x501a11){_0x50b852['setAdapter'](null);const _0x7ae58a=_0x501a11 instanceof Error?_0x501a11['message']:String(_0x501a11);console[_0xc1ed85(0x125)]('[react-native-mcp]\x20Auth-bypass\x20provider\x20detection\x20failed\x20(non-fatal):\x20'+_0x7ae58a);}})()),void _0x50b852['sweepExpired']()[_0x46995e(0x4ba)](_0x228e3a=>{const _0x4c0b4b=_0x46995e;if(_0x4c0b4b(0x511)===_0x4c0b4b(0x511))console['error']('[react-native-mcp]\x20Managed\x20test-user\x20sweep\x20failed\x20(non-fatal):\x20'+(_0x228e3a instanceof Error?_0x228e3a[_0x4c0b4b(0x92e)]:String(_0x228e3a)));else{const _0x192fab=[..._0xb0f2f2,_0xf6163];return _0x8ce560[_0x4c0b4b(0x389)]=_0x192fab,{'action':'added','scheme':_0x192fab,'previousScheme':_0x26a234,'nextScheme':_0x192fab};}}),_0x355fbb?.[_0x46995e(0x41b)]();const _0x501a3e=async()=>{const _0x4dda7b=_0x46995e;_0x355fbb?.['stop'](),_0x81af9b&&(clearInterval(_0x81af9b),_0x81af9b=void 0x0),await Promise['all']([_0x1c8370['shutdown']()[_0x4dda7b(0x4ba)](()=>void 0x0),_0x32bb67[_0x4dda7b(0x2bf)]()[_0x4dda7b(0x4ba)](()=>void 0x0),_0x29f0ce['stop']()[_0x4dda7b(0x4ba)](()=>void 0x0),_0x5409fe['stop']()['catch'](()=>void 0x0),_0x8e538a[_0x4dda7b(0x2bf)]()['catch'](()=>void 0x0)]);};process['on'](_0x46995e(0x518),()=>{void _0x501a3e()['then'](()=>process['exit'](0x0));}),process['on']('SIGTERM',()=>{const _0x17ba6c=_0x46995e;void _0x501a3e()[_0x17ba6c(0x4cf)](()=>process[_0x17ba6c(0x41e)](0x0));});}process.env.CERAPH_NO_AUTOSTART!=='1'&&_0xf05776()[_0x3ee7d6(0x4ba)](_0x265b4d=>{const _0x5d3ad3=_0x3ee7d6;console[_0x5d3ad3(0x125)](_0x5d3ad3(0x4d3),_0x265b4d),process['exit'](0x1);});export{_0xd9289f as buildRunResultContent,_0x4a850b as stripScreenshotBlobs};