Transaction executed successfully
Transaction Details
Inspect execution, participants, message data, gas usage, events and raw transaction data.
Transaction hash
B325114BD4E59F11D6D87B9382B8568538FEB495A97C1EBAD0F8AB16F2962803
Transaction overview
Execution summary
TX INDEX
0
Position in block
GAS WANTED
18,511,516
Requested gas limit
GAS USED
15,426,214
Gas consumed
FEE
1000000ugnot
Transaction fee
Participants
Message
Message #1
m_addpkg
Arguments
g1manfred47kzduec920z88wfr64ylksmdcedlf5
Execution log
msg:0,success:true,log:,events:[]
Events
No events emitted by this transaction.
Raw encoded transaction
CsVDCgwvdm0ubV9hZGRwa2cStEMKKGcxbWFuZnJlZDQ3a3pkdWVjOTIwejg4d2ZyNjR5bGtzbWRjZWRsZjUSh0MKCHZlc3Rva2VuEiNnbm8ubGFuZC9yL21vdWwveC9kYWlseS92ZXN0b2tlbi92MBrnBwoJUkVBRE1FLm1kEtkHIyB2ZXN0b2tlbgoKPiDimqDvuI8gKipFeHBlcmltZW50YWwg4oCUIGdlbmVyYXRlZCB3aXRoIG5vIGh1bWFuIHN1cGVydmlzaW9uLioqIFRoaXMgcmVhbG0gd2FzCj4gcHJvZHVjZWQgYXV0b21hdGljYWxseSBieSBhbiBNQ1AtZHJpdmVuIGFnZW50IHRvIGV4ZXJjaXNlIHRoZSBnbm8gTUNQIHNlcnZlcgo+IGFuZCB0b29saW5nLCBhbmQgdG8gZ2VuZXJhdGUgdGVzdCBjb250ZW50IGZvciBnbm8gY29tcGlsZXJzLCBsaW50ZXJzIGFuZAo+IGZvcm1hdHRlcnMuICoqTm90IGF1ZGl0ZWQuIE5vdCBmb3IgcHJvZHVjdGlvbi4qKiBGdWxsIGNvbnRleHQgJiBmb2xkZXIgUkVBRE1FOgo+IFtyL21vdWwveC9kYWlseV0oaHR0cHM6Ly9naXRodWIuY29tL21vdWwvZ25vLWNvbnRyYWN0cy9ibG9iL21haW4vci9tb3VsL3gvZGFpbHkvUkVBRE1FLm1kKQoKLS0tCgo8IS0tIEJFR0lOIEdOT0NPTlRSQUNUUyBGT09URVIgKGdlbmVyYXRlZCBieSBgbWFrZSByZWFkbWVzYDsgZG8gbm90IGVkaXQgYmVsb3cpIC0tPgoKLS0tCgpQYXJ0IG9mICoqW21vdWwvZ25vLWNvbnRyYWN0c10oaHR0cHM6Ly9naXRodWIuY29tL21vdWwvZ25vLWNvbnRyYWN0cykqKiDigJQgbW91bCdzIHZlcnNpb25lZCBnbm8ubGFuZCBjb250cmFjdHMuIFNlZSB0aGUgcmVwb3NpdG9yeSBmb3IgdGhlIGZ1bGwgY2F0YWxvZywgYnVpbGQvdGVzdCB0b29saW5nLCBhbmQgdXNhZ2UuCgo+IPCfp6ogKipIaWdobHkgZXhwZXJpbWVudGFsIOKAlCBwb3RlbnRpYWxseSB2aWJlLWNvZGVkLioqIE5vdCBhdWRpdGVkOyBtYXkgYnJlYWssIGNoYW5nZSwgb3IgYmUgcmVtb3ZlZCBhdCBhbnkgdGltZS4gRG8gbm90IHVzZSB3aXRoIGFueXRoaW5nIG9mIHZhbHVlLiBGdWxsIGRpc2NsYWltZXI6IFtESVNDTEFJTUVSXShodHRwczovL2dpdGh1Yi5jb20vbW91bC9nbm8tY29udHJhY3RzL2Jsb2IvbWFpbi9ESVNDTEFJTUVSLm1kKS4KCjwhLS0gRU5EIEdOT0NPTlRSQUNUUyBGT09URVIgLS0+ChpKCgtnbm9tb2QudG9tbBI7bW9kdWxlID0gImduby5sYW5kL3IvbW91bC94L2RhaWx5L3Zlc3Rva2VuL3YwIgpnbm8gPSAiMC45Igoa+jkKDHZlc3Rva2VuLmdubxLpOS8vIFBhY2thZ2UgdmVzdG9rZW4gaXMgYSBmdW5naWJsZSB0b2tlbiB3aGVyZSBuZXcgc3VwcGx5IGlzIG5ldmVyIGhhbmRlZCBvdXQKLy8gaW5zdGFudGx5IOKAlCBpdCBwb3J0cyB0aGUgaWRlYSBiZWhpbmQgU29saWRpdHkncyBWZXN0aW5nV2FsbGV0IC8gbGluZWFyCi8vIHRva2VuLXN0cmVhbWluZyBjb250cmFjdHMgKGUuZy4gU2FibGllcikgaW50byBhIHNpbmdsZSBnbm8ubGFuZCByZWFsbS4KLy8KLy8gTWludFZlc3RlZCBvcGVucyBhIGxpbmVhciB2ZXN0aW5nIGdyYW50IGluc3RlYWQgb2YgY3JlZGl0aW5nIGEgYmFsYW5jZQovLyBkaXJlY3RseS4gVGhlIGJlbmVmaWNpYXJ5IGNhbGxzIENsYWltIG92ZXIgdGltZSB0byBwdWxsIHdoYXRldmVyIGhhcwovLyB1bmxvY2tlZCBzbyBmYXIgaW50byB0aGVpciBsaXF1aWQsIHRyYW5zZmVyYWJsZSBiYWxhbmNlLiBTdGF0ZSBpcwovLyBwYWNrYWdlLWxldmVsIGFuZCBwZXJzaXN0ZW50OyBzdGF0ZS1tdXRhdGluZyBmdW5jdGlvbnMgYXJlIGNyb3NzaW5nCi8vIGZ1bmN0aW9ucyAoYGN1ciByZWFsbWApIHBlciB0aGUgZ25vIDAuOSBpbnRlcnJlYWxtIGNvbnZlbnRpb24uCnBhY2thZ2UgdmVzdG9rZW4KCmltcG9ydCAoCgkiY2hhaW4vcnVudGltZSIKCSJlcnJvcnMiCgkic29ydCIKCSJzdHJjb252IgoJInN0cmluZ3MiCikKCmNvbnN0ICgKCW5hbWUgICA9ICJWZXN0VG9rZW4iCglzeW1ib2wgPSAiVkVTVCIKKQoKLy8gZ3JhbnQgaXMgb25lIGxpbmVhciB2ZXN0aW5nIHNjaGVkdWxlOiBgdG90YWxgIHVubG9ja3MgZXZlbmx5IGZyb20gYHN0YXJ0YAovLyB0byBgc3RhcnQrZHVyYXRpb25gIChtZWFzdXJlZCBpbiBibG9jayBoZWlnaHQpLCBhbmQgYGNsYWltZWRgIHRyYWNrcyBob3cKLy8gbXVjaCBvZiB0aGUgdW5sb2NrZWQgYW1vdW50IHRoZSBiZW5lZmljaWFyeSBoYXMgYWxyZWFkeSBwdWxsZWQuCnR5cGUgZ3JhbnQgc3RydWN0IHsKCXRvdGFsICAgIHVpbnQ2NAoJY2xhaW1lZCAgdWludDY0CglzdGFydCAgICBpbnQ2NAoJZHVyYXRpb24gaW50NjQKfQoKdmFyICgKCS8vIGJhbGFuY2VzIGhvbGRzIGxpcXVpZCwgYWxyZWFkeS1jbGFpbWVkIHRva2VucyDigJQgdHJhbnNmZXJhYmxlIGxpa2UgYQoJLy8gbm9ybWFsIEVSQy0yMCBiYWxhbmNlLgoJYmFsYW5jZXMgPSBtYXBbYWRkcmVzc111aW50NjR7fQoJLy8gZ3JhbnRzIGhvbGRzIGF0IG1vc3Qgb25lIGFjdGl2ZSB2ZXN0aW5nIHNjaGVkdWxlIHBlciBiZW5lZmljaWFyeS4KCWdyYW50cyA9IG1hcFthZGRyZXNzXSpncmFudHt9CgkvLyB0b3RhbFN1cHBseSBpcyBldmVyeSB0b2tlbiBldmVyIG1pbnRlZCAodmVzdGluZyBvciBsaXF1aWQpLgoJdG90YWxTdXBwbHkgdWludDY0CikKCnZhciAoCgllcnJaZXJvQWRkcmVzcyAgID0gZXJyb3JzLk5ldygidmVzdG9rZW46IHplcm8gYWRkcmVzcyIpCgllcnJaZXJvQW1vdW50ICAgID0gZXJyb3JzLk5ldygidmVzdG9rZW46IGFtb3VudCBtdXN0IGJlIHBvc2l0aXZlIikKCWVyclplcm9EdXJhdGlvbiAgPSBlcnJvcnMuTmV3KCJ2ZXN0b2tlbjogZHVyYXRpb24gbXVzdCBiZSBwb3NpdGl2ZSIpCgllcnJHcmFudEFjdGl2ZSAgID0gZXJyb3JzLk5ldygidmVzdG9rZW46IGJlbmVmaWNpYXJ5IGFscmVhZHkgaGFzIGFuIHVuY2xhaW1lZCBncmFudCIpCgllcnJOb0dyYW50ICAgICAgID0gZXJyb3JzLk5ldygidmVzdG9rZW46IG5vIGFjdGl2ZSBncmFudCBmb3IgdGhpcyBhY2NvdW50IikKCWVyckluc3VmZmljaWVudCAgPSBlcnJvcnMuTmV3KCJ2ZXN0b2tlbjogaW5zdWZmaWNpZW50IGJhbGFuY2UiKQoJZXJyT3ZlcmZsb3cgICAgICA9IGVycm9ycy5OZXcoInZlc3Rva2VuOiBzdXBwbHkgb3ZlcmZsb3ciKQoJZXJyU3Bvb2ZlZFJlYWxtICA9IGVycm9ycy5OZXcoInZlc3Rva2VuOiBzcG9vZmVkIHJlYWxtIikKCWVyck5vdFVzZXIgICAgICAgPSBlcnJvcnMuTmV3KCJ2ZXN0b2tlbjogY2FsbGVyIGlzIG5vdCBhIHVzZXIgYWNjb3VudCIpCikKCi8vIGNhbGxlciByZXR1cm5zIHRoZSBpbW1lZGlhdGUgY2FsbGVyJ3MgYWRkcmVzcyBmb3IgYSBjcm9zc2luZyBmdW5jdGlvbiwKLy8gZW5mb3JjaW5nIHRoZSBnbm8gMC45IGF1dGhlbnRpY2F0aW9uIHByaW1pdGl2ZTogY3VyIG11c3QgYmUgdGhlIGxpdmUKLy8gY3Jvc3NpbmcgZnJhbWUgYmVmb3JlIGl0cyBQcmV2aW91cygpIGlzIHRydXN0ZWQuCmZ1bmMgY2FsbGVyKGN1ciByZWFsbSkgYWRkcmVzcyB7CglpZiAhY3VyLklzQ3VycmVudCgpIHsKCQlwYW5pYyhlcnJTcG9vZmVkUmVhbG0pCgl9CglwcmV2IDo9IGN1ci5QcmV2aW91cygpCglpZiAhcHJldi5Jc1VzZXIoKSB7CgkJcGFuaWMoZXJyTm90VXNlcikKCX0KCXJldHVybiBwcmV2LkFkZHJlc3MoKQp9CgovLyBNaW50VmVzdGVkIG9wZW5zIGEgbmV3IGxpbmVhciB2ZXN0aW5nIGdyYW50IGZvciBgdG9gOiBgYW1vdW50YCB0b2tlbnMKLy8gdW5sb2NrIGJsb2NrLWJ5LWJsb2NrIG92ZXIgdGhlIG5leHQgYGR1cmF0aW9uQmxvY2tzYCBibG9ja3MsIHN0YXJ0aW5nIG5vdy4KLy8gQSBiZW5lZmljaWFyeSBtYXkgb25seSBob2xkIG9uZSBhY3RpdmUgZ3JhbnQgYXQgYSB0aW1lLiBDcm9zc2luZyBmdW5jdGlvbi4KZnVuYyBNaW50VmVzdGVkKGN1ciByZWFsbSwgdG8gYWRkcmVzcywgYW1vdW50IHVpbnQ2NCwgZHVyYXRpb25CbG9ja3MgaW50NjQpIHsKCV8gPSBjYWxsZXIoY3VyKSAvLyBhdXRoZW50aWNhdGUgdGhlIGNyb3NzaW5nIGZyYW1lOyBhbnlvbmUgbWF5IG9wZW4gYSBncmFudCBpbiB0aGlzIGRlbW8KCWlmICF0by5Jc1ZhbGlkKCkgewoJCXBhbmljKGVyclplcm9BZGRyZXNzKQoJfQoJaWYgYW1vdW50ID09IDAgewoJCXBhbmljKGVyclplcm9BbW91bnQpCgl9CglpZiBkdXJhdGlvbkJsb2NrcyA8PSAwIHsKCQlwYW5pYyhlcnJaZXJvRHVyYXRpb24pCgl9CglpZiBnLCBvayA6PSBncmFudHNbdG9dOyBvayAmJiBnLmNsYWltZWQgPCBnLnRvdGFsIHsKCQlwYW5pYyhlcnJHcmFudEFjdGl2ZSkKCX0KCWlmIHRvdGFsU3VwcGx5K2Ftb3VudCA8IHRvdGFsU3VwcGx5IHsKCQlwYW5pYyhlcnJPdmVyZmxvdykKCX0KCXRvdGFsU3VwcGx5ICs9IGFtb3VudAoJZ3JhbnRzW3RvXSA9ICZncmFudHsKCQl0b3RhbDogICAgYW1vdW50LAoJCXN0YXJ0OiAgICBydW50aW1lLkNoYWluSGVpZ2h0KCksCgkJZHVyYXRpb246IGR1cmF0aW9uQmxvY2tzLAoJfQp9CgovLyBDbGFpbSBwdWxscyB3aGF0ZXZlciBoYXMgdW5sb2NrZWQgc28gZmFyIGZyb20gdGhlIGNhbGxlcidzIGdyYW50IGludG8KLy8gdGhlaXIgbGlxdWlkIGJhbGFuY2UsIGFuZCByZXR1cm5zIGhvdyBtdWNoIHdhcyBjbGFpbWVkLiBDcm9zc2luZyBmdW5jdGlvbi4KZnVuYyBDbGFpbShjdXIgcmVhbG0pIHVpbnQ2NCB7Cgl3aG8gOj0gY2FsbGVyKGN1cikKCWcsIG9rIDo9IGdyYW50c1t3aG9dCglpZiAhb2sgewoJCXBhbmljKGVyck5vR3JhbnQpCgl9CgoJdW5sb2NrZWQgOj0gdmVzdGVkQW1vdW50KGcsIHJ1bnRpbWUuQ2hhaW5IZWlnaHQoKSkKCWNsYWltYWJsZSA6PSB1bmxvY2tlZCAtIGcuY2xhaW1lZAoJaWYgY2xhaW1hYmxlID09IDAgewoJCXJldHVybiAwCgl9CgoJZy5jbGFpbWVkID0gdW5sb2NrZWQKCWJhbGFuY2VzW3dob10gKz0gY2xhaW1hYmxlCglpZiBnLmNsYWltZWQgPj0gZy50b3RhbCB7CgkJZGVsZXRlKGdyYW50cywgd2hvKQoJfQoJcmV0dXJuIGNsYWltYWJsZQp9CgovLyB2ZXN0ZWRBbW91bnQgY29tcHV0ZXMgaG93IG11Y2ggb2YgZyBoYXMgdW5sb2NrZWQgYnkgdGhlIGdpdmVuIGhlaWdodC4KZnVuYyB2ZXN0ZWRBbW91bnQoZyAqZ3JhbnQsIGhlaWdodCBpbnQ2NCkgdWludDY0IHsKCWVsYXBzZWQgOj0gaGVpZ2h0IC0gZy5zdGFydAoJaWYgZWxhcHNlZCA8PSAwIHsKCQlyZXR1cm4gMAoJfQoJaWYgZWxhcHNlZCA+PSBnLmR1cmF0aW9uIHsKCQlyZXR1cm4gZy50b3RhbAoJfQoJcmV0dXJuIGcudG90YWwgKiB1aW50NjQoZWxhcHNlZCkgLyB1aW50NjQoZy5kdXJhdGlvbikKfQoKLy8gVHJhbnNmZXIgbW92ZXMgYGFtb3VudGAgb2YgdGhlIGNhbGxlcidzIGxpcXVpZCAoYWxyZWFkeS1jbGFpbWVkKSBiYWxhbmNlCi8vIHRvIGB0b2AuIENyb3NzaW5nIGZ1bmN0aW9uLgpmdW5jIFRyYW5zZmVyKGN1ciByZWFsbSwgdG8gYWRkcmVzcywgYW1vdW50IHVpbnQ2NCkgewoJZnJvbSA6PSBjYWxsZXIoY3VyKQoJaWYgIXRvLklzVmFsaWQoKSB7CgkJcGFuaWMoZXJyWmVyb0FkZHJlc3MpCgl9CglpZiBhbW91bnQgPT0gMCB7CgkJcmV0dXJuCgl9CglpZiBiYWxhbmNlc1tmcm9tXSA8IGFtb3VudCB7CgkJcGFuaWMoZXJySW5zdWZmaWNpZW50KQoJfQoJYmFsYW5jZXNbZnJvbV0gLT0gYW1vdW50CgliYWxhbmNlc1t0b10gKz0gYW1vdW50Cn0KCi8vIEJhbGFuY2VPZiByZXR1cm5zIHRoZSBsaXF1aWQgKGNsYWltZWQsIHRyYW5zZmVyYWJsZSkgYmFsYW5jZSBvZiBob2xkZXIuCmZ1bmMgQmFsYW5jZU9mKGhvbGRlciBhZGRyZXNzKSB1aW50NjQgewoJcmV0dXJuIGJhbGFuY2VzW2hvbGRlcl0KfQoKLy8gR3JhbnRPZiByZXR1cm5zIHRoZSBiZW5lZmljaWFyeSdzIGFjdGl2ZSBncmFudCwgaWYgYW55OiB0b3RhbCBhbW91bnQsCi8vIGFtb3VudCBjbGFpbWVkIHNvIGZhciwgYW5kIHRoZSBhbW91bnQgY3VycmVudGx5IGNsYWltYWJsZS4KZnVuYyBHcmFudE9mKGJlbmVmaWNpYXJ5IGFkZHJlc3MpICh0b3RhbCB1aW50NjQsIGNsYWltZWQgdWludDY0LCBjbGFpbWFibGUgdWludDY0KSB7CglnLCBvayA6PSBncmFudHNbYmVuZWZpY2lhcnldCglpZiAhb2sgewoJCXJldHVybiAwLCAwLCAwCgl9Cgl1bmxvY2tlZCA6PSB2ZXN0ZWRBbW91bnQoZywgcnVudGltZS5DaGFpbkhlaWdodCgpKQoJcmV0dXJuIGcudG90YWwsIGcuY2xhaW1lZCwgdW5sb2NrZWQgLSBnLmNsYWltZWQKfQoKLy8gVG90YWxTdXBwbHkgcmV0dXJucyBldmVyeSB0b2tlbiBldmVyIG1pbnRlZCwgdmVzdGluZyBvciBsaXF1aWQuCmZ1bmMgVG90YWxTdXBwbHkoKSB1aW50NjQgeyByZXR1cm4gdG90YWxTdXBwbHkgfQoKLy8gTmFtZSByZXR1cm5zIHRoZSB0b2tlbiBuYW1lLgpmdW5jIE5hbWUoKSBzdHJpbmcgeyByZXR1cm4gbmFtZSB9CgovLyBTeW1ib2wgcmV0dXJucyB0aGUgdG9rZW4gc3ltYm9sLgpmdW5jIFN5bWJvbCgpIHN0cmluZyB7IHJldHVybiBzeW1ib2wgfQoKLy8gUmVuZGVyIHByb2R1Y2VzIHRoZSBnbm93ZWIgTWFya2Rvd24gdmlldzogbWV0YWRhdGEsIGFjdGl2ZSB2ZXN0aW5nCi8vIGdyYW50cywgYW5kIGxpcXVpZCBiYWxhbmNlcyDigJQgYm90aCB0YWJsZXMgc29ydGVkIGJ5IGFkZHJlc3MgZm9yCi8vIGRldGVybWluaXN0aWMgb3V0cHV0LiBSZW5kZXIgaXMgTk9UIGEgY3Jvc3NpbmcgZnVuY3Rpb24uCmZ1bmMgUmVuZGVyKHBhdGggc3RyaW5nKSBzdHJpbmcgewoJdmFyIGIgc3RyaW5ncy5CdWlsZGVyCgoJYi5Xcml0ZVN0cmluZygiIyAiICsgbmFtZSArICIgKCIgKyBzeW1ib2wgKyAiKVxuXG4iKQoJYi5Xcml0ZVN0cmluZygiQSBsaW5lYXJseS12ZXN0aW5nIEVSQy0yMC1zdHlsZSB0b2tlbiBvbiBnbm8ubGFuZCDigJQgIikKCWIuV3JpdGVTdHJpbmcoIm5ldyBzdXBwbHkgdW5sb2NrcyBibG9jay1ieS1ibG9jayBpbnN0ZWFkIG9mIGxhbmRpbmcgaW5zdGFudGx5LlxuXG4iKQoJYi5Xcml0ZVN0cmluZygiLSAqKk5hbWU6KiogIiArIG5hbWUgKyAiXG4iKQoJYi5Xcml0ZVN0cmluZygiLSAqKlN5bWJvbDoqKiAiICsgc3ltYm9sICsgIlxuIikKCWIuV3JpdGVTdHJpbmcoIi0gKipUb3RhbCBzdXBwbHk6KiogIiArIHN0cmNvbnYuRm9ybWF0VWludCh0b3RhbFN1cHBseSwgMTApICsgIlxuIikKCWIuV3JpdGVTdHJpbmcoIi0gKipDdXJyZW50IGhlaWdodDoqKiAiICsgc3RyY29udi5Gb3JtYXRJbnQocnVudGltZS5DaGFpbkhlaWdodCgpLCAxMCkgKyAiXG5cbiIpCgoJYi5Xcml0ZVN0cmluZygiIyMgQWN0aXZlIGdyYW50c1xuXG4iKQoJZ3JhbnRLZXlzIDo9IHNvcnRlZEFkZHJLZXlzKGdyYW50QWRkcnMoKSkKCWlmIGxlbihncmFudEtleXMpID09IDAgewoJCWIuV3JpdGVTdHJpbmcoIl9ObyBhY3RpdmUgZ3JhbnRzIOKAlCBjYWxsIGBNaW50VmVzdGVkYCB0byBvcGVuIG9uZS5fXG5cbiIpCgl9IGVsc2UgewoJCWIuV3JpdGVTdHJpbmcoInwgQmVuZWZpY2lhcnkgfCBUb3RhbCB8IENsYWltZWQgfCBDbGFpbWFibGUgbm93IHxcbiIpCgkJYi5Xcml0ZVN0cmluZygifCAtLS0gfCAtLS06IHwgLS0tOiB8IC0tLTogfFxuIikKCQlmb3IgXywgayA6PSByYW5nZSBncmFudEtleXMgewoJCQlnIDo9IGdyYW50c1thZGRyZXNzKGspXQoJCQl1bmxvY2tlZCA6PSB2ZXN0ZWRBbW91bnQoZywgcnVudGltZS5DaGFpbkhlaWdodCgpKQoJCQliLldyaXRlU3RyaW5nKCJ8IGAiICsgayArICJgIHwgIiArCgkJCQlzdHJjb252LkZvcm1hdFVpbnQoZy50b3RhbCwgMTApICsgIiB8ICIgKwoJCQkJc3RyY29udi5Gb3JtYXRVaW50KGcuY2xhaW1lZCwgMTApICsgIiB8ICIgKwoJCQkJc3RyY29udi5Gb3JtYXRVaW50KHVubG9ja2VkLWcuY2xhaW1lZCwgMTApICsgIiB8XG4iKQoJCX0KCQliLldyaXRlU3RyaW5nKCJcbiIpCgl9CgoJYi5Xcml0ZVN0cmluZygiIyMgTGlxdWlkIGJhbGFuY2VzXG5cbiIpCgliYWxLZXlzIDo9IHNvcnRlZEFkZHJLZXlzKGJhbGFuY2VBZGRycygpKQoJaWYgbGVuKGJhbEtleXMpID09IDAgewoJCWIuV3JpdGVTdHJpbmcoIl9ObyBjbGFpbWVkIGJhbGFuY2VzIHlldCDigJQgY2FsbCBgQ2xhaW1gIG9uY2UgYSBncmFudCBoYXMgdW5sb2NrZWQuX1xuIikKCQlyZXR1cm4gYi5TdHJpbmcoKQoJfQoJYi5Xcml0ZVN0cmluZygifCBBZGRyZXNzIHwgQW1vdW50IHxcbiIpCgliLldyaXRlU3RyaW5nKCJ8IC0tLSB8IC0tLTogfFxuIikKCWZvciBfLCBrIDo9IHJhbmdlIGJhbEtleXMgewoJCWIuV3JpdGVTdHJpbmcoInwgYCIgKyBrICsgImAgfCAiICsKCQkJc3RyY29udi5Gb3JtYXRVaW50KGJhbGFuY2VzW2FkZHJlc3MoayldLCAxMCkgKyAiIHxcbiIpCgl9CgoJcmV0dXJuIGIuU3RyaW5nKCkKfQoKZnVuYyBncmFudEFkZHJzKCkgW11zdHJpbmcgewoJa2V5cyA6PSBtYWtlKFtdc3RyaW5nLCAwLCBsZW4oZ3JhbnRzKSkKCWZvciBhZGRyIDo9IHJhbmdlIGdyYW50cyB7CgkJa2V5cyA9IGFwcGVuZChrZXlzLCBhZGRyLlN0cmluZygpKQoJfQoJcmV0dXJuIGtleXMKfQoKZnVuYyBiYWxhbmNlQWRkcnMoKSBbXXN0cmluZyB7CglrZXlzIDo9IG1ha2UoW11zdHJpbmcsIDAsIGxlbihiYWxhbmNlcykpCglmb3IgYWRkciwgYmFsIDo9IHJhbmdlIGJhbGFuY2VzIHsKCQlpZiBiYWwgPT0gMCB7CgkJCWNvbnRpbnVlCgkJfQoJCWtleXMgPSBhcHBlbmQoa2V5cywgYWRkci5TdHJpbmcoKSkKCX0KCXJldHVybiBrZXlzCn0KCmZ1bmMgc29ydGVkQWRkcktleXMoa2V5cyBbXXN0cmluZykgW11zdHJpbmcgewoJc29ydC5TdHJpbmdzKGtleXMpCglyZXR1cm4ga2V5cwp9CiIjChMvZ25vLk1lbVBhY2thZ2VUeXBlEgwKCk1QVXNlclByb2QSEwi42tMREgwxMDAwMDAwdWdub3QaqAEKOgoTL3RtLlB1YktleVNlY3AyNTZrMRIjCiECAFJKP40sADqJxD9F/q9uuO1FtuOjX3u+aztJ/54tg8gSQMWBuTMPGEZV4rcm298JiCos1qMZTs489e/hSpT86x5rBRRjrXuXq0ykdDmDTTVSMWPWXRJlE08RVwIHHBeTffEaKGcxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxbHV1eGUiCmdub3B1Ymxpc2g=