@tangle-network/sandbox 0.9.2 → 0.9.3

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.
@@ -1 +1,831 @@
1
- const a0_0x33f8ae=a0_0x2daa;function a0_0x2daa(_0x29e3b5,_0x207d92){_0x29e3b5=_0x29e3b5-0x1a1;const _0x5993f5=a0_0x5993();let _0x2daa0f=_0x5993f5[_0x29e3b5];if(a0_0x2daa['\x58\x4c\x72\x68\x4a\x42']===undefined){var _0x53a39f=function(_0x4d49c6){const _0xeda09a='\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a\x41\x42\x43\x44\x45\x46\x47\x48\x49\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53\x54\x55\x56\x57\x58\x59\x5a\x30\x31\x32\x33\x34\x35\x36\x37\x38\x39\x2b\x2f\x3d';let _0x48a1b5='',_0x24c10e='';for(let _0x3584ca=0x0,_0x4cf045,_0x42c52e,_0x28418b=0x0;_0x42c52e=_0x4d49c6['\x63\x68\x61\x72\x41\x74'](_0x28418b++);~_0x42c52e&&(_0x4cf045=_0x3584ca%0x4?_0x4cf045*0x40+_0x42c52e:_0x42c52e,_0x3584ca++%0x4)?_0x48a1b5+=String['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65'](0xff&_0x4cf045>>(-0x2*_0x3584ca&0x6)):0x0){_0x42c52e=_0xeda09a['\x69\x6e\x64\x65\x78\x4f\x66'](_0x42c52e);}for(let _0x3b0b69=0x0,_0x584e30=_0x48a1b5['\x6c\x65\x6e\x67\x74\x68'];_0x3b0b69<_0x584e30;_0x3b0b69++){_0x24c10e+='\x25'+('\x30\x30'+_0x48a1b5['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](_0x3b0b69)['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x10))['\x73\x6c\x69\x63\x65'](-0x2);}return decodeURIComponent(_0x24c10e);};a0_0x2daa['\x4d\x78\x78\x75\x4b\x66']=_0x53a39f,a0_0x2daa['\x43\x71\x62\x66\x48\x4d']={},a0_0x2daa['\x58\x4c\x72\x68\x4a\x42']=!![];}const _0x24df19=_0x5993f5[0x0],_0x22d8c5=_0x29e3b5+_0x24df19,_0x32af01=a0_0x2daa['\x43\x71\x62\x66\x48\x4d'][_0x22d8c5];return!_0x32af01?(_0x2daa0f=a0_0x2daa['\x4d\x78\x78\x75\x4b\x66'](_0x2daa0f),a0_0x2daa['\x43\x71\x62\x66\x48\x4d'][_0x22d8c5]=_0x2daa0f):_0x2daa0f=_0x32af01,_0x2daa0f;}(function(_0x515860,_0x13adfb){const _0x184ce1=a0_0x2daa,_0x2b2b14=_0x515860();while(!![]){try{const _0x508502=-parseInt(_0x184ce1(0x220))/0x1+-parseInt(_0x184ce1(0x227))/0x2*(parseInt(_0x184ce1(0x210))/0x3)+-parseInt(_0x184ce1(0x1b4))/0x4+-parseInt(_0x184ce1(0x27f))/0x5*(-parseInt(_0x184ce1(0x209))/0x6)+-parseInt(_0x184ce1(0x27c))/0x7*(-parseInt(_0x184ce1(0x206))/0x8)+parseInt(_0x184ce1(0x23f))/0x9*(-parseInt(_0x184ce1(0x248))/0xa)+parseInt(_0x184ce1(0x1cb))/0xb;if(_0x508502===_0x13adfb)break;else _0x2b2b14['push'](_0x2b2b14['shift']());}catch(_0x10397c){_0x2b2b14['push'](_0x2b2b14['shift']());}}}(a0_0x5993,0x6cd4b));import{t as a0_0x80cb86}from'\x2e\x2f\x73\x61\x6e\x64\x62\x6f\x78\x2d\x6a\x6f\x4b\x74\x51\x35\x79\x33\x2e\x6a\x73';const ITangleJobsAbi=[{'\x74\x79\x70\x65':a0_0x33f8ae(0x26c),'\x6e\x61\x6d\x65':'\x73\x75\x62\x6d\x69\x74\x4a\x6f\x62','\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1a4),'\x74\x79\x70\x65':a0_0x33f8ae(0x273)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1a8),'\x74\x79\x70\x65':'\x75\x69\x6e\x74\x38'},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x25d),'\x74\x79\x70\x65':a0_0x33f8ae(0x1e6)}],'\x6f\x75\x74\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x225),'\x74\x79\x70\x65':a0_0x33f8ae(0x273)}],'\x73\x74\x61\x74\x65\x4d\x75\x74\x61\x62\x69\x6c\x69\x74\x79':'\x70\x61\x79\x61\x62\x6c\x65'},{'\x74\x79\x70\x65':a0_0x33f8ae(0x26c),'\x6e\x61\x6d\x65':a0_0x33f8ae(0x23b),'\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':'\x73\x65\x72\x76\x69\x63\x65\x49\x64','\x74\x79\x70\x65':a0_0x33f8ae(0x273)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x225),'\x74\x79\x70\x65':a0_0x33f8ae(0x273)}],'\x6f\x75\x74\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':'','\x74\x79\x70\x65':a0_0x33f8ae(0x1db),'\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x73':[{'\x6e\x61\x6d\x65':'\x6a\x6f\x62\x49\x6e\x64\x65\x78','\x74\x79\x70\x65':'\x75\x69\x6e\x74\x38'},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x236),'\x74\x79\x70\x65':a0_0x33f8ae(0x230)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1c4),'\x74\x79\x70\x65':a0_0x33f8ae(0x273)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1b6),'\x74\x79\x70\x65':a0_0x33f8ae(0x1da)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1fb),'\x74\x79\x70\x65':a0_0x33f8ae(0x1e9)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1c0),'\x74\x79\x70\x65':a0_0x33f8ae(0x229)}]}],'\x73\x74\x61\x74\x65\x4d\x75\x74\x61\x62\x69\x6c\x69\x74\x79':a0_0x33f8ae(0x218)},{'\x74\x79\x70\x65':a0_0x33f8ae(0x1f3),'\x6e\x61\x6d\x65':'\x4a\x6f\x62\x53\x75\x62\x6d\x69\x74\x74\x65\x64','\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1a4),'\x74\x79\x70\x65':'\x75\x69\x6e\x74\x36\x34','\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x225),'\x74\x79\x70\x65':a0_0x33f8ae(0x273),'\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1a8),'\x74\x79\x70\x65':'\x75\x69\x6e\x74\x38','\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x236),'\x74\x79\x70\x65':'\x61\x64\x64\x72\x65\x73\x73','\x69\x6e\x64\x65\x78\x65\x64':![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x25d),'\x74\x79\x70\x65':a0_0x33f8ae(0x1e6),'\x69\x6e\x64\x65\x78\x65\x64':![]}]},{'\x74\x79\x70\x65':a0_0x33f8ae(0x1f3),'\x6e\x61\x6d\x65':a0_0x33f8ae(0x277),'\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1a4),'\x74\x79\x70\x65':a0_0x33f8ae(0x273),'\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':'\x63\x61\x6c\x6c\x49\x64','\x74\x79\x70\x65':'\x75\x69\x6e\x74\x36\x34','\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x228),'\x74\x79\x70\x65':a0_0x33f8ae(0x230),'\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':'\x72\x65\x73\x75\x6c\x74','\x74\x79\x70\x65':a0_0x33f8ae(0x1e6),'\x69\x6e\x64\x65\x78\x65\x64':![]}]}],SandboxCreateParamTypes=[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1ea),'\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)},{'\x6e\x61\x6d\x65':'\x69\x6d\x61\x67\x65','\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)},{'\x6e\x61\x6d\x65':'\x73\x74\x61\x63\x6b','\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)},{'\x6e\x61\x6d\x65':'\x61\x67\x65\x6e\x74\x5f\x69\x64\x65\x6e\x74\x69\x66\x69\x65\x72','\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)},{'\x6e\x61\x6d\x65':'\x65\x6e\x76\x5f\x6a\x73\x6f\x6e','\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)},{'\x6e\x61\x6d\x65':'\x6d\x65\x74\x61\x64\x61\x74\x61\x5f\x6a\x73\x6f\x6e','\x74\x79\x70\x65':'\x73\x74\x72\x69\x6e\x67'},{'\x6e\x61\x6d\x65':'\x73\x73\x68\x5f\x65\x6e\x61\x62\x6c\x65\x64','\x74\x79\x70\x65':a0_0x33f8ae(0x229)},{'\x6e\x61\x6d\x65':'\x73\x73\x68\x5f\x70\x75\x62\x6c\x69\x63\x5f\x6b\x65\x79\x73','\x74\x79\x70\x65':a0_0x33f8ae(0x221)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x257),'\x74\x79\x70\x65':'\x62\x6f\x6f\x6c'},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1f7),'\x74\x79\x70\x65':a0_0x33f8ae(0x273)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x203),'\x74\x79\x70\x65':a0_0x33f8ae(0x273)},{'\x6e\x61\x6d\x65':'\x63\x70\x75\x5f\x63\x6f\x72\x65\x73','\x74\x79\x70\x65':a0_0x33f8ae(0x273)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x252),'\x74\x79\x70\x65':a0_0x33f8ae(0x273)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x24c),'\x74\x79\x70\x65':a0_0x33f8ae(0x273)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x279),'\x74\x79\x70\x65':'\x62\x6f\x6f\x6c'},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1c9),'\x74\x79\x70\x65':a0_0x33f8ae(0x1d0)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x234),'\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)}],SandboxIdParamTypes=[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1eb),'\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)}],SandboxCreateResponseParamTypes=[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1be),'\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x238),'\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)}],JsonResponseParamTypes=[{'\x6e\x61\x6d\x65':'\x6a\x73\x6f\x6e','\x74\x79\x70\x65':a0_0x33f8ae(0x1ec)}],AgentSandboxBlueprintAbi=[{'\x74\x79\x70\x65':a0_0x33f8ae(0x26c),'\x6e\x61\x6d\x65':a0_0x33f8ae(0x201),'\x69\x6e\x70\x75\x74\x73':[],'\x6f\x75\x74\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x263),'\x74\x79\x70\x65':a0_0x33f8ae(0x1da)}],'\x73\x74\x61\x74\x65\x4d\x75\x74\x61\x62\x69\x6c\x69\x74\x79':a0_0x33f8ae(0x218)},{'\x74\x79\x70\x65':a0_0x33f8ae(0x26c),'\x6e\x61\x6d\x65':a0_0x33f8ae(0x232),'\x69\x6e\x70\x75\x74\x73':[],'\x6f\x75\x74\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1e3),'\x74\x79\x70\x65':a0_0x33f8ae(0x1da)},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1d5),'\x74\x79\x70\x65':a0_0x33f8ae(0x1da)}],'\x73\x74\x61\x74\x65\x4d\x75\x74\x61\x62\x69\x6c\x69\x74\x79':a0_0x33f8ae(0x218)},{'\x74\x79\x70\x65':a0_0x33f8ae(0x26c),'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1e0),'\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':'\x6f\x70\x65\x72\x61\x74\x6f\x72','\x74\x79\x70\x65':a0_0x33f8ae(0x230)}],'\x6f\x75\x74\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1f0),'\x74\x79\x70\x65':a0_0x33f8ae(0x1da)},{'\x6e\x61\x6d\x65':'\x6d\x61\x78','\x74\x79\x70\x65':a0_0x33f8ae(0x1da)}],'\x73\x74\x61\x74\x65\x4d\x75\x74\x61\x62\x69\x6c\x69\x74\x79':a0_0x33f8ae(0x218)},{'\x74\x79\x70\x65':a0_0x33f8ae(0x26c),'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1e8),'\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1be),'\x74\x79\x70\x65':'\x73\x74\x72\x69\x6e\x67'}],'\x6f\x75\x74\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':'','\x74\x79\x70\x65':a0_0x33f8ae(0x230)}],'\x73\x74\x61\x74\x65\x4d\x75\x74\x61\x62\x69\x6c\x69\x74\x79':a0_0x33f8ae(0x218)},{'\x74\x79\x70\x65':'\x66\x75\x6e\x63\x74\x69\x6f\x6e','\x6e\x61\x6d\x65':a0_0x33f8ae(0x24b),'\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1be),'\x74\x79\x70\x65':'\x73\x74\x72\x69\x6e\x67'}],'\x6f\x75\x74\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':'','\x74\x79\x70\x65':'\x62\x6f\x6f\x6c'}],'\x73\x74\x61\x74\x65\x4d\x75\x74\x61\x62\x69\x6c\x69\x74\x79':a0_0x33f8ae(0x218)},{'\x74\x79\x70\x65':'\x65\x76\x65\x6e\x74','\x6e\x61\x6d\x65':'\x4f\x70\x65\x72\x61\x74\x6f\x72\x41\x73\x73\x69\x67\x6e\x65\x64','\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1a4),'\x74\x79\x70\x65':a0_0x33f8ae(0x273),'\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x225),'\x74\x79\x70\x65':'\x75\x69\x6e\x74\x36\x34','\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x228),'\x74\x79\x70\x65':a0_0x33f8ae(0x230),'\x69\x6e\x64\x65\x78\x65\x64':!![]}]},{'\x74\x79\x70\x65':a0_0x33f8ae(0x1f3),'\x6e\x61\x6d\x65':'\x4f\x70\x65\x72\x61\x74\x6f\x72\x52\x6f\x75\x74\x65\x64','\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x1a4),'\x74\x79\x70\x65':'\x75\x69\x6e\x74\x36\x34','\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x225),'\x74\x79\x70\x65':a0_0x33f8ae(0x273),'\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x228),'\x74\x79\x70\x65':a0_0x33f8ae(0x230),'\x69\x6e\x64\x65\x78\x65\x64':!![]}]},{'\x74\x79\x70\x65':'\x65\x76\x65\x6e\x74','\x6e\x61\x6d\x65':a0_0x33f8ae(0x23e),'\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x235),'\x74\x79\x70\x65':a0_0x33f8ae(0x231),'\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x228),'\x74\x79\x70\x65':a0_0x33f8ae(0x230),'\x69\x6e\x64\x65\x78\x65\x64':!![]}]},{'\x74\x79\x70\x65':a0_0x33f8ae(0x1f3),'\x6e\x61\x6d\x65':a0_0x33f8ae(0x25a),'\x69\x6e\x70\x75\x74\x73':[{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x235),'\x74\x79\x70\x65':a0_0x33f8ae(0x231),'\x69\x6e\x64\x65\x78\x65\x64':!![]},{'\x6e\x61\x6d\x65':a0_0x33f8ae(0x228),'\x74\x79\x70\x65':a0_0x33f8ae(0x230),'\x69\x6e\x64\x65\x78\x65\x64':!![]}]}],TANGLE_CHAIN_ID=0x16d5,TANGLE_MAINNET_RPC=a0_0x33f8ae(0x27d),TANGLE_JOBS_CONTRACT=a0_0x33f8ae(0x226),JOB_SANDBOX_CREATE=0x0,JOB_SANDBOX_DELETE=0x1;function confidentialFromOptions(_0x101705){const _0x536139=a0_0x33f8ae,_0x20bf43={'\x6c\x54\x66\x56\x70':function(_0x191864,_0x1e1840){return _0x191864===_0x1e1840;},'\x4b\x54\x68\x75\x65':'\x6f\x62\x6a\x65\x63\x74'};if(_0x101705[_0x536139(0x237)])return _0x101705['\x63\x6f\x6e\x66\x69\x64\x65\x6e\x74\x69\x61\x6c'];const _0x486795=_0x101705[_0x536139(0x1d2)]?.[_0x536139(0x223)];if(_0x20bf43[_0x536139(0x204)](typeof _0x486795,_0x20bf43['\x4b\x54\x68\x75\x65'])&&_0x486795?.[_0x536139(0x237)])return _0x486795['\x63\x6f\x6e\x66\x69\x64\x65\x6e\x74\x69\x61\x6c'];}function teeTypeId(_0xe34c52){const _0x557029=a0_0x33f8ae,_0x2a1189={'\x58\x73\x43\x4a\x71':_0x557029(0x1c2),'\x6c\x68\x54\x6e\x69':_0x557029(0x1b2),'\x41\x50\x6f\x6b\x79':_0x557029(0x1ba)};switch(_0xe34c52){case _0x557029(0x275):case _0x2a1189['\x58\x73\x43\x4a\x71']:return 0x1;case _0x557029(0x1a1):return 0x2;case _0x2a1189['\x6c\x68\x54\x6e\x69']:return 0x3;case _0x2a1189[_0x557029(0x1d3)]:case void 0x0:return 0x0;default:throw new Error(_0x557029(0x1fe)+_0xe34c52);}}function teeCreateValues(_0x477e9f){const _0x37a3d1=a0_0x33f8ae,_0x4a8f67={'\x64\x53\x65\x53\x46':function(_0x204080,_0x2a6569){return _0x204080(_0x2a6569);},'\x49\x58\x48\x43\x45':function(_0x5dca98,_0x180a40){return _0x5dca98(_0x180a40);}},_0x447179=_0x4a8f67[_0x37a3d1(0x244)](confidentialFromOptions,_0x477e9f),_0x5944a1=Boolean(_0x447179?.['\x74\x65\x65']);return[_0x5944a1,_0x5944a1?_0x4a8f67[_0x37a3d1(0x26d)](teeTypeId,_0x447179?.[_0x37a3d1(0x240)]):0x0,_0x447179?.[_0x37a3d1(0x1c6)]??''];}var TangleChainClient=class{[a0_0x33f8ae(0x211)];[a0_0x33f8ae(0x1df)]=null;[a0_0x33f8ae(0x1af)]=null;[a0_0x33f8ae(0x1ad)]=null;constructor(_0x4f5b35){const _0x422e26=a0_0x33f8ae;this[_0x422e26(0x211)]=_0x4f5b35;}async[a0_0x33f8ae(0x24f)](){const _0x45b8e1=a0_0x33f8ae,_0x2c3ebc={'\x4f\x41\x4b\x54\x56':_0x45b8e1(0x270),'\x65\x70\x72\x78\x6e':_0x45b8e1(0x24d),'\x43\x44\x6f\x5a\x45':_0x45b8e1(0x1cd)};if(this[_0x45b8e1(0x1df)]&&this['\x77\x61\x6c\x6c\x65\x74\x43\x6c\x69\x65\x6e\x74'])return{'\x70\x75\x62\x6c\x69\x63\x43\x6c\x69\x65\x6e\x74':this['\x70\x75\x62\x6c\x69\x63\x43\x6c\x69\x65\x6e\x74'],'\x77\x61\x6c\x6c\x65\x74\x43\x6c\x69\x65\x6e\x74':this[_0x45b8e1(0x1af)]};let _0x3dd3b8;try{_0x3dd3b8=await import(_0x45b8e1(0x21e));}catch{throw new Error(_0x2c3ebc['\x4f\x41\x4b\x54\x56']);}const _0x52e902=this[_0x45b8e1(0x211)][_0x45b8e1(0x1d7)]??_0x45b8e1(0x27d),_0x4b07b1={'\x69\x64':TANGLE_CHAIN_ID,'\x6e\x61\x6d\x65':_0x45b8e1(0x1ca),'\x6e\x61\x74\x69\x76\x65\x43\x75\x72\x72\x65\x6e\x63\x79':{'\x6e\x61\x6d\x65':_0x2c3ebc[_0x45b8e1(0x1a5)],'\x73\x79\x6d\x62\x6f\x6c':_0x45b8e1(0x24d),'\x64\x65\x63\x69\x6d\x61\x6c\x73':0x12},'\x72\x70\x63\x55\x72\x6c\x73':{'\x64\x65\x66\x61\x75\x6c\x74':{'\x68\x74\x74\x70':[_0x52e902]}}},_0x12d33b=_0x3dd3b8[_0x45b8e1(0x1bd)](_0x52e902);this['\x70\x75\x62\x6c\x69\x63\x43\x6c\x69\x65\x6e\x74']=_0x3dd3b8[_0x45b8e1(0x260)]({'\x63\x68\x61\x69\x6e':_0x4b07b1,'\x74\x72\x61\x6e\x73\x70\x6f\x72\x74':_0x12d33b});if(this['\x63\x6f\x6e\x66\x69\x67'][_0x45b8e1(0x280)]){const {privateKeyToAccount:_0x1e521c}=await import(_0x2c3ebc[_0x45b8e1(0x23c)]);this[_0x45b8e1(0x1ad)]=_0x1e521c(this['\x63\x6f\x6e\x66\x69\x67']['\x70\x72\x69\x76\x61\x74\x65\x4b\x65\x79']),this[_0x45b8e1(0x1af)]=_0x3dd3b8[_0x45b8e1(0x25b)]({'\x61\x63\x63\x6f\x75\x6e\x74':this[_0x45b8e1(0x1ad)],'\x63\x68\x61\x69\x6e':_0x4b07b1,'\x74\x72\x61\x6e\x73\x70\x6f\x72\x74':_0x12d33b});}else{if(this[_0x45b8e1(0x211)][_0x45b8e1(0x20a)]){const _0x487306=this[_0x45b8e1(0x211)][_0x45b8e1(0x20a)];this['\x77\x61\x6c\x6c\x65\x74\x43\x6c\x69\x65\x6e\x74']=_0x487306,this[_0x45b8e1(0x1ad)]=_0x487306[_0x45b8e1(0x1ad)]??null;}else throw new Error(_0x45b8e1(0x255));}return{'\x70\x75\x62\x6c\x69\x63\x43\x6c\x69\x65\x6e\x74':this['\x70\x75\x62\x6c\x69\x63\x43\x6c\x69\x65\x6e\x74'],'\x77\x61\x6c\x6c\x65\x74\x43\x6c\x69\x65\x6e\x74':this[_0x45b8e1(0x1af)]};}[a0_0x33f8ae(0x1bc)](_0x1c7d21){const _0x16cb86=a0_0x33f8ae,_0x30d68f={'\x4b\x50\x4f\x4c\x46':function(_0x47fbb4,_0x4b8868){return _0x47fbb4(_0x4b8868);}};return{'\x74\x79\x70\x65\x73':SandboxCreateParamTypes,'\x76\x61\x6c\x75\x65\x73':[_0x1c7d21[_0x16cb86(0x1ea)]??'',_0x1c7d21[_0x16cb86(0x1bb)]??'','','',_0x1c7d21['\x65\x6e\x76']?JSON[_0x16cb86(0x259)](_0x1c7d21['\x65\x6e\x76']):'',_0x1c7d21[_0x16cb86(0x21f)]?JSON[_0x16cb86(0x259)](_0x1c7d21[_0x16cb86(0x21f)]):'',_0x1c7d21['\x73\x73\x68\x45\x6e\x61\x62\x6c\x65\x64']??![],_0x1c7d21[_0x16cb86(0x1f1)]??(_0x1c7d21[_0x16cb86(0x1fa)]?[_0x1c7d21['\x73\x73\x68\x50\x75\x62\x6c\x69\x63\x4b\x65\x79']]:[]),_0x1c7d21[_0x16cb86(0x1dd)]??![],_0x30d68f[_0x16cb86(0x1f4)](BigInt,_0x1c7d21[_0x16cb86(0x1fd)]??0x0),BigInt(_0x1c7d21[_0x16cb86(0x1d6)]??0x0),_0x30d68f[_0x16cb86(0x1f4)](BigInt,_0x1c7d21[_0x16cb86(0x1e7)]?.['\x63\x70\x75\x43\x6f\x72\x65\x73']??0x0),_0x30d68f['\x4b\x50\x4f\x4c\x46'](BigInt,_0x1c7d21[_0x16cb86(0x1e7)]?.['\x6d\x65\x6d\x6f\x72\x79\x4d\x42']??0x0),BigInt(_0x1c7d21[_0x16cb86(0x1e7)]?.[_0x16cb86(0x1b1)]??0x0),...teeCreateValues(_0x1c7d21)]};}[a0_0x33f8ae(0x205)](_0x48c66b){return{'\x74\x79\x70\x65\x73':SandboxIdParamTypes,'\x76\x61\x6c\x75\x65\x73':[_0x48c66b]};}async['\x73\x75\x62\x6d\x69\x74\x4a\x6f\x62\x41\x6e\x64\x57\x61\x69\x74'](_0x49f020,_0x13cb1c){const _0x4a92a4=a0_0x33f8ae,_0x58c69f={'\x48\x49\x57\x53\x63':_0x4a92a4(0x21e),'\x47\x56\x4b\x64\x49':_0x4a92a4(0x1b3),'\x51\x48\x43\x55\x52':function(_0x398f74,_0x8cc101){return _0x398f74<_0x8cc101;}},{publicClient:_0x1a414b,walletClient:_0x29a63e}=await this[_0x4a92a4(0x24f)](),_0x14ac80=await import(_0x58c69f[_0x4a92a4(0x1ff)]),_0x10d759=this[_0x4a92a4(0x211)][_0x4a92a4(0x202)]??_0x4a92a4(0x226),_0x5697be=this[_0x4a92a4(0x211)][_0x4a92a4(0x1a4)],_0x1e573e=_0x14ac80['\x65\x6e\x63\x6f\x64\x65\x41\x62\x69\x50\x61\x72\x61\x6d\x65\x74\x65\x72\x73'](_0x13cb1c[_0x4a92a4(0x246)],_0x13cb1c[_0x4a92a4(0x1dc)]),_0x539c6f=await _0x29a63e['\x77\x72\x69\x74\x65\x43\x6f\x6e\x74\x72\x61\x63\x74']({'\x61\x64\x64\x72\x65\x73\x73':_0x10d759,'\x61\x62\x69':ITangleJobsAbi,'\x66\x75\x6e\x63\x74\x69\x6f\x6e\x4e\x61\x6d\x65':_0x4a92a4(0x27a),'\x61\x72\x67\x73':[_0x5697be,_0x49f020,_0x1e573e]}),_0x5769da=await _0x1a414b[_0x4a92a4(0x25e)]({'\x68\x61\x73\x68':_0x539c6f}),_0x49dd33=_0x5769da['\x6c\x6f\x67\x73'][_0x4a92a4(0x242)](_0x43e0d3=>{const _0x1cb63c=_0x4a92a4;try{return _0x14ac80[_0x1cb63c(0x1b9)]({'\x61\x62\x69':ITangleJobsAbi,'\x64\x61\x74\x61':_0x43e0d3[_0x1cb63c(0x1f8)],'\x74\x6f\x70\x69\x63\x73':_0x43e0d3[_0x1cb63c(0x22e)]})[_0x1cb63c(0x22c)]===_0x1cb63c(0x20e);}catch{return![];}});if(!_0x49dd33)throw new Error(_0x58c69f[_0x4a92a4(0x249)]);const _0x2e5a10=_0x14ac80[_0x4a92a4(0x1b9)]({'\x61\x62\x69':ITangleJobsAbi,'\x64\x61\x74\x61':_0x49dd33['\x64\x61\x74\x61'],'\x74\x6f\x70\x69\x63\x73':_0x49dd33[_0x4a92a4(0x22e)]})['\x61\x72\x67\x73'][_0x4a92a4(0x225)],_0x187f58=this[_0x4a92a4(0x211)][_0x4a92a4(0x1a3)]??0xdbba00,_0x4871ed=this[_0x4a92a4(0x211)]['\x70\x6f\x6c\x6c\x49\x6e\x74\x65\x72\x76\x61\x6c\x4d\x73']??0x1388,_0x1ea87f=Date[_0x4a92a4(0x271)]()+_0x187f58;while(_0x58c69f[_0x4a92a4(0x1aa)](Date[_0x4a92a4(0x271)](),_0x1ea87f)){await new Promise(_0x4bdc86=>setTimeout(_0x4bdc86,_0x4871ed));const _0x17b5d1=await _0x1a414b[_0x4a92a4(0x25c)]({'\x61\x64\x64\x72\x65\x73\x73':_0x10d759,'\x61\x62\x69':ITangleJobsAbi,'\x66\x75\x6e\x63\x74\x69\x6f\x6e\x4e\x61\x6d\x65':_0x4a92a4(0x23b),'\x61\x72\x67\x73':[_0x5697be,_0x2e5a10]});if(_0x17b5d1['\x63\x6f\x6d\x70\x6c\x65\x74\x65\x64'])return{'\x72\x65\x73\x75\x6c\x74':_0x17b5d1,'\x63\x61\x6c\x6c\x49\x64':_0x2e5a10,'\x62\x6c\x6f\x63\x6b\x4e\x75\x6d\x62\x65\x72':_0x5769da[_0x4a92a4(0x1c3)]};}throw new Error('\x4a\x6f\x62\x20'+_0x49f020+_0x4a92a4(0x1cf)+_0x2e5a10+_0x4a92a4(0x25f)+_0x187f58+'\x6d\x73');}async[a0_0x33f8ae(0x1bf)](_0x228c22,_0x2584e8){const _0x54276b=a0_0x33f8ae,_0x2913ac={'\x4c\x51\x72\x56\x76':'\x30\x78\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x38\x30\x38','\x4d\x6c\x61\x57\x44':function(_0x194020,_0x14cf39){return _0x194020??_0x14cf39;}},{publicClient:_0x4f03bb}=await this[_0x54276b(0x24f)](),_0x2b0b87=await import(_0x54276b(0x21e)),_0x5190d0=this[_0x54276b(0x211)][_0x54276b(0x202)]??_0x2913ac[_0x54276b(0x247)],_0x3b1b1a=await _0x4f03bb[_0x54276b(0x233)]({'\x61\x64\x64\x72\x65\x73\x73':_0x5190d0,'\x65\x76\x65\x6e\x74':_0x2b0b87[_0x54276b(0x250)]('\x65\x76\x65\x6e\x74\x20\x4a\x6f\x62\x52\x65\x73\x75\x6c\x74\x53\x75\x62\x6d\x69\x74\x74\x65\x64\x28\x75\x69\x6e\x74\x36\x34\x20\x69\x6e\x64\x65\x78\x65\x64\x20\x73\x65\x72\x76\x69\x63\x65\x49\x64\x2c\x20\x75\x69\x6e\x74\x36\x34\x20\x69\x6e\x64\x65\x78\x65\x64\x20\x63\x61\x6c\x6c\x49\x64\x2c\x20\x61\x64\x64\x72\x65\x73\x73\x20\x69\x6e\x64\x65\x78\x65\x64\x20\x6f\x70\x65\x72\x61\x74\x6f\x72\x2c\x20\x62\x79\x74\x65\x73\x20\x72\x65\x73\x75\x6c\x74\x29'),'\x61\x72\x67\x73':{'\x73\x65\x72\x76\x69\x63\x65\x49\x64':this['\x63\x6f\x6e\x66\x69\x67'][_0x54276b(0x1a4)],'\x63\x61\x6c\x6c\x49\x64':_0x228c22},'\x66\x72\x6f\x6d\x42\x6c\x6f\x63\x6b':_0x2913ac[_0x54276b(0x222)](_0x2584e8,_0x54276b(0x26f))});if(_0x3b1b1a[_0x54276b(0x1d8)]===0x0)return null;return _0x3b1b1a[0x0]?.[_0x54276b(0x254)]['\x72\x65\x73\x75\x6c\x74']??null;}async[a0_0x33f8ae(0x201)](){const _0x3568e9=a0_0x33f8ae,_0x9fa579={'\x72\x74\x55\x6a\x4c':'\x62\x6c\x75\x65\x70\x72\x69\x6e\x74\x43\x6f\x6e\x74\x72\x61\x63\x74\x41\x64\x64\x72\x65\x73\x73\x20\x69\x73\x20\x72\x65\x71\x75\x69\x72\x65\x64\x20\x66\x6f\x72\x20\x67\x65\x74\x41\x76\x61\x69\x6c\x61\x62\x6c\x65\x43\x61\x70\x61\x63\x69\x74\x79'},{publicClient:_0x2b76a8}=await this[_0x3568e9(0x24f)]();if(!this[_0x3568e9(0x211)][_0x3568e9(0x239)])throw new Error(_0x9fa579[_0x3568e9(0x243)]);const _0x3490ec=await _0x2b76a8[_0x3568e9(0x25c)]({'\x61\x64\x64\x72\x65\x73\x73':this[_0x3568e9(0x211)][_0x3568e9(0x239)],'\x61\x62\x69':AgentSandboxBlueprintAbi,'\x66\x75\x6e\x63\x74\x69\x6f\x6e\x4e\x61\x6d\x65':_0x3568e9(0x201)});return Number(_0x3490ec);}async[a0_0x33f8ae(0x232)](){const _0x44048c=a0_0x33f8ae,_0x47926e={'\x46\x73\x55\x4c\x41':_0x44048c(0x232)},{publicClient:_0x37b6a4}=await this[_0x44048c(0x24f)]();if(!this[_0x44048c(0x211)][_0x44048c(0x239)])throw new Error(_0x44048c(0x1c5));const [_0x7a2e0e,_0x2da481]=await _0x37b6a4[_0x44048c(0x25c)]({'\x61\x64\x64\x72\x65\x73\x73':this['\x63\x6f\x6e\x66\x69\x67'][_0x44048c(0x239)],'\x61\x62\x69':AgentSandboxBlueprintAbi,'\x66\x75\x6e\x63\x74\x69\x6f\x6e\x4e\x61\x6d\x65':_0x47926e[_0x44048c(0x258)]});return{'\x74\x6f\x74\x61\x6c\x53\x61\x6e\x64\x62\x6f\x78\x65\x73':Number(_0x7a2e0e),'\x74\x6f\x74\x61\x6c\x43\x61\x70\x61\x63\x69\x74\x79':Number(_0x2da481)};}[a0_0x33f8ae(0x264)](_0x379169){if(_0x379169===0x0)return SandboxCreateResponseParamTypes;return JsonResponseParamTypes;}};function randomHexToken(_0x4b5e6f){const _0x5b91c0=a0_0x33f8ae,_0x172d90={'\x63\x4e\x43\x6c\x76':function(_0x1ce62e,_0x126bc8){return _0x1ce62e===_0x126bc8;}};if(_0x172d90[_0x5b91c0(0x1f6)](typeof globalThis[_0x5b91c0(0x1b5)],_0x5b91c0(0x20d))||typeof globalThis[_0x5b91c0(0x1b5)][_0x5b91c0(0x265)]!==_0x5b91c0(0x26c))throw new Error(_0x5b91c0(0x21b));const _0xb9b27=new Uint8Array(_0x4b5e6f);return globalThis[_0x5b91c0(0x1b5)][_0x5b91c0(0x265)](_0xb9b27),Array['\x66\x72\x6f\x6d'](_0xb9b27)[_0x5b91c0(0x213)](_0x3fbed9=>_0x3fbed9['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x10)['\x70\x61\x64\x53\x74\x61\x72\x74'](0x2,'\x30'))['\x6a\x6f\x69\x6e']('');}function attestationNonceFromOptions(_0xd27585){const _0x3b8add=a0_0x33f8ae,_0x34cc7f={'\x4a\x4b\x61\x49\x67':function(_0x57bd1f,_0xda0af0){return _0x57bd1f===_0xda0af0;}},_0x14be29=_0xd27585[_0x3b8add(0x237)]?.[_0x3b8add(0x1c6)];if(_0x14be29)return _0x14be29;const _0xf5b357=_0xd27585[_0x3b8add(0x1d2)]?.['\x70\x72\x6f\x66\x69\x6c\x65'];if(_0x34cc7f[_0x3b8add(0x1e5)](typeof _0xf5b357,_0x3b8add(0x261)))return _0xf5b357[_0x3b8add(0x237)]?.['\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4e\x6f\x6e\x63\x65'];}function withAttestationNonce(_0x1297c0){const _0x4ed3a3=a0_0x33f8ae,_0x314708={'\x55\x42\x59\x70\x6e':_0x4ed3a3(0x261)};if(_0x1297c0[_0x4ed3a3(0x237)]?.['\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x52\x65\x66\x72\x65\x73\x68']&&!_0x1297c0[_0x4ed3a3(0x237)][_0x4ed3a3(0x1c6)])return{..._0x1297c0,'\x63\x6f\x6e\x66\x69\x64\x65\x6e\x74\x69\x61\x6c':{..._0x1297c0[_0x4ed3a3(0x237)],'\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4e\x6f\x6e\x63\x65':randomHexToken(0x20)}};const _0x5735a8=_0x1297c0[_0x4ed3a3(0x1d2)]?.['\x70\x72\x6f\x66\x69\x6c\x65'];if(_0x1297c0[_0x4ed3a3(0x1d2)]&&typeof _0x5735a8===_0x314708['\x55\x42\x59\x70\x6e']&&_0x5735a8[_0x4ed3a3(0x237)]?.[_0x4ed3a3(0x1e4)]&&!_0x5735a8[_0x4ed3a3(0x237)][_0x4ed3a3(0x1c6)])return{..._0x1297c0,'\x62\x61\x63\x6b\x65\x6e\x64':{..._0x1297c0[_0x4ed3a3(0x1d2)],'\x70\x72\x6f\x66\x69\x6c\x65':{..._0x5735a8,'\x63\x6f\x6e\x66\x69\x64\x65\x6e\x74\x69\x61\x6c':{..._0x5735a8[_0x4ed3a3(0x237)],'\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4e\x6f\x6e\x63\x65':randomHexToken(0x20)}}}};return _0x1297c0;}function requirePathGroup(_0xa2b14b,_0x2d5f98){const _0x23761c=a0_0x33f8ae,_0x281e30=_0xa2b14b[_0x2d5f98];if(_0x281e30===void 0x0)throw new Error(_0x23761c(0x21c)+_0x2d5f98);return _0x281e30;}var TangleSandboxClient=class{[a0_0x33f8ae(0x214)];['\x73\x61\x6e\x64\x62\x6f\x78\x65\x73']=new Map();['\x6f\x70\x65\x72\x61\x74\x6f\x72\x41\x70\x69\x55\x72\x6c'];[a0_0x33f8ae(0x272)];constructor(_0x4fea98){const _0x553e4e=a0_0x33f8ae;if(!_0x4fea98[_0x553e4e(0x280)]&&!_0x4fea98['\x77\x61\x6c\x6c\x65\x74'])throw new Error(_0x553e4e(0x255));this['\x63\x68\x61\x69\x6e']=new TangleChainClient(_0x4fea98),this[_0x553e4e(0x1a9)]=_0x4fea98[_0x553e4e(0x1a9)]?.[_0x553e4e(0x1ee)](/\/+$/,''),this['\x6f\x70\x65\x72\x61\x74\x6f\x72\x41\x70\x69\x54\x6f\x6b\x65\x6e']=_0x4fea98['\x6f\x70\x65\x72\x61\x74\x6f\x72\x41\x70\x69\x54\x6f\x6b\x65\x6e'];}async[a0_0x33f8ae(0x1ae)](_0x1c1435){const _0x19ffe2=a0_0x33f8ae,_0x50f5f7={'\x52\x72\x52\x58\x46':function(_0x1ba427,_0x102b86){return _0x1ba427??_0x102b86;},'\x55\x56\x7a\x78\x41':'\x76\x69\x65\x6d','\x70\x41\x6b\x72\x5a':_0x19ffe2(0x1de),'\x45\x6e\x66\x57\x43':'\x43\x72\x65\x61\x74\x65\x20\x6a\x6f\x62\x20\x72\x65\x74\x75\x72\x6e\x65\x64\x20\x61\x20\x72\x75\x6e\x74\x69\x6d\x65\x20\x55\x52\x4c\x20\x77\x69\x74\x68\x6f\x75\x74\x20\x61\x6e\x20\x61\x75\x74\x68\x20\x74\x6f\x6b\x65\x6e'},_0x25e0f9=withAttestationNonce(_0x50f5f7[_0x19ffe2(0x20c)](_0x1c1435,{})),_0x172082=this['\x63\x68\x61\x69\x6e']['\x65\x6e\x63\x6f\x64\x65\x53\x61\x6e\x64\x62\x6f\x78\x43\x72\x65\x61\x74\x65\x49\x6e\x70\x75\x74\x73'](_0x25e0f9),{result:_0x2a4a0d,callId:_0x53cc13,blockNumber:_0x55bdef}=await this[_0x19ffe2(0x214)][_0x19ffe2(0x21a)](0x0,_0x172082),_0x407183=await this[_0x19ffe2(0x214)]['\x67\x65\x74\x4a\x6f\x62\x52\x65\x73\x75\x6c\x74'](_0x53cc13,_0x55bdef);let _0x3b6337,_0x204001={};if(_0x407183)try{const _0x395027=(await import(_0x50f5f7['\x55\x56\x7a\x78\x41']))[_0x19ffe2(0x1fc)](this[_0x19ffe2(0x214)][_0x19ffe2(0x264)](0x0),_0x407183);_0x3b6337=_0x395027[0x0];try{_0x204001=JSON[_0x19ffe2(0x1a7)](_0x395027[0x1]);}catch{}}catch{throw new Error(_0x50f5f7[_0x19ffe2(0x1a6)]);}else throw new Error(_0x19ffe2(0x268));const _0x55ce3e=_0x204001[_0x19ffe2(0x1ab)]??_0x204001[_0x19ffe2(0x1ac)]??_0x204001[_0x19ffe2(0x1a2)]??'',_0x2bdd8f=_0x204001[_0x19ffe2(0x217)]??_0x204001[_0x19ffe2(0x224)]??_0x204001[_0x19ffe2(0x1f2)]??'';if(_0x55ce3e&&!_0x2bdd8f)throw new Error(_0x50f5f7[_0x19ffe2(0x23a)]);const _0x4b5ff9={'\x69\x64':_0x3b6337,'\x72\x75\x6e\x74\x69\x6d\x65\x55\x72\x6c':_0x55ce3e,'\x72\x75\x6e\x74\x69\x6d\x65\x54\x6f\x6b\x65\x6e':_0x2bdd8f,'\x73\x74\x61\x74\x75\x73':_0x19ffe2(0x208),'\x63\x72\x65\x61\x74\x65\x64\x41\x74':new Date(),'\x74\x65\x65\x41\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4a\x73\x6f\x6e':_0x204001['\x74\x65\x65\x41\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4a\x73\x6f\x6e'],'\x74\x65\x65\x50\x75\x62\x6c\x69\x63\x4b\x65\x79\x4a\x73\x6f\x6e':_0x204001[_0x19ffe2(0x20b)],'\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4e\x6f\x6e\x63\x65':attestationNonceFromOptions(_0x25e0f9)};this[_0x19ffe2(0x241)][_0x19ffe2(0x24a)](_0x3b6337,_0x4b5ff9);const _0x3f3e54={'\x69\x64':_0x3b6337,'\x6e\x61\x6d\x65':_0x1c1435?.[_0x19ffe2(0x1ea)],'\x73\x74\x61\x74\x75\x73':_0x19ffe2(0x208),'\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e':_0x55ce3e?{'\x72\x75\x6e\x74\x69\x6d\x65\x55\x72\x6c':_0x55ce3e,'\x61\x75\x74\x68\x54\x6f\x6b\x65\x6e':_0x2bdd8f}:void 0x0,'\x6d\x65\x74\x61\x64\x61\x74\x61':{..._0x25e0f9[_0x19ffe2(0x21f)]??{},..._0x4b5ff9[_0x19ffe2(0x26e)]?{'\x74\x65\x65\x41\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4a\x73\x6f\x6e':_0x4b5ff9[_0x19ffe2(0x26e)]}:{},..._0x4b5ff9[_0x19ffe2(0x20b)]?{'\x74\x65\x65\x50\x75\x62\x6c\x69\x63\x4b\x65\x79\x4a\x73\x6f\x6e':_0x4b5ff9[_0x19ffe2(0x20b)]}:{},..._0x4b5ff9[_0x19ffe2(0x1c6)]?{'\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4e\x6f\x6e\x63\x65':_0x4b5ff9['\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4e\x6f\x6e\x63\x65']}:{}},'\x63\x72\x65\x61\x74\x65\x64\x41\x74':_0x4b5ff9[_0x19ffe2(0x1c4)]};return new a0_0x80cb86(this,_0x3f3e54);}async[a0_0x33f8ae(0x26a)](_0x39c394,_0x349a4a){const _0x49ad89=a0_0x33f8ae,_0x3f4d49={'\x62\x62\x42\x57\x49':_0x49ad89(0x22b),'\x69\x4d\x4e\x4b\x75':function(_0x5c5b19,_0x595464,_0x27f167){return _0x5c5b19(_0x595464,_0x27f167);},'\x4e\x68\x4f\x74\x65':function(_0x2f49a5,_0x465995){return _0x2f49a5===_0x465995;},'\x6c\x75\x7a\x66\x78':'\x4e\x6f\x74\x20\x66\x6f\x75\x6e\x64','\x79\x62\x49\x79\x4c':_0x49ad89(0x1cc),'\x4d\x4a\x6c\x50\x6c':function(_0x2c8eb0,_0x2dcbea){return _0x2c8eb0(_0x2dcbea);},'\x48\x4d\x63\x79\x7a':function(_0x5add7e,_0xac71a3,_0x342745){return _0x5add7e(_0xac71a3,_0x342745);},'\x5a\x69\x52\x71\x78':function(_0x4bb751,_0xe875cf){return _0x4bb751(_0xe875cf);},'\x43\x56\x4c\x78\x79':_0x49ad89(0x219),'\x6d\x59\x76\x6d\x4c':_0x49ad89(0x200),'\x57\x46\x45\x52\x63':_0x49ad89(0x1c8),'\x50\x71\x63\x77\x76':function(_0x273877,_0x9a9e7f){return _0x273877(_0x9a9e7f);},'\x4e\x6e\x76\x57\x4e':_0x49ad89(0x276)},_0x568c07=_0x349a4a?.[_0x49ad89(0x215)]??_0x3f4d49[_0x49ad89(0x22f)],_0x16afbb=_0x39c394[_0x49ad89(0x216)](/^\/v1\/sandboxes\/([^/]+)\/runtime(\/.*)$/);if(_0x16afbb){const _0xbd3754=decodeURIComponent(_0x3f4d49[_0x49ad89(0x245)](requirePathGroup,_0x16afbb,0x1)),_0x34c405=requirePathGroup(_0x16afbb,0x2);return this['\x66\x65\x74\x63\x68\x52\x75\x6e\x74\x69\x6d\x65'](_0xbd3754,_0x34c405,_0x349a4a);}const _0x480d6b=_0x39c394[_0x49ad89(0x216)](/^\/v1\/sandboxes\/([^/]+)$/);if(_0x480d6b&&_0x3f4d49[_0x49ad89(0x21d)](_0x568c07,_0x3f4d49['\x62\x62\x42\x57\x49'])){const _0x38355a=decodeURIComponent(requirePathGroup(_0x480d6b,0x1)),_0x19f4c3=this['\x73\x61\x6e\x64\x62\x6f\x78\x65\x73'][_0x49ad89(0x212)](_0x38355a);if(!_0x19f4c3)return new Response(JSON[_0x49ad89(0x259)]({'\x65\x72\x72\x6f\x72':_0x3f4d49['\x6c\x75\x7a\x66\x78']}),{'\x73\x74\x61\x74\x75\x73':0x194});return new Response(JSON[_0x49ad89(0x259)]({'\x69\x64':_0x19f4c3['\x69\x64'],'\x73\x74\x61\x74\x75\x73':_0x19f4c3['\x73\x74\x61\x74\x75\x73'],'\x63\x6f\x6e\x6e\x65\x63\x74\x69\x6f\x6e':_0x19f4c3[_0x49ad89(0x1ab)]?{'\x72\x75\x6e\x74\x69\x6d\x65\x55\x72\x6c':_0x19f4c3[_0x49ad89(0x1ab)],'\x61\x75\x74\x68\x54\x6f\x6b\x65\x6e':_0x19f4c3[_0x49ad89(0x224)]}:void 0x0,'\x6d\x65\x74\x61\x64\x61\x74\x61':{..._0x19f4c3[_0x49ad89(0x26e)]?{'\x74\x65\x65\x41\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4a\x73\x6f\x6e':_0x19f4c3['\x74\x65\x65\x41\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4a\x73\x6f\x6e']}:{},..._0x19f4c3[_0x49ad89(0x20b)]?{'\x74\x65\x65\x50\x75\x62\x6c\x69\x63\x4b\x65\x79\x4a\x73\x6f\x6e':_0x19f4c3[_0x49ad89(0x20b)]}:{},..._0x19f4c3[_0x49ad89(0x1c6)]?{'\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e\x4e\x6f\x6e\x63\x65':_0x19f4c3[_0x49ad89(0x1c6)]}:{}},'\x63\x72\x65\x61\x74\x65\x64\x41\x74':_0x19f4c3[_0x49ad89(0x1c4)][_0x49ad89(0x278)]()}),{'\x73\x74\x61\x74\x75\x73':0xc8,'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x3f4d49['\x79\x62\x49\x79\x4c']}});}const _0x348760=_0x39c394[_0x49ad89(0x216)](/^\/v1\/sandboxes\/([^/]+)\/tee\/attestation$/);if(_0x348760&&_0x568c07===_0x49ad89(0x22b)){const _0x4f6ad5=_0x3f4d49[_0x49ad89(0x266)](decodeURIComponent,_0x3f4d49[_0x49ad89(0x22d)](requirePathGroup,_0x348760,0x1));if(this[_0x49ad89(0x1a9)])return this[_0x49ad89(0x1e1)](_0x49ad89(0x1ed)+_0x3f4d49[_0x49ad89(0x266)](encodeURIComponent,_0x4f6ad5)+'\x2f\x74\x65\x65\x2f\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e',_0x349a4a);const _0x285047=await this[_0x49ad89(0x253)](_0x4f6ad5,_0x49ad89(0x1f5),{..._0x349a4a,'\x6d\x65\x74\x68\x6f\x64':_0x49ad89(0x22b)});if(!_0x285047['\x6f\x6b'])return _0x285047;const _0x3b11e8=await _0x285047[_0x49ad89(0x238)]();return new Response(JSON[_0x49ad89(0x259)]({'\x73\x61\x6e\x64\x62\x6f\x78\x5f\x69\x64':_0x4f6ad5,'\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e':_0x3b11e8}),{'\x73\x74\x61\x74\x75\x73':0xc8,'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':'\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e'}});}if(_0x348760&&_0x568c07===_0x49ad89(0x200)){if(this[_0x49ad89(0x1a9)]){const _0x41a6c4=_0x3f4d49[_0x49ad89(0x267)](decodeURIComponent,_0x3f4d49[_0x49ad89(0x245)](requirePathGroup,_0x348760,0x1));return this[_0x49ad89(0x1e1)](_0x49ad89(0x1ed)+encodeURIComponent(_0x41a6c4)+'\x2f\x74\x65\x65\x2f\x61\x74\x74\x65\x73\x74\x61\x74\x69\x6f\x6e',_0x349a4a);}return new Response(JSON[_0x49ad89(0x259)]({'\x65\x72\x72\x6f\x72':_0x3f4d49['\x43\x56\x4c\x78\x79']}),{'\x73\x74\x61\x74\x75\x73':0x1f5,'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x3f4d49['\x79\x62\x49\x79\x4c']}});}const _0x43fe27=_0x39c394['\x6d\x61\x74\x63\x68'](/^\/v1\/sandboxes\/([^/]+)\/tee\/public-key$/);if(_0x43fe27&&_0x568c07===_0x49ad89(0x22b)){const _0x210ee3=decodeURIComponent(requirePathGroup(_0x43fe27,0x1));if(this['\x6f\x70\x65\x72\x61\x74\x6f\x72\x41\x70\x69\x55\x72\x6c'])return this[_0x49ad89(0x1e1)](_0x49ad89(0x1ed)+encodeURIComponent(_0x210ee3)+_0x49ad89(0x256),_0x349a4a);const _0x129d0e=await this[_0x49ad89(0x253)](_0x210ee3,_0x49ad89(0x256),{..._0x349a4a,'\x6d\x65\x74\x68\x6f\x64':_0x49ad89(0x22b)});if(!_0x129d0e['\x6f\x6b'])return _0x129d0e;const _0x1f04ef=await _0x129d0e[_0x49ad89(0x238)]();return new Response(JSON[_0x49ad89(0x259)]({'\x73\x61\x6e\x64\x62\x6f\x78\x5f\x69\x64':_0x210ee3,'\x70\x75\x62\x6c\x69\x63\x5f\x6b\x65\x79':_0x1f04ef}),{'\x73\x74\x61\x74\x75\x73':0xc8,'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x3f4d49[_0x49ad89(0x269)]}});}if(_0x39c394['\x6d\x61\x74\x63\x68'](/^\/v1\/sandboxes\/([^/]+)\/stop$/)&&_0x3f4d49[_0x49ad89(0x21d)](_0x568c07,_0x3f4d49['\x6d\x59\x76\x6d\x4c']))return new Response(JSON[_0x49ad89(0x259)]({'\x65\x72\x72\x6f\x72':_0x49ad89(0x1d1)}),{'\x73\x74\x61\x74\x75\x73':0x1f5,'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x3f4d49[_0x49ad89(0x269)]}});if(_0x39c394[_0x49ad89(0x216)](/^\/v1\/sandboxes\/([^/]+)\/resume$/)&&_0x3f4d49['\x4e\x68\x4f\x74\x65'](_0x568c07,_0x49ad89(0x200)))return new Response(JSON[_0x49ad89(0x259)]({'\x65\x72\x72\x6f\x72':_0x3f4d49[_0x49ad89(0x274)]}),{'\x73\x74\x61\x74\x75\x73':0x1f5,'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x3f4d49[_0x49ad89(0x269)]}});const _0x52ddf8=_0x39c394[_0x49ad89(0x216)](/^\/v1\/sandboxes\/([^/]+)$/);if(_0x52ddf8&&_0x568c07===_0x49ad89(0x1ef)){const _0x53ca9d=_0x3f4d49[_0x49ad89(0x24e)](decodeURIComponent,requirePathGroup(_0x52ddf8,0x1)),_0x24c2b9=this['\x63\x68\x61\x69\x6e'][_0x49ad89(0x205)](_0x53ca9d);await this['\x63\x68\x61\x69\x6e'][_0x49ad89(0x21a)](0x1,_0x24c2b9);const _0x337b83=this[_0x49ad89(0x241)]['\x67\x65\x74'](_0x53ca9d);if(_0x337b83)_0x337b83['\x73\x74\x61\x74\x75\x73']=_0x3f4d49[_0x49ad89(0x23d)];return this[_0x49ad89(0x241)][_0x49ad89(0x22a)](_0x53ca9d),new Response(null,{'\x73\x74\x61\x74\x75\x73':0xcc});}throw new Error('\x4f\x70\x65\x72\x61\x74\x69\x6f\x6e\x20\x6e\x6f\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x20\x76\x69\x61\x20\x6f\x6e\x2d\x63\x68\x61\x69\x6e\x20\x63\x6c\x69\x65\x6e\x74\x3a\x20'+_0x568c07+'\x20'+_0x39c394);}async[a0_0x33f8ae(0x253)](_0x225175,_0x2e460f,_0x24c65e){const _0x4c7a2a=a0_0x33f8ae,_0x1b6657={'\x44\x61\x57\x4a\x63':'\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e','\x58\x71\x5a\x6c\x55':function(_0x54e7f9,_0x550776){return _0x54e7f9!==_0x550776;},'\x45\x63\x50\x72\x4b':'\x75\x6e\x64\x65\x66\x69\x6e\x65\x64','\x4c\x6a\x44\x49\x73':function(_0x2398d0,_0x3864f8){return _0x2398d0 instanceof _0x3864f8;},'\x78\x51\x59\x4f\x61':function(_0x5caf58,_0x20f760,_0x1f7631){return _0x5caf58(_0x20f760,_0x1f7631);}},_0x1b51e0=this[_0x4c7a2a(0x241)][_0x4c7a2a(0x212)](_0x225175);if(!_0x1b51e0?.[_0x4c7a2a(0x1ab)])return new Response(JSON[_0x4c7a2a(0x259)]({'\x65\x72\x72\x6f\x72':_0x4c7a2a(0x262)}),{'\x73\x74\x61\x74\x75\x73':0x1f7,'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':_0x1b6657[_0x4c7a2a(0x1d9)]}});const _0x310422=new Headers(_0x24c65e?.[_0x4c7a2a(0x1f9)]);_0x310422[_0x4c7a2a(0x24a)](_0x4c7a2a(0x207),'\x42\x65\x61\x72\x65\x72\x20'+_0x1b51e0['\x72\x75\x6e\x74\x69\x6d\x65\x54\x6f\x6b\x65\x6e']);const _0x31424c=_0x1b6657[_0x4c7a2a(0x1ce)](typeof FormData,_0x1b6657[_0x4c7a2a(0x27e)])&&_0x1b6657[_0x4c7a2a(0x1c7)](_0x24c65e?.[_0x4c7a2a(0x251)],FormData);if(!_0x310422['\x68\x61\x73'](_0x4c7a2a(0x27b))&&!_0x31424c)_0x310422['\x73\x65\x74']('\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65',_0x4c7a2a(0x1cc));const _0x3a1315=_0x24c65e?.[_0x4c7a2a(0x215)]??_0x4c7a2a(0x22b);return await _0x1b6657[_0x4c7a2a(0x1b8)](fetch,''+_0x1b51e0[_0x4c7a2a(0x1ab)]['\x72\x65\x70\x6c\x61\x63\x65'](/\/$/,'')+_0x2e460f,{..._0x24c65e,'\x6d\x65\x74\x68\x6f\x64':_0x3a1315,'\x68\x65\x61\x64\x65\x72\x73':_0x310422});}async[a0_0x33f8ae(0x201)](){const _0x58527d=a0_0x33f8ae;return this['\x63\x68\x61\x69\x6e'][_0x58527d(0x201)]();}async[a0_0x33f8ae(0x232)](){const _0x50de53=a0_0x33f8ae;return this[_0x50de53(0x214)]['\x67\x65\x74\x53\x65\x72\x76\x69\x63\x65\x53\x74\x61\x74\x73']();}async[a0_0x33f8ae(0x1e1)](_0x1ed8df,_0x456e0b){const _0x2f3ffa=a0_0x33f8ae,_0x53ac65={'\x78\x4b\x78\x59\x77':_0x2f3ffa(0x1e2),'\x71\x58\x50\x4e\x66':_0x2f3ffa(0x207),'\x71\x6f\x55\x70\x56':'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65','\x75\x61\x59\x51\x6a':function(_0x472588,_0x1cb58e,_0x53c788){return _0x472588(_0x1cb58e,_0x53c788);}};if(!this['\x6f\x70\x65\x72\x61\x74\x6f\x72\x41\x70\x69\x55\x72\x6c'])return new Response(JSON[_0x2f3ffa(0x259)]({'\x65\x72\x72\x6f\x72':_0x53ac65[_0x2f3ffa(0x1d4)]}),{'\x73\x74\x61\x74\x75\x73':0x1f5,'\x68\x65\x61\x64\x65\x72\x73':{'\x43\x6f\x6e\x74\x65\x6e\x74\x2d\x54\x79\x70\x65':'\x61\x70\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x2f\x6a\x73\x6f\x6e'}});const _0x102847=new Headers(_0x456e0b?.['\x68\x65\x61\x64\x65\x72\x73']);if(this[_0x2f3ffa(0x272)]&&!_0x102847['\x68\x61\x73'](_0x53ac65[_0x2f3ffa(0x20f)]))_0x102847['\x73\x65\x74'](_0x53ac65[_0x2f3ffa(0x20f)],_0x2f3ffa(0x1b7)+this[_0x2f3ffa(0x272)]);if(_0x456e0b?.[_0x2f3ffa(0x251)]&&!_0x102847[_0x2f3ffa(0x1c1)](_0x53ac65[_0x2f3ffa(0x26b)]))_0x102847[_0x2f3ffa(0x24a)](_0x53ac65[_0x2f3ffa(0x26b)],_0x2f3ffa(0x1cc));return _0x53ac65[_0x2f3ffa(0x1b0)](fetch,''+this[_0x2f3ffa(0x1a9)]+_0x1ed8df,{..._0x456e0b,'\x68\x65\x61\x64\x65\x72\x73':_0x102847});}};export{TANGLE_JOBS_CONTRACT as a,ITangleJobsAbi as c,SandboxCreateResponseParamTypes as d,SandboxIdParamTypes as f,TANGLE_CHAIN_ID as i,JsonResponseParamTypes as l,JOB_SANDBOX_CREATE as n,TANGLE_MAINNET_RPC as o,JOB_SANDBOX_DELETE as r,AgentSandboxBlueprintAbi as s,TangleSandboxClient as t,SandboxCreateParamTypes as u};function a0_0x5993(){const _0x71d32b=['\x79\x33\x6a\x4c\x79\x78\x72\x4c\x7a\x65\x66\x30','\x79\x4d\x58\x31\x7a\x78\x62\x59\x41\x77\x35\x30\x71\x32\x39\x55\x44\x68\x6a\x48\x79\x33\x72\x62\x7a\x67\x72\x59\x7a\x78\x6e\x5a\x69\x67\x4c\x5a\x69\x68\x6a\x4c\x43\x78\x76\x50\x43\x4d\x76\x4b\x69\x67\x7a\x56\x43\x49\x62\x4e\x7a\x78\x72\x74\x7a\x78\x6a\x32\x41\x77\x6e\x4c\x75\x33\x72\x48\x44\x68\x6d','\x79\x78\x72\x30\x7a\x78\x6e\x30\x79\x78\x72\x50\x42\x32\x35\x6f\x42\x32\x35\x4a\x7a\x71','\x74\x67\x50\x65\x73\x78\x6d','\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x63\x62\x59\x7a\x78\x6e\x31\x42\x77\x75\x47\x41\x78\x6d\x47\x42\x4d\x39\x30\x69\x67\x76\x34\x43\x67\x39\x5a\x7a\x77\x71\x47\x79\x4e\x4b\x47\x44\x67\x48\x4c\x69\x67\x6e\x31\x43\x4e\x6a\x4c\x42\x4e\x71\x47\x76\x67\x66\x55\x7a\x32\x58\x4c\x69\x67\x6a\x53\x44\x77\x76\x57\x43\x4d\x4c\x55\x44\x61','\x44\x67\x76\x4c\x78\x33\x72\x35\x43\x67\x75','\x76\x67\x66\x55\x7a\x32\x58\x4c','\x6f\x74\x47\x35\x6e\x64\x4b\x35\x6e\x75\x6a\x34\x41\x76\x48\x34\x72\x71','\x79\x78\x62\x57\x42\x67\x4c\x4a\x79\x78\x72\x50\x42\x32\x34\x56\x41\x4e\x6e\x56\x42\x47','\x44\x4d\x4c\x4c\x42\x73\x39\x48\x79\x32\x6e\x56\x44\x77\x35\x30\x43\x57','\x77\x68\x66\x41\x42\x66\x75','\x69\x63\x48\x4a\x79\x77\x58\x53\x73\x77\x71\x39','\x44\x77\x4c\x55\x44\x64\x47','\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x63\x62\x5a\x44\x67\x39\x57\x69\x67\x4c\x5a\x69\x67\x35\x56\x44\x63\x62\x4c\x45\x68\x62\x56\x43\x32\x76\x4b\x69\x67\x6a\x35\x69\x68\x72\x4f\x7a\x73\x62\x4a\x44\x78\x6a\x59\x7a\x77\x35\x30\x69\x66\x72\x48\x42\x4d\x44\x53\x7a\x73\x62\x49\x42\x68\x76\x4c\x43\x68\x6a\x50\x42\x4e\x71','\x79\x4d\x66\x4a\x41\x32\x76\x55\x7a\x61','\x71\x76\x62\x56\x41\x33\x4b','\x45\x65\x54\x34\x77\x78\x43','\x44\x67\x39\x30\x79\x77\x58\x64\x79\x78\x62\x48\x79\x32\x4c\x30\x45\x71','\x41\x77\x72\x53\x7a\x76\x72\x50\x42\x77\x76\x56\x44\x78\x72\x74\x7a\x77\x6e\x56\x42\x4d\x72\x5a','\x43\x4e\x62\x4a\x76\x78\x6a\x53','\x42\x67\x76\x55\x7a\x33\x72\x4f','\x72\x67\x66\x78\x73\x4d\x6d','\x44\x77\x4c\x55\x44\x64\x6d\x59','\x44\x68\x76\x57\x42\x67\x75','\x44\x4d\x66\x53\x44\x77\x76\x5a','\x44\x32\x76\x49\x76\x67\x76\x59\x42\x77\x4c\x55\x79\x77\x58\x66\x42\x4d\x66\x49\x42\x67\x76\x4b','\x72\x4d\x66\x50\x42\x67\x76\x4b\x69\x68\x72\x56\x69\x67\x72\x4c\x79\x32\x39\x4b\x7a\x73\x62\x4a\x43\x4d\x76\x48\x44\x67\x75\x47\x41\x4d\x39\x49\x69\x68\x6a\x4c\x43\x33\x76\x53\x44\x61','\x43\x68\x76\x49\x42\x67\x4c\x4a\x71\x32\x58\x50\x7a\x77\x35\x30','\x7a\x32\x76\x30\x74\x33\x62\x4c\x43\x4d\x66\x30\x42\x33\x6a\x6d\x42\x32\x66\x4b','\x7a\x4d\x76\x30\x79\x32\x48\x70\x43\x67\x76\x59\x79\x78\x72\x56\x43\x4b\x66\x57\x41\x71','\x74\x33\x62\x4c\x43\x4d\x66\x30\x42\x33\x69\x47\x71\x76\x62\x6a\x69\x66\x76\x73\x74\x63\x62\x50\x43\x59\x62\x55\x42\x33\x71\x47\x79\x32\x39\x55\x7a\x4d\x4c\x4e\x44\x78\x6a\x4c\x7a\x61','\x44\x67\x39\x30\x79\x77\x58\x74\x79\x77\x35\x4b\x79\x4d\x39\x34\x7a\x78\x6d','\x79\x78\x72\x30\x7a\x78\x6e\x30\x79\x78\x72\x50\x42\x32\x35\x73\x7a\x77\x7a\x59\x7a\x78\x6e\x4f','\x73\x4b\x54\x48\x73\x77\x43','\x79\x4e\x4c\x30\x7a\x78\x6d','\x43\x4d\x76\x5a\x42\x33\x76\x59\x79\x32\x76\x5a','\x7a\x32\x76\x30\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x65\x39\x57\x7a\x78\x6a\x48\x44\x67\x39\x59','\x44\x77\x4c\x55\x44\x64\x69\x31\x6e\x47','\x42\x4d\x66\x54\x7a\x71','\x43\x32\x66\x55\x7a\x67\x6a\x56\x45\x66\x39\x50\x7a\x61','\x43\x33\x72\x59\x41\x77\x35\x4e','\x6c\x32\x66\x57\x41\x73\x39\x5a\x79\x77\x35\x4b\x79\x4d\x39\x34\x7a\x78\x6d\x56','\x43\x4d\x76\x57\x42\x67\x66\x4a\x7a\x71','\x72\x65\x76\x6d\x72\x76\x72\x66','\x79\x77\x6e\x30\x41\x78\x7a\x4c','\x43\x33\x6e\x4f\x75\x68\x76\x49\x42\x67\x4c\x4a\x73\x32\x76\x35\x43\x57','\x43\x32\x4c\x4b\x7a\x77\x6e\x48\x43\x4c\x72\x56\x41\x32\x76\x55','\x7a\x78\x7a\x4c\x42\x4e\x71','\x73\x31\x62\x70\x74\x65\x79','\x6c\x33\x72\x4c\x7a\x73\x39\x48\x44\x68\x72\x4c\x43\x33\x72\x48\x44\x67\x4c\x56\x42\x47','\x79\x30\x35\x64\x42\x68\x79','\x42\x77\x66\x34\x78\x32\x58\x50\x7a\x4d\x76\x30\x41\x77\x31\x4c\x78\x33\x6e\x4c\x79\x32\x39\x55\x7a\x68\x6d','\x7a\x67\x66\x30\x79\x71','\x41\x67\x76\x48\x7a\x67\x76\x59\x43\x57','\x43\x33\x6e\x4f\x75\x68\x76\x49\x42\x67\x4c\x4a\x73\x32\x76\x35','\x43\x67\x66\x35\x42\x77\x76\x55\x44\x61','\x7a\x67\x76\x4a\x42\x32\x72\x4c\x71\x77\x6a\x50\x75\x67\x66\x59\x79\x77\x31\x4c\x44\x67\x76\x59\x43\x57','\x42\x77\x66\x34\x74\x67\x4c\x4d\x7a\x78\x72\x50\x42\x77\x76\x74\x7a\x77\x6e\x56\x42\x4d\x72\x5a','\x76\x77\x35\x5a\x44\x78\x62\x57\x42\x33\x6a\x30\x7a\x77\x71\x47\x76\x65\x76\x66\x69\x68\x72\x35\x43\x67\x75\x47\x7a\x4d\x39\x59\x69\x66\x72\x48\x42\x4d\x44\x53\x7a\x73\x62\x49\x42\x68\x76\x4c\x43\x68\x6a\x50\x42\x4e\x71\x36\x69\x61','\x73\x65\x4c\x78\x75\x32\x6d','\x75\x65\x39\x74\x76\x61','\x7a\x32\x76\x30\x71\x78\x7a\x48\x41\x77\x58\x48\x79\x4d\x58\x4c\x71\x32\x66\x57\x79\x77\x6e\x50\x44\x68\x4b','\x79\x32\x39\x55\x44\x68\x6a\x48\x79\x33\x72\x62\x7a\x67\x72\x59\x7a\x78\x6e\x5a','\x41\x77\x72\x53\x7a\x76\x39\x30\x41\x77\x31\x4c\x42\x33\x76\x30\x78\x33\x6e\x4c\x79\x32\x39\x55\x7a\x68\x6d','\x42\x66\x72\x4d\x76\x4e\x61','\x7a\x77\x35\x4a\x42\x32\x72\x4c\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x65\x4c\x4b\x73\x77\x35\x57\x44\x78\x72\x5a','\x6f\x67\x76\x77\x44\x66\x72\x72\x43\x61','\x71\x78\x76\x30\x41\x67\x39\x59\x41\x78\x50\x48\x44\x67\x4c\x56\x42\x47','\x43\x4e\x76\x55\x42\x4d\x4c\x55\x7a\x57','\x6e\x74\x79\x5a\x6f\x64\x6a\x75\x43\x32\x66\x33\x76\x32\x38','\x44\x32\x66\x53\x42\x67\x76\x30','\x44\x67\x76\x4c\x75\x68\x76\x49\x42\x67\x4c\x4a\x73\x32\x76\x35\x73\x4e\x6e\x56\x42\x47','\x75\x4e\x6a\x73\x77\x65\x79','\x44\x77\x35\x4b\x7a\x77\x7a\x50\x42\x4d\x76\x4b','\x73\x4d\x39\x49\x75\x33\x76\x49\x42\x77\x4c\x30\x44\x67\x76\x4b','\x43\x76\x48\x71\x74\x4d\x79','\x6e\x64\x47\x57\x6d\x4a\x66\x6e\x42\x32\x7a\x30\x44\x32\x34','\x79\x32\x39\x55\x7a\x4d\x4c\x4e','\x7a\x32\x76\x30','\x42\x77\x66\x57','\x79\x32\x48\x48\x41\x77\x34','\x42\x77\x76\x30\x41\x67\x39\x4b','\x42\x77\x66\x30\x79\x32\x47','\x44\x67\x39\x52\x7a\x77\x34','\x44\x4d\x4c\x4c\x44\x57','\x74\x4d\x39\x55\x79\x32\x75\x54\x79\x4d\x39\x31\x42\x4d\x71\x47\x76\x65\x76\x66\x69\x67\x66\x30\x44\x67\x76\x5a\x44\x67\x66\x30\x41\x77\x39\x55\x69\x68\x6a\x4c\x43\x78\x76\x50\x43\x4d\x76\x5a\x69\x68\x72\x4f\x7a\x73\x62\x56\x43\x67\x76\x59\x79\x78\x72\x56\x43\x49\x62\x62\x75\x65\x4b\x47\x79\x77\x35\x4b\x69\x67\x4c\x5a\x69\x67\x35\x56\x44\x63\x62\x48\x44\x4d\x66\x50\x42\x67\x66\x49\x42\x67\x75\x47\x44\x67\x48\x59\x42\x33\x76\x4e\x41\x63\x62\x30\x41\x67\x75\x47\x7a\x67\x4c\x59\x7a\x77\x6e\x30\x69\x68\x6e\x50\x7a\x67\x76\x4a\x79\x78\x69\x47\x76\x67\x66\x55\x7a\x32\x58\x4c\x69\x67\x6e\x53\x41\x77\x76\x55\x44\x61','\x43\x33\x76\x49\x42\x77\x4c\x30\x73\x4d\x39\x49\x71\x77\x35\x4b\x76\x32\x66\x50\x44\x61','\x43\x4d\x66\x55\x7a\x67\x39\x54\x73\x67\x76\x34\x76\x67\x39\x52\x7a\x77\x34\x36\x69\x67\x44\x53\x42\x32\x6a\x48\x42\x66\x72\x4f\x41\x78\x6d\x55\x79\x33\x6a\x35\x43\x68\x72\x56\x6c\x4d\x44\x4c\x44\x66\x6a\x48\x42\x4d\x72\x56\x42\x76\x7a\x48\x42\x68\x76\x4c\x43\x59\x62\x50\x43\x59\x62\x31\x42\x4d\x66\x32\x79\x77\x4c\x53\x79\x77\x6a\x53\x7a\x74\x53\x47\x44\x67\x48\x50\x43\x59\x62\x59\x44\x77\x35\x30\x41\x77\x31\x4c\x69\x67\x6e\x48\x42\x4d\x35\x56\x44\x63\x62\x4e\x7a\x77\x35\x4c\x43\x4d\x66\x30\x7a\x73\x62\x4a\x43\x4e\x4c\x57\x44\x67\x39\x4e\x43\x4d\x66\x57\x41\x67\x4c\x4a\x79\x77\x58\x53\x45\x73\x62\x5a\x7a\x77\x6e\x31\x43\x4d\x75\x47\x42\x4d\x39\x55\x79\x32\x76\x5a\x6c\x49\x62\x73\x44\x77\x34\x47\x42\x32\x34\x47\x79\x73\x62\x4f\x42\x33\x6e\x30\x69\x68\x44\x50\x44\x67\x47\x47\x76\x32\x76\x49\x71\x33\x6a\x35\x43\x68\x72\x56\x69\x68\x6e\x31\x43\x68\x62\x56\x43\x4e\x71\x47\x6b\x65\x35\x56\x7a\x67\x75\x47\x6d\x4a\x61\x52\x6c\x63\x62\x49\x43\x4d\x39\x33\x43\x32\x76\x59\x43\x59\x57\x47\x76\x32\x39\x59\x41\x32\x76\x59\x43\x59\x4b\x55','\x75\x67\x66\x30\x41\x63\x62\x54\x79\x78\x72\x4a\x41\x67\x76\x59\x69\x67\x31\x50\x43\x33\x6e\x50\x42\x4d\x43\x47\x7a\x33\x6a\x56\x44\x78\x61\x47','\x74\x4d\x48\x70\x44\x67\x75','\x44\x4d\x4c\x4c\x42\x71','\x42\x77\x76\x30\x79\x77\x72\x48\x44\x67\x65','\x6d\x4a\x75\x30\x6e\x64\x79\x35\x43\x77\x31\x31\x71\x77\x35\x32','\x43\x33\x72\x59\x41\x77\x35\x4e\x77\x31\x30','\x74\x77\x58\x48\x76\x30\x71','\x43\x68\x6a\x56\x7a\x4d\x4c\x53\x7a\x71','\x43\x4e\x76\x55\x44\x67\x4c\x54\x7a\x76\x72\x56\x41\x32\x76\x55','\x79\x32\x66\x53\x42\x65\x4c\x4b','\x6d\x68\x47\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6d\x64\x61\x57\x6f\x64\x61\x34','\x6d\x74\x6a\x6b\x79\x4e\x76\x79\x7a\x66\x6d','\x42\x33\x62\x4c\x43\x4d\x66\x30\x42\x33\x69','\x79\x4d\x39\x56\x42\x61','\x7a\x67\x76\x53\x7a\x78\x72\x4c','\x72\x30\x76\x75','\x7a\x78\x7a\x4c\x42\x4e\x72\x6f\x79\x77\x31\x4c','\x73\x65\x31\x4a\x45\x78\x4f','\x44\x67\x39\x57\x41\x77\x6e\x5a','\x79\x4d\x6a\x63\x76\x30\x4b','\x79\x77\x72\x4b\x43\x4d\x76\x5a\x43\x57','\x79\x4e\x4c\x30\x7a\x78\x6d\x5a\x6d\x47','\x7a\x32\x76\x30\x75\x32\x76\x59\x44\x4d\x4c\x4a\x7a\x76\x6e\x30\x79\x78\x72\x5a','\x7a\x32\x76\x30\x74\x67\x39\x4e\x43\x57','\x79\x78\x72\x30\x7a\x78\x6e\x30\x79\x78\x72\x50\x42\x32\x35\x46\x42\x4d\x39\x55\x79\x32\x75','\x43\x32\x66\x55\x7a\x67\x6a\x56\x45\x65\x48\x48\x43\x32\x47','\x79\x32\x66\x53\x42\x67\x76\x59','\x79\x32\x39\x55\x7a\x4d\x4c\x4b\x7a\x77\x35\x30\x41\x77\x66\x53','\x41\x4e\x6e\x56\x42\x47','\x79\x4d\x58\x31\x7a\x78\x62\x59\x41\x77\x35\x30\x71\x32\x39\x55\x44\x68\x6a\x48\x79\x33\x72\x62\x7a\x67\x72\x59\x7a\x78\x6e\x5a','\x72\x77\x35\x4d\x76\x30\x6d','\x7a\x32\x76\x30\x73\x4d\x39\x49\x71\x32\x66\x53\x42\x61','\x71\x30\x72\x56\x77\x4b\x75','\x74\x4d\x35\x32\x76\x30\x34','\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x65\x6e\x59\x7a\x77\x66\x30\x7a\x77\x71','\x6e\x74\x6d\x57\x6d\x4a\x69\x5a\x6d\x32\x39\x4d\x43\x33\x4c\x56\x75\x57','\x44\x67\x76\x4c','\x43\x32\x66\x55\x7a\x67\x6a\x56\x45\x67\x76\x5a','\x7a\x4d\x4c\x55\x7a\x61','\x43\x4e\x72\x76\x41\x4b\x57','\x7a\x66\x6e\x4c\x75\x30\x79','\x41\x75\x31\x6f\x73\x33\x75','\x44\x68\x4c\x57\x7a\x78\x6d','\x74\x66\x66\x59\x76\x4e\x79','\x6d\x74\x62\x78\x44\x66\x4c\x56\x44\x76\x79','\x72\x31\x7a\x6c\x7a\x65\x4b','\x43\x32\x76\x30','\x41\x78\x6e\x74\x79\x77\x35\x4b\x79\x4d\x39\x34\x71\x77\x6e\x30\x41\x78\x7a\x4c','\x7a\x67\x4c\x5a\x41\x31\x39\x4e\x79\x47','\x76\x65\x35\x75','\x75\x68\x66\x4a\x44\x33\x79','\x7a\x77\x35\x5a\x44\x78\x6a\x4c\x73\x77\x35\x50\x44\x67\x4c\x48\x42\x67\x4c\x36\x7a\x77\x71','\x43\x67\x66\x59\x43\x32\x76\x62\x79\x4d\x4c\x6a\x44\x67\x76\x54','\x79\x4d\x39\x4b\x45\x71','\x42\x77\x76\x54\x42\x33\x6a\x35\x78\x32\x31\x49','\x7a\x4d\x76\x30\x79\x32\x48\x73\x44\x77\x35\x30\x41\x77\x31\x4c','\x79\x78\x6a\x4e\x43\x57','\x76\x67\x66\x55\x7a\x32\x58\x4c\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x65\x6e\x53\x41\x77\x76\x55\x44\x63\x62\x59\x7a\x78\x66\x31\x41\x78\x6a\x4c\x43\x59\x62\x4c\x41\x78\x72\x4f\x7a\x78\x69\x47\x43\x68\x6a\x50\x44\x4d\x66\x30\x7a\x75\x54\x4c\x45\x73\x62\x56\x43\x49\x62\x33\x79\x77\x58\x53\x7a\x78\x71','\x6c\x33\x72\x4c\x7a\x73\x39\x57\x44\x77\x6a\x53\x41\x77\x6d\x54\x41\x32\x76\x35','\x44\x32\x76\x49\x78\x33\x72\x4c\x43\x4d\x31\x50\x42\x4d\x66\x53\x78\x32\x76\x55\x79\x77\x6a\x53\x7a\x77\x71','\x72\x4e\x6e\x76\x74\x65\x65','\x43\x33\x72\x59\x41\x77\x35\x4e\x41\x77\x7a\x35','\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x65\x72\x4c\x42\x67\x76\x30\x7a\x77\x71','\x79\x33\x6a\x4c\x79\x78\x72\x4c\x76\x32\x66\x53\x42\x67\x76\x30\x71\x32\x58\x50\x7a\x77\x35\x30','\x43\x4d\x76\x48\x7a\x65\x6e\x56\x42\x4e\x72\x59\x79\x77\x6e\x30','\x41\x77\x35\x57\x44\x78\x72\x5a','\x44\x32\x66\x50\x44\x65\x7a\x56\x43\x4c\x72\x59\x79\x77\x35\x5a\x79\x77\x6e\x30\x41\x77\x39\x55\x75\x4d\x76\x4a\x7a\x77\x4c\x57\x44\x61','\x6b\x73\x62\x4b\x41\x77\x71\x47\x42\x4d\x39\x30\x69\x67\x6e\x56\x42\x78\x62\x53\x7a\x78\x72\x4c\x69\x68\x44\x50\x44\x67\x48\x50\x42\x49\x61','\x79\x33\x6a\x4c\x79\x78\x72\x4c\x75\x68\x76\x49\x42\x67\x4c\x4a\x71\x32\x58\x50\x7a\x77\x35\x30','\x42\x32\x6a\x51\x7a\x77\x6e\x30','\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x63\x62\x59\x44\x77\x35\x30\x41\x77\x31\x4c\x69\x68\x76\x55\x79\x78\x7a\x48\x41\x77\x58\x48\x79\x4d\x58\x4c','\x79\x78\x7a\x48\x41\x77\x58\x48\x79\x4d\x58\x4c','\x7a\x32\x76\x30\x75\x4d\x76\x5a\x43\x67\x39\x55\x43\x32\x76\x71\x79\x78\x6a\x48\x42\x76\x72\x35\x43\x67\x76\x5a','\x7a\x32\x76\x30\x75\x4d\x66\x55\x7a\x67\x39\x54\x76\x4d\x66\x53\x44\x77\x76\x5a','\x74\x75\x50\x53\x75\x67\x57','\x77\x4d\x4c\x73\x43\x78\x47','\x74\x4d\x38\x47\x43\x4d\x76\x5a\x44\x77\x58\x30\x69\x68\x6a\x4c\x44\x68\x76\x59\x42\x4d\x76\x4b\x69\x67\x7a\x59\x42\x32\x30\x47\x79\x33\x6a\x4c\x79\x78\x72\x4c\x69\x67\x50\x56\x79\x47','\x45\x77\x6a\x6a\x45\x75\x57','\x7a\x4d\x76\x30\x79\x32\x47','\x43\x77\x39\x76\x43\x66\x79','\x7a\x4e\x76\x55\x79\x33\x72\x50\x42\x32\x34','\x73\x76\x48\x69\x71\x30\x75','\x44\x67\x76\x4c\x71\x78\x72\x30\x7a\x78\x6e\x30\x79\x78\x72\x50\x42\x32\x35\x6b\x43\x32\x39\x55','\x7a\x77\x66\x59\x42\x67\x4c\x4c\x43\x33\x71','\x44\x4d\x4c\x4c\x42\x73\x62\x50\x43\x59\x62\x59\x7a\x78\x66\x31\x41\x78\x6a\x4c\x7a\x63\x62\x4d\x42\x33\x69\x47\x76\x67\x66\x55\x7a\x32\x58\x4c\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x65\x6e\x53\x41\x77\x76\x55\x44\x63\x34\x47\x73\x77\x35\x5a\x44\x67\x66\x53\x42\x63\x62\x50\x44\x64\x4f\x47\x42\x4e\x62\x54\x69\x67\x4c\x55\x43\x33\x72\x48\x42\x67\x57\x47\x44\x4d\x4c\x4c\x42\x71','\x42\x4d\x39\x33','\x42\x33\x62\x4c\x43\x4d\x66\x30\x42\x33\x6a\x62\x43\x67\x4c\x75\x42\x32\x54\x4c\x42\x47','\x44\x77\x4c\x55\x44\x64\x79\x30','\x76\x30\x7a\x66\x75\x4d\x6d','\x44\x67\x72\x34','\x7a\x67\x76\x53\x7a\x78\x72\x4c\x7a\x61','\x73\x4d\x39\x49\x75\x4d\x76\x5a\x44\x77\x58\x30\x75\x33\x76\x49\x42\x77\x4c\x30\x44\x67\x76\x4b','\x44\x67\x39\x6a\x75\x30\x39\x74\x44\x68\x6a\x50\x42\x4d\x43','\x44\x67\x76\x4c\x78\x33\x6a\x4c\x43\x78\x76\x50\x43\x4d\x76\x4b','\x43\x33\x76\x49\x42\x77\x4c\x30\x73\x4d\x39\x49','\x71\x32\x39\x55\x44\x67\x76\x55\x44\x63\x31\x75\x45\x78\x62\x4c','\x6e\x74\x43\x35\x6d\x4a\x47\x30\x6d\x31\x7a\x6c\x76\x4b\x54\x6b\x79\x71','\x41\x68\x72\x30\x43\x68\x6d\x36\x6c\x59\x39\x59\x43\x67\x6d\x55\x44\x67\x66\x55\x7a\x32\x58\x4c\x6c\x4e\x72\x56\x42\x32\x58\x5a','\x72\x77\x6e\x71\x43\x4b\x53','\x6e\x5a\x62\x6e\x79\x32\x6a\x76\x74\x78\x65','\x43\x68\x6a\x50\x44\x4d\x66\x30\x7a\x75\x54\x4c\x45\x71','\x42\x4d\x4c\x30\x43\x4d\x38','\x43\x32\x4c\x4b\x7a\x77\x6e\x48\x43\x4c\x39\x31\x43\x4d\x57','\x41\x4d\x39\x49\x76\x67\x4c\x54\x7a\x77\x39\x31\x44\x65\x31\x5a','\x43\x32\x76\x59\x44\x4d\x4c\x4a\x7a\x75\x4c\x4b','\x7a\x78\x62\x59\x45\x67\x34','\x43\x65\x66\x52\x43\x4c\x4f','\x43\x67\x66\x59\x43\x32\x75','\x41\x4d\x39\x49\x73\x77\x35\x4b\x7a\x78\x47','\x42\x33\x62\x4c\x43\x4d\x66\x30\x42\x33\x6a\x62\x43\x67\x4c\x76\x43\x4d\x57','\x75\x75\x48\x64\x76\x76\x69','\x43\x4e\x76\x55\x44\x67\x4c\x54\x7a\x76\x76\x59\x42\x61','\x43\x32\x4c\x4b\x7a\x77\x6e\x48\x43\x4c\x76\x59\x42\x61','\x79\x77\x6e\x4a\x42\x33\x76\x55\x44\x61','\x79\x33\x6a\x4c\x79\x78\x72\x4c','\x44\x32\x66\x53\x42\x67\x76\x30\x71\x32\x58\x50\x7a\x77\x35\x30','\x44\x77\x66\x7a\x75\x77\x4f','\x7a\x67\x4c\x5a\x41\x30\x44\x63','\x43\x32\x76\x32\x6c\x78\x6e\x55\x43\x61','\x73\x4d\x39\x49\x75\x33\x76\x49\x42\x77\x4c\x30\x44\x67\x76\x4b\x69\x67\x76\x32\x7a\x77\x35\x30\x69\x67\x35\x56\x44\x63\x62\x4d\x42\x33\x76\x55\x7a\x63\x62\x50\x42\x49\x62\x30\x43\x4d\x66\x55\x43\x32\x66\x4a\x44\x67\x4c\x56\x42\x49\x62\x59\x7a\x77\x6e\x4c\x41\x78\x62\x30','\x6d\x74\x47\x35\x6d\x4a\x4b\x5a\x6d\x4e\x7a\x59\x72\x4c\x6a\x6a\x77\x61','\x79\x33\x6a\x35\x43\x68\x72\x56','\x43\x4d\x76\x5a\x44\x77\x58\x30\x71\x32\x39\x31\x42\x4e\x71','\x71\x4d\x76\x48\x43\x4d\x76\x59\x69\x61','\x45\x66\x66\x7a\x74\x32\x65','\x7a\x67\x76\x4a\x42\x32\x72\x4c\x72\x78\x7a\x4c\x42\x4e\x72\x6d\x42\x32\x43','\x79\x77\x35\x35','\x41\x77\x31\x48\x7a\x32\x75','\x7a\x77\x35\x4a\x42\x32\x72\x4c\x75\x32\x66\x55\x7a\x67\x6a\x56\x45\x65\x6e\x59\x7a\x77\x66\x30\x7a\x75\x4c\x55\x43\x68\x76\x30\x43\x57','\x41\x68\x72\x30\x43\x61','\x43\x32\x66\x55\x7a\x67\x6a\x56\x45\x65\x4c\x4b','\x7a\x32\x76\x30\x73\x4d\x39\x49\x75\x4d\x76\x5a\x44\x77\x58\x30','\x79\x32\x39\x54\x43\x67\x58\x4c\x44\x67\x76\x4b','\x41\x67\x66\x5a','\x43\x67\x48\x48\x42\x67\x65\x54\x7a\x68\x6e\x30\x79\x77\x6e\x52','\x79\x4d\x58\x56\x79\x32\x54\x6f\x44\x77\x31\x49\x7a\x78\x69'];a0_0x5993=function(){return _0x71d32b;};return a0_0x5993();}
1
+ import { t as SandboxInstance } from "./sandbox-joKtQ5y3.js";
2
+ //#region src/tangle/abi.ts
3
+ /**
4
+ * Tangle Contract ABI Definitions
5
+ *
6
+ * Viem-compatible ABI for the ITangleJobs precompile, the AgentSandbox
7
+ * blueprint contract views/events, and ABI parameter definitions for
8
+ * encoding/decoding blueprint job inputs and outputs.
9
+ */
10
+ const ITangleJobsAbi = [
11
+ {
12
+ type: "function",
13
+ name: "submitJob",
14
+ inputs: [
15
+ {
16
+ name: "serviceId",
17
+ type: "uint64"
18
+ },
19
+ {
20
+ name: "jobIndex",
21
+ type: "uint8"
22
+ },
23
+ {
24
+ name: "inputs",
25
+ type: "bytes"
26
+ }
27
+ ],
28
+ outputs: [{
29
+ name: "callId",
30
+ type: "uint64"
31
+ }],
32
+ stateMutability: "payable"
33
+ },
34
+ {
35
+ type: "function",
36
+ name: "getJobCall",
37
+ inputs: [{
38
+ name: "serviceId",
39
+ type: "uint64"
40
+ }, {
41
+ name: "callId",
42
+ type: "uint64"
43
+ }],
44
+ outputs: [{
45
+ name: "",
46
+ type: "tuple",
47
+ components: [
48
+ {
49
+ name: "jobIndex",
50
+ type: "uint8"
51
+ },
52
+ {
53
+ name: "caller",
54
+ type: "address"
55
+ },
56
+ {
57
+ name: "createdAt",
58
+ type: "uint64"
59
+ },
60
+ {
61
+ name: "resultCount",
62
+ type: "uint32"
63
+ },
64
+ {
65
+ name: "payment",
66
+ type: "uint256"
67
+ },
68
+ {
69
+ name: "completed",
70
+ type: "bool"
71
+ }
72
+ ]
73
+ }],
74
+ stateMutability: "view"
75
+ },
76
+ {
77
+ type: "event",
78
+ name: "JobSubmitted",
79
+ inputs: [
80
+ {
81
+ name: "serviceId",
82
+ type: "uint64",
83
+ indexed: true
84
+ },
85
+ {
86
+ name: "callId",
87
+ type: "uint64",
88
+ indexed: true
89
+ },
90
+ {
91
+ name: "jobIndex",
92
+ type: "uint8",
93
+ indexed: true
94
+ },
95
+ {
96
+ name: "caller",
97
+ type: "address",
98
+ indexed: false
99
+ },
100
+ {
101
+ name: "inputs",
102
+ type: "bytes",
103
+ indexed: false
104
+ }
105
+ ]
106
+ },
107
+ {
108
+ type: "event",
109
+ name: "JobResultSubmitted",
110
+ inputs: [
111
+ {
112
+ name: "serviceId",
113
+ type: "uint64",
114
+ indexed: true
115
+ },
116
+ {
117
+ name: "callId",
118
+ type: "uint64",
119
+ indexed: true
120
+ },
121
+ {
122
+ name: "operator",
123
+ type: "address",
124
+ indexed: true
125
+ },
126
+ {
127
+ name: "result",
128
+ type: "bytes",
129
+ indexed: false
130
+ }
131
+ ]
132
+ }
133
+ ];
134
+ const SandboxCreateParamTypes = [
135
+ {
136
+ name: "name",
137
+ type: "string"
138
+ },
139
+ {
140
+ name: "image",
141
+ type: "string"
142
+ },
143
+ {
144
+ name: "stack",
145
+ type: "string"
146
+ },
147
+ {
148
+ name: "agent_identifier",
149
+ type: "string"
150
+ },
151
+ {
152
+ name: "env_json",
153
+ type: "string"
154
+ },
155
+ {
156
+ name: "metadata_json",
157
+ type: "string"
158
+ },
159
+ {
160
+ name: "ssh_enabled",
161
+ type: "bool"
162
+ },
163
+ {
164
+ name: "ssh_public_keys",
165
+ type: "string[]"
166
+ },
167
+ {
168
+ name: "web_terminal_enabled",
169
+ type: "bool"
170
+ },
171
+ {
172
+ name: "max_lifetime_seconds",
173
+ type: "uint64"
174
+ },
175
+ {
176
+ name: "idle_timeout_seconds",
177
+ type: "uint64"
178
+ },
179
+ {
180
+ name: "cpu_cores",
181
+ type: "uint64"
182
+ },
183
+ {
184
+ name: "memory_mb",
185
+ type: "uint64"
186
+ },
187
+ {
188
+ name: "disk_gb",
189
+ type: "uint64"
190
+ },
191
+ {
192
+ name: "tee_required",
193
+ type: "bool"
194
+ },
195
+ {
196
+ name: "tee_type",
197
+ type: "uint8"
198
+ },
199
+ {
200
+ name: "attestation_nonce",
201
+ type: "string"
202
+ }
203
+ ];
204
+ const SandboxIdParamTypes = [{
205
+ name: "sandbox_id",
206
+ type: "string"
207
+ }];
208
+ const SandboxCreateResponseParamTypes = [{
209
+ name: "sandboxId",
210
+ type: "string"
211
+ }, {
212
+ name: "json",
213
+ type: "string"
214
+ }];
215
+ const JsonResponseParamTypes = [{
216
+ name: "json",
217
+ type: "string"
218
+ }];
219
+ const AgentSandboxBlueprintAbi = [
220
+ {
221
+ type: "function",
222
+ name: "getAvailableCapacity",
223
+ inputs: [],
224
+ outputs: [{
225
+ name: "available",
226
+ type: "uint32"
227
+ }],
228
+ stateMutability: "view"
229
+ },
230
+ {
231
+ type: "function",
232
+ name: "getServiceStats",
233
+ inputs: [],
234
+ outputs: [{
235
+ name: "totalSandboxes",
236
+ type: "uint32"
237
+ }, {
238
+ name: "totalCapacity",
239
+ type: "uint32"
240
+ }],
241
+ stateMutability: "view"
242
+ },
243
+ {
244
+ type: "function",
245
+ name: "getOperatorLoad",
246
+ inputs: [{
247
+ name: "operator",
248
+ type: "address"
249
+ }],
250
+ outputs: [{
251
+ name: "active",
252
+ type: "uint32"
253
+ }, {
254
+ name: "max",
255
+ type: "uint32"
256
+ }],
257
+ stateMutability: "view"
258
+ },
259
+ {
260
+ type: "function",
261
+ name: "getSandboxOperator",
262
+ inputs: [{
263
+ name: "sandboxId",
264
+ type: "string"
265
+ }],
266
+ outputs: [{
267
+ name: "",
268
+ type: "address"
269
+ }],
270
+ stateMutability: "view"
271
+ },
272
+ {
273
+ type: "function",
274
+ name: "isSandboxActive",
275
+ inputs: [{
276
+ name: "sandboxId",
277
+ type: "string"
278
+ }],
279
+ outputs: [{
280
+ name: "",
281
+ type: "bool"
282
+ }],
283
+ stateMutability: "view"
284
+ },
285
+ {
286
+ type: "event",
287
+ name: "OperatorAssigned",
288
+ inputs: [
289
+ {
290
+ name: "serviceId",
291
+ type: "uint64",
292
+ indexed: true
293
+ },
294
+ {
295
+ name: "callId",
296
+ type: "uint64",
297
+ indexed: true
298
+ },
299
+ {
300
+ name: "operator",
301
+ type: "address",
302
+ indexed: true
303
+ }
304
+ ]
305
+ },
306
+ {
307
+ type: "event",
308
+ name: "OperatorRouted",
309
+ inputs: [
310
+ {
311
+ name: "serviceId",
312
+ type: "uint64",
313
+ indexed: true
314
+ },
315
+ {
316
+ name: "callId",
317
+ type: "uint64",
318
+ indexed: true
319
+ },
320
+ {
321
+ name: "operator",
322
+ type: "address",
323
+ indexed: true
324
+ }
325
+ ]
326
+ },
327
+ {
328
+ type: "event",
329
+ name: "SandboxCreated",
330
+ inputs: [{
331
+ name: "sandboxHash",
332
+ type: "bytes32",
333
+ indexed: true
334
+ }, {
335
+ name: "operator",
336
+ type: "address",
337
+ indexed: true
338
+ }]
339
+ },
340
+ {
341
+ type: "event",
342
+ name: "SandboxDeleted",
343
+ inputs: [{
344
+ name: "sandboxHash",
345
+ type: "bytes32",
346
+ indexed: true
347
+ }, {
348
+ name: "operator",
349
+ type: "address",
350
+ indexed: true
351
+ }]
352
+ }
353
+ ];
354
+ //#endregion
355
+ //#region src/tangle/types.ts
356
+ /**
357
+ * Tangle Sandbox Client types and constants.
358
+ */
359
+ /** Tangle mainnet chain ID. */
360
+ const TANGLE_CHAIN_ID = 5845;
361
+ /** Tangle mainnet RPC endpoint. */
362
+ const TANGLE_MAINNET_RPC = "https://rpc.tangle.tools";
363
+ /** ITangleJobs precompile contract address. */
364
+ const TANGLE_JOBS_CONTRACT = "0x0000000000000000000000000000000000000808";
365
+ /** Job indices matching the blueprint's job IDs. */
366
+ const JOB_SANDBOX_CREATE = 0;
367
+ const JOB_SANDBOX_DELETE = 1;
368
+ //#endregion
369
+ //#region src/tangle/chain-client.ts
370
+ function confidentialFromOptions(options) {
371
+ if (options.confidential) return options.confidential;
372
+ const profile = options.backend?.profile;
373
+ if (typeof profile === "object" && profile?.confidential) return profile.confidential;
374
+ }
375
+ function teeTypeId(tee) {
376
+ switch (tee) {
377
+ case "tdx":
378
+ case "phala-dstack": return 1;
379
+ case "nitro": return 2;
380
+ case "sev-snp": return 3;
381
+ case "any":
382
+ case void 0: return 0;
383
+ default: throw new Error(`Unsupported TEE type for Tangle blueprint: ${tee}`);
384
+ }
385
+ }
386
+ function teeCreateValues(options) {
387
+ const confidential = confidentialFromOptions(options);
388
+ const teeRequired = Boolean(confidential?.tee);
389
+ return [
390
+ teeRequired,
391
+ teeRequired ? teeTypeId(confidential?.tee) : 0,
392
+ confidential?.attestationNonce ?? ""
393
+ ];
394
+ }
395
+ var TangleChainClient = class {
396
+ config;
397
+ publicClient = null;
398
+ walletClient = null;
399
+ account = null;
400
+ constructor(config) {
401
+ this.config = config;
402
+ }
403
+ async ensureInitialized() {
404
+ if (this.publicClient && this.walletClient) return {
405
+ publicClient: this.publicClient,
406
+ walletClient: this.walletClient
407
+ };
408
+ let viem;
409
+ try {
410
+ viem = await import("viem");
411
+ } catch {
412
+ throw new Error("viem is required for TangleSandboxClient. Install it: npm install viem");
413
+ }
414
+ const rpcUrl = this.config.rpcUrl ?? "https://rpc.tangle.tools";
415
+ const chain = {
416
+ id: TANGLE_CHAIN_ID,
417
+ name: "Tangle",
418
+ nativeCurrency: {
419
+ name: "TNT",
420
+ symbol: "TNT",
421
+ decimals: 18
422
+ },
423
+ rpcUrls: { default: { http: [rpcUrl] } }
424
+ };
425
+ const transport = viem.http(rpcUrl);
426
+ this.publicClient = viem.createPublicClient({
427
+ chain,
428
+ transport
429
+ });
430
+ if (this.config.privateKey) {
431
+ const { privateKeyToAccount } = await import("viem/accounts");
432
+ this.account = privateKeyToAccount(this.config.privateKey);
433
+ this.walletClient = viem.createWalletClient({
434
+ account: this.account,
435
+ chain,
436
+ transport
437
+ });
438
+ } else if (this.config.wallet) {
439
+ const wallet = this.config.wallet;
440
+ this.walletClient = wallet;
441
+ this.account = wallet.account ?? null;
442
+ } else throw new Error("TangleSandboxClient requires either privateKey or wallet");
443
+ return {
444
+ publicClient: this.publicClient,
445
+ walletClient: this.walletClient
446
+ };
447
+ }
448
+ encodeSandboxCreateInputs(options) {
449
+ return {
450
+ types: SandboxCreateParamTypes,
451
+ values: [
452
+ options.name ?? "",
453
+ options.image ?? "",
454
+ "",
455
+ "",
456
+ options.env ? JSON.stringify(options.env) : "",
457
+ options.metadata ? JSON.stringify(options.metadata) : "",
458
+ options.sshEnabled ?? false,
459
+ options.sshPublicKeys ?? (options.sshPublicKey ? [options.sshPublicKey] : []),
460
+ options.webTerminalEnabled ?? false,
461
+ BigInt(options.maxLifetimeSeconds ?? 0),
462
+ BigInt(options.idleTimeoutSeconds ?? 0),
463
+ BigInt(options.resources?.cpuCores ?? 0),
464
+ BigInt(options.resources?.memoryMB ?? 0),
465
+ BigInt(options.resources?.diskGB ?? 0),
466
+ ...teeCreateValues(options)
467
+ ]
468
+ };
469
+ }
470
+ encodeSandboxIdInputs(sandboxId) {
471
+ return {
472
+ types: SandboxIdParamTypes,
473
+ values: [sandboxId]
474
+ };
475
+ }
476
+ async submitJobAndWait(jobIndex, encoded) {
477
+ const { publicClient, walletClient } = await this.ensureInitialized();
478
+ const viem = await import("viem");
479
+ const contractAddress = this.config.contractAddress ?? "0x0000000000000000000000000000000000000808";
480
+ const serviceId = this.config.serviceId;
481
+ const inputs = viem.encodeAbiParameters(encoded.types, encoded.values);
482
+ const hash = await walletClient.writeContract({
483
+ address: contractAddress,
484
+ abi: ITangleJobsAbi,
485
+ functionName: "submitJob",
486
+ args: [
487
+ serviceId,
488
+ jobIndex,
489
+ inputs
490
+ ]
491
+ });
492
+ const receipt = await publicClient.waitForTransactionReceipt({ hash });
493
+ const jobSubmittedEvent = receipt.logs.find((log) => {
494
+ try {
495
+ return viem.decodeEventLog({
496
+ abi: ITangleJobsAbi,
497
+ data: log.data,
498
+ topics: log.topics
499
+ }).eventName === "JobSubmitted";
500
+ } catch {
501
+ return false;
502
+ }
503
+ });
504
+ if (!jobSubmittedEvent) throw new Error("JobSubmitted event not found in transaction receipt");
505
+ const callId = viem.decodeEventLog({
506
+ abi: ITangleJobsAbi,
507
+ data: jobSubmittedEvent.data,
508
+ topics: jobSubmittedEvent.topics
509
+ }).args.callId;
510
+ const timeoutMs = this.config.jobTimeoutMs ?? 144e5;
511
+ const pollIntervalMs = this.config.pollIntervalMs ?? 5e3;
512
+ const deadline = Date.now() + timeoutMs;
513
+ while (Date.now() < deadline) {
514
+ await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
515
+ const jobCall = await publicClient.readContract({
516
+ address: contractAddress,
517
+ abi: ITangleJobsAbi,
518
+ functionName: "getJobCall",
519
+ args: [serviceId, callId]
520
+ });
521
+ if (jobCall.completed) return {
522
+ result: jobCall,
523
+ callId,
524
+ blockNumber: receipt.blockNumber
525
+ };
526
+ }
527
+ throw new Error(`Job ${jobIndex} (callId=${callId}) did not complete within ${timeoutMs}ms`);
528
+ }
529
+ async getJobResult(callId, fromBlock) {
530
+ const { publicClient } = await this.ensureInitialized();
531
+ const viem = await import("viem");
532
+ const contractAddress = this.config.contractAddress ?? "0x0000000000000000000000000000000000000808";
533
+ const logs = await publicClient.getLogs({
534
+ address: contractAddress,
535
+ event: viem.parseAbiItem("event JobResultSubmitted(uint64 indexed serviceId, uint64 indexed callId, address indexed operator, bytes result)"),
536
+ args: {
537
+ serviceId: this.config.serviceId,
538
+ callId
539
+ },
540
+ fromBlock: fromBlock ?? "earliest"
541
+ });
542
+ if (logs.length === 0) return null;
543
+ return logs[0]?.args.result ?? null;
544
+ }
545
+ async getAvailableCapacity() {
546
+ const { publicClient } = await this.ensureInitialized();
547
+ if (!this.config.blueprintContractAddress) throw new Error("blueprintContractAddress is required for getAvailableCapacity");
548
+ const result = await publicClient.readContract({
549
+ address: this.config.blueprintContractAddress,
550
+ abi: AgentSandboxBlueprintAbi,
551
+ functionName: "getAvailableCapacity"
552
+ });
553
+ return Number(result);
554
+ }
555
+ async getServiceStats() {
556
+ const { publicClient } = await this.ensureInitialized();
557
+ if (!this.config.blueprintContractAddress) throw new Error("blueprintContractAddress is required for getServiceStats");
558
+ const [totalSandboxes, totalCapacity] = await publicClient.readContract({
559
+ address: this.config.blueprintContractAddress,
560
+ abi: AgentSandboxBlueprintAbi,
561
+ functionName: "getServiceStats"
562
+ });
563
+ return {
564
+ totalSandboxes: Number(totalSandboxes),
565
+ totalCapacity: Number(totalCapacity)
566
+ };
567
+ }
568
+ getResponseParamTypes(jobIndex) {
569
+ if (jobIndex === 0) return SandboxCreateResponseParamTypes;
570
+ return JsonResponseParamTypes;
571
+ }
572
+ };
573
+ //#endregion
574
+ //#region src/tangle/client.ts
575
+ function randomHexToken(bytes) {
576
+ if (typeof globalThis.crypto === "undefined" || typeof globalThis.crypto.getRandomValues !== "function") throw new Error("randomHexToken: globalThis.crypto.getRandomValues is unavailable; this runtime cannot generate cryptographically secure nonces. Run on a host with WebCrypto support (Node 20+, browsers, Workers).");
577
+ const buf = new Uint8Array(bytes);
578
+ globalThis.crypto.getRandomValues(buf);
579
+ return Array.from(buf).map((b) => b.toString(16).padStart(2, "0")).join("");
580
+ }
581
+ function attestationNonceFromOptions(options) {
582
+ const direct = options.confidential?.attestationNonce;
583
+ if (direct) return direct;
584
+ const profile = options.backend?.profile;
585
+ if (typeof profile === "object") return profile.confidential?.attestationNonce;
586
+ }
587
+ function withAttestationNonce(options) {
588
+ if (options.confidential?.attestationRefresh && !options.confidential.attestationNonce) return {
589
+ ...options,
590
+ confidential: {
591
+ ...options.confidential,
592
+ attestationNonce: randomHexToken(32)
593
+ }
594
+ };
595
+ const profile = options.backend?.profile;
596
+ if (options.backend && typeof profile === "object" && profile.confidential?.attestationRefresh && !profile.confidential.attestationNonce) return {
597
+ ...options,
598
+ backend: {
599
+ ...options.backend,
600
+ profile: {
601
+ ...profile,
602
+ confidential: {
603
+ ...profile.confidential,
604
+ attestationNonce: randomHexToken(32)
605
+ }
606
+ }
607
+ }
608
+ };
609
+ return options;
610
+ }
611
+ function requirePathGroup(match, index) {
612
+ const value = match[index];
613
+ if (value === void 0) throw new Error(`Path matcher missing group ${index}`);
614
+ return value;
615
+ }
616
+ var TangleSandboxClient = class {
617
+ chain;
618
+ sandboxes = /* @__PURE__ */ new Map();
619
+ operatorApiUrl;
620
+ operatorApiToken;
621
+ constructor(config) {
622
+ if (!config.privateKey && !config.wallet) throw new Error("TangleSandboxClient requires either privateKey or wallet");
623
+ this.chain = new TangleChainClient(config);
624
+ this.operatorApiUrl = config.operatorApiUrl?.replace(/\/+$/, "");
625
+ this.operatorApiToken = config.operatorApiToken;
626
+ }
627
+ /**
628
+ * Create a sandbox via on-chain job submission.
629
+ */
630
+ async create(options) {
631
+ const createOptions = withAttestationNonce(options ?? {});
632
+ const encoded = this.chain.encodeSandboxCreateInputs(createOptions);
633
+ const { result: _result, callId, blockNumber } = await this.chain.submitJobAndWait(0, encoded);
634
+ const resultBytes = await this.chain.getJobResult(callId, blockNumber);
635
+ let sandboxId;
636
+ let responseJson = {};
637
+ if (resultBytes) try {
638
+ const decoded = (await import("viem")).decodeAbiParameters(this.chain.getResponseParamTypes(0), resultBytes);
639
+ sandboxId = decoded[0];
640
+ try {
641
+ responseJson = JSON.parse(decoded[1]);
642
+ } catch {}
643
+ } catch {
644
+ throw new Error("Failed to decode create job result");
645
+ }
646
+ else throw new Error("No result returned from create job");
647
+ const runtimeUrl = responseJson.runtimeUrl ?? responseJson.sidecarUrl ?? responseJson.sidecar_url ?? "";
648
+ const runtimeToken = responseJson.token ?? responseJson.runtimeToken ?? responseJson.sidecarToken ?? "";
649
+ if (runtimeUrl && !runtimeToken) throw new Error("Create job returned a runtime URL without an auth token");
650
+ const entry = {
651
+ id: sandboxId,
652
+ runtimeUrl,
653
+ runtimeToken,
654
+ status: "running",
655
+ createdAt: /* @__PURE__ */ new Date(),
656
+ teeAttestationJson: responseJson.teeAttestationJson,
657
+ teePublicKeyJson: responseJson.teePublicKeyJson,
658
+ attestationNonce: attestationNonceFromOptions(createOptions)
659
+ };
660
+ this.sandboxes.set(sandboxId, entry);
661
+ const info = {
662
+ id: sandboxId,
663
+ name: options?.name,
664
+ status: "running",
665
+ connection: runtimeUrl ? {
666
+ runtimeUrl,
667
+ authToken: runtimeToken
668
+ } : void 0,
669
+ metadata: {
670
+ ...createOptions.metadata ?? {},
671
+ ...entry.teeAttestationJson ? { teeAttestationJson: entry.teeAttestationJson } : {},
672
+ ...entry.teePublicKeyJson ? { teePublicKeyJson: entry.teePublicKeyJson } : {},
673
+ ...entry.attestationNonce ? { attestationNonce: entry.attestationNonce } : {}
674
+ },
675
+ createdAt: entry.createdAt
676
+ };
677
+ return new SandboxInstance(this, info);
678
+ }
679
+ /**
680
+ * Route interception for SandboxInstance lifecycle calls.
681
+ *
682
+ * SandboxInstance calls this.client.fetch() for:
683
+ * - GET /v1/sandboxes/:id → return from local tracking
684
+ * - POST /v1/sandboxes/:id/stop → unsupported until blueprint exposes stop
685
+ * - POST /v1/sandboxes/:id/resume → unsupported until blueprint exposes resume
686
+ * - DELETE /v1/sandboxes/:id → on-chain JOB_SANDBOX_DELETE
687
+ */
688
+ async fetch(path, options) {
689
+ const method = options?.method ?? "GET";
690
+ const runtimeMatch = path.match(/^\/v1\/sandboxes\/([^/]+)\/runtime(\/.*)$/);
691
+ if (runtimeMatch) {
692
+ const id = decodeURIComponent(requirePathGroup(runtimeMatch, 1));
693
+ const runtimePath = requirePathGroup(runtimeMatch, 2);
694
+ return this.fetchRuntime(id, runtimePath, options);
695
+ }
696
+ const getMatch = path.match(/^\/v1\/sandboxes\/([^/]+)$/);
697
+ if (getMatch && method === "GET") {
698
+ const id = decodeURIComponent(requirePathGroup(getMatch, 1));
699
+ const entry = this.sandboxes.get(id);
700
+ if (!entry) return new Response(JSON.stringify({ error: "Not found" }), { status: 404 });
701
+ return new Response(JSON.stringify({
702
+ id: entry.id,
703
+ status: entry.status,
704
+ connection: entry.runtimeUrl ? {
705
+ runtimeUrl: entry.runtimeUrl,
706
+ authToken: entry.runtimeToken
707
+ } : void 0,
708
+ metadata: {
709
+ ...entry.teeAttestationJson ? { teeAttestationJson: entry.teeAttestationJson } : {},
710
+ ...entry.teePublicKeyJson ? { teePublicKeyJson: entry.teePublicKeyJson } : {},
711
+ ...entry.attestationNonce ? { attestationNonce: entry.attestationNonce } : {}
712
+ },
713
+ createdAt: entry.createdAt.toISOString()
714
+ }), {
715
+ status: 200,
716
+ headers: { "Content-Type": "application/json" }
717
+ });
718
+ }
719
+ const attestationMatch = path.match(/^\/v1\/sandboxes\/([^/]+)\/tee\/attestation$/);
720
+ if (attestationMatch && method === "GET") {
721
+ const id = decodeURIComponent(requirePathGroup(attestationMatch, 1));
722
+ if (this.operatorApiUrl) return this.fetchOperatorApi(`/api/sandboxes/${encodeURIComponent(id)}/tee/attestation`, options);
723
+ const response = await this.fetchRuntime(id, "/tee/attestation", {
724
+ ...options,
725
+ method: "GET"
726
+ });
727
+ if (!response.ok) return response;
728
+ const attestation = await response.json();
729
+ return new Response(JSON.stringify({
730
+ sandbox_id: id,
731
+ attestation
732
+ }), {
733
+ status: 200,
734
+ headers: { "Content-Type": "application/json" }
735
+ });
736
+ }
737
+ if (attestationMatch && method === "POST") {
738
+ if (this.operatorApiUrl) {
739
+ const id = decodeURIComponent(requirePathGroup(attestationMatch, 1));
740
+ return this.fetchOperatorApi(`/api/sandboxes/${encodeURIComponent(id)}/tee/attestation`, options);
741
+ }
742
+ return new Response(JSON.stringify({ error: "Nonce-bound TEE attestation requires the operator API and is not available through the direct sidecar Tangle client" }), {
743
+ status: 501,
744
+ headers: { "Content-Type": "application/json" }
745
+ });
746
+ }
747
+ const publicKeyMatch = path.match(/^\/v1\/sandboxes\/([^/]+)\/tee\/public-key$/);
748
+ if (publicKeyMatch && method === "GET") {
749
+ const id = decodeURIComponent(requirePathGroup(publicKeyMatch, 1));
750
+ if (this.operatorApiUrl) return this.fetchOperatorApi(`/api/sandboxes/${encodeURIComponent(id)}/tee/public-key`, options);
751
+ const response = await this.fetchRuntime(id, "/tee/public-key", {
752
+ ...options,
753
+ method: "GET"
754
+ });
755
+ if (!response.ok) return response;
756
+ const publicKey = await response.json();
757
+ return new Response(JSON.stringify({
758
+ sandbox_id: id,
759
+ public_key: publicKey
760
+ }), {
761
+ status: 200,
762
+ headers: { "Content-Type": "application/json" }
763
+ });
764
+ }
765
+ if (path.match(/^\/v1\/sandboxes\/([^/]+)\/stop$/) && method === "POST") return new Response(JSON.stringify({ error: "Sandbox stop is not exposed by the current Tangle blueprint" }), {
766
+ status: 501,
767
+ headers: { "Content-Type": "application/json" }
768
+ });
769
+ if (path.match(/^\/v1\/sandboxes\/([^/]+)\/resume$/) && method === "POST") return new Response(JSON.stringify({ error: "Sandbox resume is not exposed by the current Tangle blueprint" }), {
770
+ status: 501,
771
+ headers: { "Content-Type": "application/json" }
772
+ });
773
+ const deleteMatch = path.match(/^\/v1\/sandboxes\/([^/]+)$/);
774
+ if (deleteMatch && method === "DELETE") {
775
+ const id = decodeURIComponent(requirePathGroup(deleteMatch, 1));
776
+ const encoded = this.chain.encodeSandboxIdInputs(id);
777
+ await this.chain.submitJobAndWait(1, encoded);
778
+ const entry = this.sandboxes.get(id);
779
+ if (entry) entry.status = "deleted";
780
+ this.sandboxes.delete(id);
781
+ return new Response(null, { status: 204 });
782
+ }
783
+ throw new Error(`Operation not supported via on-chain client: ${method} ${path}`);
784
+ }
785
+ async fetchRuntime(sandboxId, runtimePath, options) {
786
+ const entry = this.sandboxes.get(sandboxId);
787
+ if (!entry?.runtimeUrl) return new Response(JSON.stringify({ error: "Sandbox runtime unavailable" }), {
788
+ status: 503,
789
+ headers: { "Content-Type": "application/json" }
790
+ });
791
+ const headers = new Headers(options?.headers);
792
+ headers.set("Authorization", `Bearer ${entry.runtimeToken}`);
793
+ const isFormDataBody = typeof FormData !== "undefined" && options?.body instanceof FormData;
794
+ if (!headers.has("Content-Type") && !isFormDataBody) headers.set("Content-Type", "application/json");
795
+ const method = options?.method ?? "GET";
796
+ return await fetch(`${entry.runtimeUrl.replace(/\/$/, "")}${runtimePath}`, {
797
+ ...options,
798
+ method,
799
+ headers
800
+ });
801
+ }
802
+ /**
803
+ * Get available capacity from the blueprint contract.
804
+ * Requires blueprintContractAddress in config.
805
+ */
806
+ async getAvailableCapacity() {
807
+ return this.chain.getAvailableCapacity();
808
+ }
809
+ /**
810
+ * Get service stats from the blueprint contract.
811
+ * Requires blueprintContractAddress in config.
812
+ */
813
+ async getServiceStats() {
814
+ return this.chain.getServiceStats();
815
+ }
816
+ async fetchOperatorApi(path, options) {
817
+ if (!this.operatorApiUrl) return new Response(JSON.stringify({ error: "Operator API URL is not configured" }), {
818
+ status: 501,
819
+ headers: { "Content-Type": "application/json" }
820
+ });
821
+ const headers = new Headers(options?.headers);
822
+ if (this.operatorApiToken && !headers.has("Authorization")) headers.set("Authorization", `Bearer ${this.operatorApiToken}`);
823
+ if (options?.body && !headers.has("Content-Type")) headers.set("Content-Type", "application/json");
824
+ return fetch(`${this.operatorApiUrl}${path}`, {
825
+ ...options,
826
+ headers
827
+ });
828
+ }
829
+ };
830
+ //#endregion
831
+ export { TANGLE_JOBS_CONTRACT as a, ITangleJobsAbi as c, SandboxCreateResponseParamTypes as d, SandboxIdParamTypes as f, TANGLE_CHAIN_ID as i, JsonResponseParamTypes as l, JOB_SANDBOX_CREATE as n, TANGLE_MAINNET_RPC as o, JOB_SANDBOX_DELETE as r, AgentSandboxBlueprintAbi as s, TangleSandboxClient as t, SandboxCreateParamTypes as u };