Transaction executed successfully

Transaction Details

Inspect execution, participants, message data, gas usage, events and raw transaction data.

Transaction hash
9A34D14DFECF87233FA1B3F75B131C0EC799D2A7BDB3C90E5ABB1165D6887585

Transaction overview

Status
Success
Execution completed
Block
#747727
Included in block
Message Type
m_addpkg
Primary message

Execution summary

TX INDEX
0
Position in block
GAS WANTED
46,308,122
Requested gas limit
GAS USED
23,154,091
Gas consumed
FEE
46309ugnot
Transaction fee

Participants

Sender
Package / Realm
Not available
Memo
None

Message

Message #1
m_addpkg
Caller
Arguments
g1ftls0ctrrj0y96sr9dq906j7gdqhg9exgcvaey

Execution log

msg:0,success:true,log:,events:[]

Events

No events emitted by this transaction.

Raw encoded transaction

CqJqCgwvdm0ubV9hZGRwa2cSkWoKKGcxZnRsczBjdHJyajB5OTZzcjlkcTkwNmo3Z2RxaGc5ZXhnY3ZhZXkS5GkKBmdyYzcyMRIeZ25vLmxhbmQvcC9ha2thZGlhL2JldGEvZ3JjNzIxGppQCg1iYXNpY19uZnQuZ25vEohQcGFja2FnZSBncmM3MjEKCmltcG9ydCAoCgkiY2hhaW4iCgkibWF0aC9vdmVyZmxvdyIKCSJzdHJjb252IgoKCSJnbm8ubGFuZC9wL250L2F2bC92MCIKCSJnbm8ubGFuZC9wL250L3VmbXQvdjAiCikKCnR5cGUgYmFzaWNORlQgc3RydWN0IHsKCW5hbWUgICAgICAgICAgICAgIHN0cmluZwoJc3ltYm9sICAgICAgICAgICAgc3RyaW5nCglvd25lcnMgICAgICAgICAgICBhdmwuVHJlZSAvLyB0b2tlbklkIC0+IE93bmVyQWRkcmVzcwoJYmFsYW5jZXMgICAgICAgICAgYXZsLlRyZWUgLy8gT3duZXJBZGRyZXNzIC0+IFRva2VuQ291bnQKCXRva2VuQXBwcm92YWxzICAgIGF2bC5UcmVlIC8vIFRva2VuSWQgLT4gQXBwcm92ZWRBZGRyZXNzCgl0b2tlblVSSXMgICAgICAgICBhdmwuVHJlZSAvLyBUb2tlbklkIC0+IFVSSXMKCW9wZXJhdG9yQXBwcm92YWxzIGF2bC5UcmVlIC8vICJPd25lckFkZHJlc3M6T3BlcmF0b3JBZGRyZXNzIiAtPiBib29sCn0KCi8vIFJldHVybnMgbmV3IGJhc2ljIE5GVApmdW5jIE5ld0Jhc2ljTkZUKG5hbWUgc3RyaW5nLCBzeW1ib2wgc3RyaW5nKSAqYmFzaWNORlQgewoJcmV0dXJuICZiYXNpY05GVHsKCQluYW1lOiAgIG5hbWUsCgkJc3ltYm9sOiBzeW1ib2wsCgoJCW93bmVyczogICAgICAgICAgICBhdmwuVHJlZXt9LAoJCWJhbGFuY2VzOiAgICAgICAgICBhdmwuVHJlZXt9LAoJCXRva2VuQXBwcm92YWxzOiAgICBhdmwuVHJlZXt9LAoJCXRva2VuVVJJczogICAgICAgICBhdmwuVHJlZXt9LAoJCW9wZXJhdG9yQXBwcm92YWxzOiBhdmwuVHJlZXt9LAoJfQp9CgpmdW5jIChzICpiYXNpY05GVCkgTmFtZSgpIHN0cmluZyAgICAgIHsgcmV0dXJuIHMubmFtZSB9CmZ1bmMgKHMgKmJhc2ljTkZUKSBTeW1ib2woKSBzdHJpbmcgICAgeyByZXR1cm4gcy5zeW1ib2wgfQpmdW5jIChzICpiYXNpY05GVCkgVG9rZW5Db3VudCgpIGludDY0IHsgcmV0dXJuIGludDY0KHMub3duZXJzLlNpemUoKSkgfQoKLy8gQmFsYW5jZU9mIHJldHVybnMgYmFsYW5jZSBvZiBpbnB1dCBhZGRyZXNzCmZ1bmMgKHMgKmJhc2ljTkZUKSBCYWxhbmNlT2YoYWRkciBhZGRyZXNzKSAoaW50NjQsIGVycm9yKSB7CglpZiBlcnIgOj0gaXNWYWxpZEFkZHJlc3MoYWRkcik7IGVyciAhPSBuaWwgewoJCXJldHVybiAwLCBlcnIKCX0KCgliYWxhbmNlIDo9IHMuYmFsYW5jZXMuR2V0KGFkZHIuU3RyaW5nKCkpCglpZiBiYWxhbmNlID09IG5pbCB7CgkJcmV0dXJuIDAsIG5pbAoJfQoKCXJldHVybiBiYWxhbmNlLihpbnQ2NCksIG5pbAp9CgovLyBPd25lck9mIHJldHVybnMgb3duZXIgb2YgaW5wdXQgdG9rZW4gaWQKZnVuYyAocyAqYmFzaWNORlQpIE93bmVyT2YodGlkIFRva2VuSUQpIChhZGRyZXNzLCBlcnJvcikgewoJb3duZXIgOj0gcy5vd25lcnMuR2V0KHN0cmluZyh0aWQpKQoJaWYgb3duZXIgPT0gbmlsIHsKCQlyZXR1cm4gIiIsIEVyckludmFsaWRUb2tlbklkCgl9CgoJcmV0dXJuIG93bmVyLihhZGRyZXNzKSwgbmlsCn0KCi8vIFRva2VuVVJJIHJldHVybnMgdGhlIFVSSSBvZiBpbnB1dCB0b2tlbiBpZApmdW5jIChzICpiYXNpY05GVCkgVG9rZW5VUkkodGlkIFRva2VuSUQpIChzdHJpbmcsIGVycm9yKSB7Cgl1cmkgOj0gcy50b2tlblVSSXMuR2V0KHRpZC5TdHJpbmcoKSkKCWlmIHVyaSA9PSBuaWwgewoJCXJldHVybiAiIiwgRXJySW52YWxpZFRva2VuSWQKCX0KCglyZXR1cm4gdXJpLihzdHJpbmcpLCBuaWwKfQoKLy8gU2V0VG9rZW5VUkkgc2V0cyB0aGUgVVJJIG9mIGEgdG9rZW4uIGNhbGxlciBtdXN0IGVxdWFsIHRoZSB0b2tlbidzCi8vIG93bmVyLiBUaGUgb3duaW5nIHJlYWxtJ3MgcHVibGljIHdyYXBwZXIgaXMgcmVzcG9uc2libGUgZm9yIGRlcml2aW5nCi8vIGNhbGxlciBmcm9tIHJsbS5QcmV2aW91cygpLkFkZHJlc3MoKSB1bmRlciBhbiBybG0uSXNDdXJyZW50KCkgZ3VhcmQKLy8gYmVmb3JlIGludm9raW5nIHRoaXMgbWV0aG9kOyB0aGlzIG1ldGhvZCB0cnVzdHMgdGhlIHN1cHBsaWVkIGNhbGxlci4KZnVuYyAocyAqYmFzaWNORlQpIFNldFRva2VuVVJJKGNhbGxlciBhZGRyZXNzLCB0aWQgVG9rZW5JRCwgdFVSSSBUb2tlblVSSSkgKGJvb2wsIGVycm9yKSB7CgkvLyBjaGVjayBmb3IgaW52YWxpZCBUb2tlbklECglpZiAhcy5leGlzdHModGlkKSB7CgkJcmV0dXJuIGZhbHNlLCBFcnJJbnZhbGlkVG9rZW5JZAoJfQoKCS8vIGNoZWNrIGZvciB0aGUgcmlnaHQgb3duZXIKCW93bmVyLCBlcnIgOj0gcy5Pd25lck9mKHRpZCkKCWlmIGVyciAhPSBuaWwgewoJCXJldHVybiBmYWxzZSwgZXJyCgl9CglpZiBjYWxsZXIgIT0gb3duZXIgewoJCXJldHVybiBmYWxzZSwgRXJyQ2FsbGVySXNOb3RPd25lcgoJfQoJcy50b2tlblVSSXMuU2V0KHRpZC5TdHJpbmcoKSwgdFVSSS5TdHJpbmcoKSkKCXJldHVybiB0cnVlLCBuaWwKfQoKLy8gSXNBcHByb3ZlZEZvckFsbCByZXR1cm5zIHRydWUgaWYgb3BlcmF0b3IgaXMgYXBwcm92ZWQgZm9yIGFsbCBieSB0aGUgb3duZXIuCi8vIE90aGVyd2lzZSwgcmV0dXJucyBmYWxzZQpmdW5jIChzICpiYXNpY05GVCkgSXNBcHByb3ZlZEZvckFsbChvd25lciwgb3BlcmF0b3IgYWRkcmVzcykgYm9vbCB7CglrZXkgOj0gb3duZXIuU3RyaW5nKCkgKyAiOiIgKyBvcGVyYXRvci5TdHJpbmcoKQoJYXBwcm92ZWQgOj0gcy5vcGVyYXRvckFwcHJvdmFscy5HZXQoa2V5KQoJaWYgYXBwcm92ZWQgPT0gbmlsIHsKCQlyZXR1cm4gZmFsc2UKCX0KCglyZXR1cm4gYXBwcm92ZWQuKGJvb2wpCn0KCi8vIEFwcHJvdmUgYXBwcm92ZXMgdGhlIGlucHV0IGFkZHJlc3MgZm9yIGEgcGFydGljdWxhciB0b2tlbi4gY2FsbGVyCi8vIG11c3QgYmUgdGhlIG93bmVyIE9SIGFuIG9wZXJhdG9yIGFwcHJvdmVkIGZvciBhbGwgb24gb3duZXIncyBiZWhhbGYuCi8vIFRoZSBvd25pbmcgcmVhbG0ncyB3cmFwcGVyIHZhbGlkYXRlcyBJc0N1cnJlbnQgYW5kIGRlcml2ZXMgY2FsbGVyCi8vIGZyb20gcmxtLlByZXZpb3VzKCkuQWRkcmVzcygpIGJlZm9yZSBjYWxsaW5nLgpmdW5jIChzICpiYXNpY05GVCkgQXBwcm92ZShjYWxsZXIsIHRvIGFkZHJlc3MsIHRpZCBUb2tlbklEKSBlcnJvciB7CglpZiBlcnIgOj0gaXNWYWxpZEFkZHJlc3ModG8pOyBlcnIgIT0gbmlsIHsKCQlyZXR1cm4gZXJyCgl9CgoJb3duZXIsIGVyciA6PSBzLk93bmVyT2YodGlkKQoJaWYgZXJyICE9IG5pbCB7CgkJcmV0dXJuIGVycgoJfQoJaWYgb3duZXIgPT0gdG8gewoJCXJldHVybiBFcnJBcHByb3ZhbFRvQ3VycmVudE93bmVyCgl9CgoJaWYgY2FsbGVyICE9IG93bmVyICYmICFzLklzQXBwcm92ZWRGb3JBbGwob3duZXIsIGNhbGxlcikgewoJCXJldHVybiBFcnJDYWxsZXJJc05vdE93bmVyT3JBcHByb3ZlZAoJfQoKCXRpZFN0ciA6PSB0aWQuU3RyaW5nKCkKCXMudG9rZW5BcHByb3ZhbHMuU2V0KHRpZFN0ciwgdG8pCgoJY2hhaW4uRW1pdCgKCQlBcHByb3ZhbEV2ZW50LAoJCSJzbHVnIiwgcy5zeW1ib2wsCgkJIm93bmVyIiwgb3duZXIuU3RyaW5nKCksCgkJInRvIiwgdG8uU3RyaW5nKCksCgkJInRva2VuSWQiLCB0aWRTdHIsCgkpCgoJcmV0dXJuIG5pbAp9CgovLyBHZXRBcHByb3ZlZCByZXR1cm4gdGhlIGFwcHJvdmVkIGFkZHJlc3MgZm9yIHRva2VuCmZ1bmMgKHMgKmJhc2ljTkZUKSBHZXRBcHByb3ZlZCh0aWQgVG9rZW5JRCkgKGFkZHJlc3MsIGVycm9yKSB7CglhZGRyIDo9IHMudG9rZW5BcHByb3ZhbHMuR2V0KHRpZC5TdHJpbmcoKSkKCWlmIGFkZHIgPT0gbmlsIHsKCQlyZXR1cm4gemVyb0FkZHJlc3MsIEVyclRva2VuSWROb3RIYXNBcHByb3ZlZAoJfQoKCXJldHVybiBhZGRyLihhZGRyZXNzKSwgbmlsCn0KCi8vIFNldEFwcHJvdmFsRm9yQWxsIGdyYW50cy9yZXZva2VzIG9wZXJhdG9yIHBlcm1pc3Npb24gYWNyb3NzIGFsbCBvZgovLyB0aGUgY2FsbGVyJ3MgdG9rZW5zLiBjYWxsZXIgaXMgdGhlIG93bmVyIHdob3NlIGFwcHJvdmFscyBhcmUgbXV0YXRlZDsKLy8gdGhlIG93bmluZyByZWFsbSdzIHdyYXBwZXIgZGVyaXZlcyBpdCBmcm9tIHJsbS5QcmV2aW91cygpLkFkZHJlc3MoKQovLyB1bmRlciBhbiBJc0N1cnJlbnQoKSBndWFyZC4KZnVuYyAocyAqYmFzaWNORlQpIFNldEFwcHJvdmFsRm9yQWxsKGNhbGxlciwgb3BlcmF0b3IgYWRkcmVzcywgYXBwcm92ZWQgYm9vbCkgZXJyb3IgewoJaWYgZXJyIDo9IGlzVmFsaWRBZGRyZXNzKG9wZXJhdG9yKTsgZXJyICE9IG5pbCB7CgkJcmV0dXJuIEVyckludmFsaWRBZGRyZXNzCgl9CglyZXR1cm4gcy5zZXRBcHByb3ZhbEZvckFsbChjYWxsZXIsIG9wZXJhdG9yLCBhcHByb3ZlZCkKfQoKLy8gU2FmZVRyYW5zZmVyRnJvbSB0cmFuc2ZlcnMgYSB0b2tlbiBmcm9tIGBmcm9tYCB0byBgdG9gLCBjaGVja2luZyB0aGF0Ci8vIGNvbnRyYWN0IHJlY2lwaWVudHMgYXJlIGF3YXJlIG9mIHRoZSBHUkM3MjEgcHJvdG9jb2wgdG8gcHJldmVudAovLyB0b2tlbnMgZnJvbSBiZWluZyBmb3JldmVyIGxvY2tlZC4gY2FsbGVyIG11c3QgYmUgdGhlIG93bmVyIG9yIGFuCi8vIGFwcHJvdmVkIG9wZXJhdG9yLiBUaGUgb3duaW5nIHJlYWxtJ3Mgd3JhcHBlciBkZXJpdmVzIGNhbGxlciBmcm9tCi8vIHJsbS5QcmV2aW91cygpLkFkZHJlc3MoKSB1bmRlciBhbiBJc0N1cnJlbnQoKSBndWFyZC4KZnVuYyAocyAqYmFzaWNORlQpIFNhZmVUcmFuc2ZlckZyb20oY2FsbGVyLCBmcm9tLCB0byBhZGRyZXNzLCB0aWQgVG9rZW5JRCkgZXJyb3IgewoJaWYgIXMuaXNBcHByb3ZlZE9yT3duZXIoY2FsbGVyLCB0aWQpIHsKCQlyZXR1cm4gRXJyQ2FsbGVySXNOb3RPd25lck9yQXBwcm92ZWQKCX0KCgllcnIgOj0gcy50cmFuc2Zlcihmcm9tLCB0bywgdGlkKQoJaWYgZXJyICE9IG5pbCB7CgkJcmV0dXJuIGVycgoJfQoKCWlmICFzLmNoZWNrT25HUkM3MjFSZWNlaXZlZChmcm9tLCB0bywgdGlkKSB7CgkJcmV0dXJuIEVyclRyYW5zZmVyVG9Ob25HUkM3MjFSZWNlaXZlcgoJfQoKCXJldHVybiBuaWwKfQoKLy8gVHJhbnNmZXJGcm9tIHRyYW5zZmVycyBhIHRva2VuIGZyb20gYGZyb21gIHRvIGB0b2AuIFNhbWUgY2FsbGVyCi8vIGNvbnRyYWN0IGFzIFNhZmVUcmFuc2ZlckZyb20uCmZ1bmMgKHMgKmJhc2ljTkZUKSBUcmFuc2ZlckZyb20oY2FsbGVyLCBmcm9tLCB0byBhZGRyZXNzLCB0aWQgVG9rZW5JRCkgZXJyb3IgewoJaWYgIXMuaXNBcHByb3ZlZE9yT3duZXIoY2FsbGVyLCB0aWQpIHsKCQlyZXR1cm4gRXJyQ2FsbGVySXNOb3RPd25lck9yQXBwcm92ZWQKCX0KCgllcnIgOj0gcy50cmFuc2Zlcihmcm9tLCB0bywgdGlkKQoJaWYgZXJyICE9IG5pbCB7CgkJcmV0dXJuIGVycgoJfQoKCXJldHVybiBuaWwKfQoKLy8gTWludHMgYHRva2VuSWRgIGFuZCB0cmFuc2ZlcnMgaXQgdG8gYHRvYC4KZnVuYyAocyAqYmFzaWNORlQpIE1pbnQodG8gYWRkcmVzcywgdGlkIFRva2VuSUQpIGVycm9yIHsKCXJldHVybiBzLm1pbnQodG8sIHRpZCkKfQoKLy8gTWludHMgYHRva2VuSWRgIGFuZCB0cmFuc2ZlcnMgaXQgdG8gYHRvYC4gQWxzbyBjaGVja3MgdGhhdAovLyBjb250cmFjdCByZWNpcGllbnRzIGFyZSB1c2luZyBHUkM3MjEgcHJvdG9jb2wKZnVuYyAocyAqYmFzaWNORlQpIFNhZmVNaW50KHRvIGFkZHJlc3MsIHRpZCBUb2tlbklEKSBlcnJvciB7CgllcnIgOj0gcy5taW50KHRvLCB0aWQpCglpZiBlcnIgIT0gbmlsIHsKCQlyZXR1cm4gZXJyCgl9CgoJaWYgIXMuY2hlY2tPbkdSQzcyMVJlY2VpdmVkKHplcm9BZGRyZXNzLCB0bywgdGlkKSB7CgkJcmV0dXJuIEVyclRyYW5zZmVyVG9Ob25HUkM3MjFSZWNlaXZlcgoJfQoKCXJldHVybiBuaWwKfQoKZnVuYyAocyAqYmFzaWNORlQpIEJ1cm4odGlkIFRva2VuSUQpIGVycm9yIHsKCW93bmVyLCBlcnIgOj0gcy5Pd25lck9mKHRpZCkKCWlmIGVyciAhPSBuaWwgewoJCXJldHVybiBlcnIKCX0KCglzLmJlZm9yZVRva2VuVHJhbnNmZXIob3duZXIsIHplcm9BZGRyZXNzLCB0aWQsIDEpCgoJdGlkU3RyIDo9IHRpZC5TdHJpbmcoKQoJcy50b2tlbkFwcHJvdmFscy5SZW1vdmUodGlkU3RyKQoJYmFsYW5jZSwgZXJyIDo9IHMuQmFsYW5jZU9mKG93bmVyKQoJaWYgZXJyICE9IG5pbCB7CgkJcmV0dXJuIGVycgoJfQoJYmFsYW5jZSA9IG92ZXJmbG93LlN1YjY0cChiYWxhbmNlLCAxKQoKCW93bmVyU3RyIDo9IG93bmVyLlN0cmluZygpCglzLmJhbGFuY2VzLlNldChvd25lclN0ciwgYmFsYW5jZSkKCXMub3duZXJzLlJlbW92ZSh0aWRTdHIpCgoJY2hhaW4uRW1pdCgKCQlCdXJuRXZlbnQsCgkJInNsdWciLCBzLnN5bWJvbCwKCQkiZnJvbSIsIG93bmVyU3RyLAoJCSJ0b2tlbklkIiwgdGlkU3RyLAoJKQoKCXMuYWZ0ZXJUb2tlblRyYW5zZmVyKG93bmVyLCB6ZXJvQWRkcmVzcywgdGlkLCAxKQoKCXJldHVybiBuaWwKfQoKLyogSGVscGVyIG1ldGhvZHMgKi8KCi8vIEhlbHBlciBmb3IgU2V0QXBwcm92YWxGb3JBbGwoKQpmdW5jIChzICpiYXNpY05GVCkgc2V0QXBwcm92YWxGb3JBbGwob3duZXIsIG9wZXJhdG9yIGFkZHJlc3MsIGFwcHJvdmVkIGJvb2wpIGVycm9yIHsKCWlmIG93bmVyID09IG9wZXJhdG9yIHsKCQlyZXR1cm4gRXJyQXBwcm92YWxUb0N1cnJlbnRPd25lcgoJfQoKCWtleSA6PSBvd25lci5TdHJpbmcoKSArICI6IiArIG9wZXJhdG9yLlN0cmluZygpCglzLm9wZXJhdG9yQXBwcm92YWxzLlNldChrZXksIGFwcHJvdmVkKQoKCWNoYWluLkVtaXQoCgkJQXBwcm92YWxGb3JBbGxFdmVudCwKCQkic2x1ZyIsIHMuc3ltYm9sLAoJCSJvd25lciIsIG93bmVyLlN0cmluZygpLAoJCSJ0byIsIG9wZXJhdG9yLlN0cmluZygpLAoJCSJhcHByb3ZlZCIsIHN0cmNvbnYuRm9ybWF0Qm9vbChhcHByb3ZlZCksCgkpCgoJcmV0dXJuIG5pbAp9CgovLyBIZWxwZXIgZm9yIFRyYW5zZmVyRnJvbSgpIGFuZCBTYWZlVHJhbnNmZXJGcm9tKCkKZnVuYyAocyAqYmFzaWNORlQpIHRyYW5zZmVyKGZyb20sIHRvIGFkZHJlc3MsIHRpZCBUb2tlbklEKSBlcnJvciB7CglpZiBlcnIgOj0gaXNWYWxpZEFkZHJlc3MoZnJvbSk7IGVyciAhPSBuaWwgewoJCXJldHVybiBFcnJJbnZhbGlkQWRkcmVzcwoJfQoJaWYgZXJyIDo9IGlzVmFsaWRBZGRyZXNzKHRvKTsgZXJyICE9IG5pbCB7CgkJcmV0dXJuIEVyckludmFsaWRBZGRyZXNzCgl9CgoJaWYgZnJvbSA9PSB0byB7CgkJcmV0dXJuIEVyckNhbm5vdFRyYW5zZmVyVG9TZWxmCgl9CgoJb3duZXIsIGVyciA6PSBzLk93bmVyT2YodGlkKQoJaWYgZXJyICE9IG5pbCB7CgkJcmV0dXJuIGVycgoJfQoJaWYgb3duZXIgIT0gZnJvbSB7CgkJcmV0dXJuIEVyclRyYW5zZmVyRnJvbUluY29ycmVjdE93bmVyCgl9CgoJcy5iZWZvcmVUb2tlblRyYW5zZmVyKGZyb20sIHRvLCB0aWQsIDEpCgoJLy8gQ2hlY2sgdGhhdCB0b2tlbklkIHdhcyBub3QgdHJhbnNmZXJyZWQgYnkgYGJlZm9yZVRva2VuVHJhbnNmZXJgCglvd25lciwgZXJyID0gcy5Pd25lck9mKHRpZCkKCWlmIGVyciAhPSBuaWwgewoJCXJldHVybiBlcnIKCX0KCWlmIG93bmVyICE9IGZyb20gewoJCXJldHVybiBFcnJUcmFuc2ZlckZyb21JbmNvcnJlY3RPd25lcgoJfQoKCXRpZFN0ciA6PSB0aWQuU3RyaW5nKCkKCXMudG9rZW5BcHByb3ZhbHMuUmVtb3ZlKHRpZFN0cikKCWZyb21CYWxhbmNlLCBlcnIgOj0gcy5CYWxhbmNlT2YoZnJvbSkKCWlmIGVyciAhPSBuaWwgewoJCXJldHVybiBlcnIKCX0KCXRvQmFsYW5jZSwgZXJyIDo9IHMuQmFsYW5jZU9mKHRvKQoJaWYgZXJyICE9IG5pbCB7CgkJcmV0dXJuIGVycgoJfQoJZnJvbUJhbGFuY2UgPSBvdmVyZmxvdy5TdWI2NHAoZnJvbUJhbGFuY2UsIDEpCgl0b0JhbGFuY2UgPSBvdmVyZmxvdy5BZGQ2NHAodG9CYWxhbmNlLCAxKQoKCWZyb21TdHIgOj0gZnJvbS5TdHJpbmcoKQoJdG9TdHIgOj0gdG8uU3RyaW5nKCkKCglzLmJhbGFuY2VzLlNldChmcm9tU3RyLCBmcm9tQmFsYW5jZSkKCXMuYmFsYW5jZXMuU2V0KHRvU3RyLCB0b0JhbGFuY2UpCglzLm93bmVycy5TZXQodGlkU3RyLCB0bykKCgljaGFpbi5FbWl0KAoJCVRyYW5zZmVyRXZlbnQsCgkJInNsdWciLCBzLnN5bWJvbCwKCQkiZnJvbSIsIGZyb21TdHIsCgkJInRvIiwgdG9TdHIsCgkJInRva2VuSWQiLCB0aWRTdHIsCgkpCgoJcy5hZnRlclRva2VuVHJhbnNmZXIoZnJvbSwgdG8sIHRpZCwgMSkKCglyZXR1cm4gbmlsCn0KCi8vIEhlbHBlciBmb3IgTWludCgpIGFuZCBTYWZlTWludCgpCmZ1bmMgKHMgKmJhc2ljTkZUKSBtaW50KHRvIGFkZHJlc3MsIHRpZCBUb2tlbklEKSBlcnJvciB7CglpZiBlcnIgOj0gaXNWYWxpZEFkZHJlc3ModG8pOyBlcnIgIT0gbmlsIHsKCQlyZXR1cm4gZXJyCgl9CgoJaWYgcy5leGlzdHModGlkKSB7CgkJcmV0dXJuIEVyclRva2VuSWRBbHJlYWR5RXhpc3RzCgl9CgoJcy5iZWZvcmVUb2tlblRyYW5zZmVyKHplcm9BZGRyZXNzLCB0bywgdGlkLCAxKQoKCS8vIENoZWNrIHRoYXQgdG9rZW5JZCB3YXMgbm90IG1pbnRlZCBieSBgYmVmb3JlVG9rZW5UcmFuc2ZlcmAKCWlmIHMuZXhpc3RzKHRpZCkgewoJCXJldHVybiBFcnJUb2tlbklkQWxyZWFkeUV4aXN0cwoJfQoKCXRvQmFsYW5jZSwgZXJyIDo9IHMuQmFsYW5jZU9mKHRvKQoJaWYgZXJyICE9IG5pbCB7CgkJcmV0dXJuIGVycgoJfQoJdG9CYWxhbmNlID0gb3ZlcmZsb3cuQWRkNjRwKHRvQmFsYW5jZSwgMSkKCXRvU3RyIDo9IHRvLlN0cmluZygpCgl0aWRTdHIgOj0gdGlkLlN0cmluZygpCglzLmJhbGFuY2VzLlNldCh0b1N0ciwgdG9CYWxhbmNlKQoJcy5vd25lcnMuU2V0KHRpZFN0ciwgdG8pCgoJY2hhaW4uRW1pdCgKCQlNaW50RXZlbnQsCgkJInNsdWciLCBzLnN5bWJvbCwKCQkidG8iLCB0b1N0ciwKCQkidG9rZW5JZCIsIHRpZFN0ciwKCSkKCglzLmFmdGVyVG9rZW5UcmFuc2Zlcih6ZXJvQWRkcmVzcywgdG8sIHRpZCwgMSkKCglyZXR1cm4gbmlsCn0KCmZ1bmMgKHMgKmJhc2ljTkZUKSBpc0FwcHJvdmVkT3JPd25lcihhZGRyIGFkZHJlc3MsIHRpZCBUb2tlbklEKSBib29sIHsKCW93bmVyIDo9IHMub3duZXJzLkdldCh0aWQuU3RyaW5nKCkpCglpZiBvd25lciA9PSBuaWwgewoJCXJldHVybiBmYWxzZQoJfQoKCW93bmVyQWRkciA6PSBvd25lci4oYWRkcmVzcykKCWlmIGFkZHIgPT0gb3duZXJBZGRyIHx8IHMuSXNBcHByb3ZlZEZvckFsbChvd25lckFkZHIsIGFkZHIpIHsKCQlyZXR1cm4gdHJ1ZQoJfQoKCWFwcHJvdmVkLCBlcnIgOj0gcy5HZXRBcHByb3ZlZCh0aWQpCglpZiBlcnIgIT0gbmlsIHsKCQlyZXR1cm4gZmFsc2UKCX0KCglyZXR1cm4gYXBwcm92ZWQgPT0gYWRkcgp9CgovLyBDaGVja3MgaWYgdG9rZW4gaWQgYWxyZWFkeSBleGlzdHMKZnVuYyAocyAqYmFzaWNORlQpIGV4aXN0cyh0aWQgVG9rZW5JRCkgYm9vbCB7CglyZXR1cm4gcy5vd25lcnMuSGFzKHRpZC5TdHJpbmcoKSkKfQoKZnVuYyAocyAqYmFzaWNORlQpIGJlZm9yZVRva2VuVHJhbnNmZXIoZnJvbSwgdG8gYWRkcmVzcywgZmlyc3RUb2tlbklkIFRva2VuSUQsIGJhdGNoU2l6ZSBpbnQ2NCkgewoJLy8gVE9ETzogSW1wbGVtZW50YXRpb24KfQoKZnVuYyAocyAqYmFzaWNORlQpIGFmdGVyVG9rZW5UcmFuc2Zlcihmcm9tLCB0byBhZGRyZXNzLCBmaXJzdFRva2VuSWQgVG9rZW5JRCwgYmF0Y2hTaXplIGludDY0KSB7CgkvLyBUT0RPOiBJbXBsZW1lbnRhdGlvbgp9CgpmdW5jIChzICpiYXNpY05GVCkgY2hlY2tPbkdSQzcyMVJlY2VpdmVkKGZyb20sIHRvIGFkZHJlc3MsIHRpZCBUb2tlbklEKSBib29sIHsKCS8vIFRPRE86IEltcGxlbWVudGF0aW9uCglyZXR1cm4gdHJ1ZQp9CgpmdW5jIChzICpiYXNpY05GVCkgUmVuZGVySG9tZSgpIChzdHIgc3RyaW5nKSB7CglzdHIgKz0gdWZtdC5TcHJpbnRmKCIjICVzICgkJXMpXG5cbiIsIHMubmFtZSwgcy5zeW1ib2wpCglzdHIgKz0gdWZtdC5TcHJpbnRmKCIqICoqVG90YWwgc3VwcGx5Kio6ICVkXG4iLCBzLlRva2VuQ291bnQoKSkKCXN0ciArPSB1Zm10LlNwcmludGYoIiogKipLbm93biBhY2NvdW50cyoqOiAlZFxuIiwgcy5iYWxhbmNlcy5TaXplKCkpCgoJcmV0dXJuCn0KCi8vIEdldHRlciByZXR1cm5zIGFuIE5GVEdldHRlciB0aGF0IHlpZWxkcyBhIHJlYWRlci1vbmx5IHZpZXcgb2YgdGhlIE5GVC4KLy8gU2FmZSB0byByZWdpc3RlciB3aXRoIGNyb3NzLXJlYWxtIGFnZ3JlZ2F0b3JzIGxpa2UgdG9rZW5odWIg4oCUIHJlYWRlcnMKLy8gb25seSwgbm8gcmxtLXR5cGVkIG1ldGhvZHMsIHNvIG5vIGN1ciBjYW4gYmUgY2FwdHVyZWQgdmlhIHRoaXMgc3VyZmFjZS4KZnVuYyAobiAqYmFzaWNORlQpIEdldHRlcigpIE5GVEdldHRlciB7CglyZXR1cm4gZnVuYygpIElHUkM3MjFSZWFkZXIgewoJCXJldHVybiBuCgl9Cn0KGoEJCgplcnJvcnMuZ25vEvIIcGFja2FnZSBncmM3MjEKCmltcG9ydCAiZXJyb3JzIgoKdmFyICgKCUVyckludmFsaWRUb2tlbklkICAgICAgICAgICAgICA9IGVycm9ycy5OZXcoImludmFsaWQgdG9rZW4gaWQiKQoJRXJySW52YWxpZEFkZHJlc3MgICAgICAgICAgICAgID0gZXJyb3JzLk5ldygiaW52YWxpZCBhZGRyZXNzIikKCUVyclRva2VuSWROb3RIYXNBcHByb3ZlZCAgICAgICA9IGVycm9ycy5OZXcoInRva2VuIGlkIG5vdCBhcHByb3ZlZCBmb3IgYW55b25lIikKCUVyckFwcHJvdmFsVG9DdXJyZW50T3duZXIgICAgICA9IGVycm9ycy5OZXcoImFwcHJvdmFsIHRvIGN1cnJlbnQgb3duZXIiKQoJRXJyQ2FsbGVySXNOb3RPd25lciAgICAgICAgICAgID0gZXJyb3JzLk5ldygiY2FsbGVyIGlzIG5vdCB0b2tlbiBvd25lciIpCglFcnJDYWxsZXJOb3RBcHByb3ZlZEZvckFsbCAgICAgPSBlcnJvcnMuTmV3KCJjYWxsZXIgaXMgbm90IGFwcHJvdmVkIGZvciBhbGwiKQoJRXJyQ2Fubm90VHJhbnNmZXJUb1NlbGYgICAgICAgID0gZXJyb3JzLk5ldygiY2Fubm90IHNlbmQgdHJhbnNmZXIgdG8gc2VsZiIpCglFcnJUcmFuc2ZlckZyb21JbmNvcnJlY3RPd25lciAgPSBlcnJvcnMuTmV3KCJ0cmFuc2ZlciBmcm9tIGluY29ycmVjdCBvd25lciIpCglFcnJUcmFuc2ZlclRvTm9uR1JDNzIxUmVjZWl2ZXIgPSBlcnJvcnMuTmV3KCJ0cmFuc2ZlciB0byBub24gR1JDNzIxUmVjZWl2ZXIgaW1wbGVtZW50ZXIiKQoJRXJyQ2FsbGVySXNOb3RPd25lck9yQXBwcm92ZWQgID0gZXJyb3JzLk5ldygiY2FsbGVyIGlzIG5vdCB0b2tlbiBvd25lciBvciBhcHByb3ZlZCIpCglFcnJUb2tlbklkQWxyZWFkeUV4aXN0cyAgICAgICAgPSBlcnJvcnMuTmV3KCJ0b2tlbiBpZCBhbHJlYWR5IGV4aXN0cyIpCgoJLy8gRVJDNzIxUm95YWx0eQoJRXJySW52YWxpZFJveWFsdHlQZXJjZW50YWdlICAgICA9IGVycm9ycy5OZXcoImludmFsaWQgcm95YWx0eSBwZXJjZW50YWdlIikKCUVyckludmFsaWRSb3lhbHR5UGF5bWVudEFkZHJlc3MgPSBlcnJvcnMuTmV3KCJpbnZhbGlkIHJveWFsdHkgcGF5bWVudEFkZHJlc3MiKQoJRXJyQ2Fubm90Q2FsY3VsYXRlUm95YWx0eUFtb3VudCA9IGVycm9ycy5OZXcoImNhbm5vdCBjYWxjdWxhdGUgcm95YWx0eSBhbW91bnQiKQopChpFCgtnbm9tb2QudG9tbBI2bW9kdWxlID0gImduby5sYW5kL3AvYWtrYWRpYS9iZXRhL2dyYzcyMSIKZ25vID0gIjAuOSIKGsINCgtpZ3JjNzIxLmdubxKyDXBhY2thZ2UgZ3JjNzIxCgovLyBJR1JDNzIxUmVhZGVyIGlzIHRoZSByZWFkLW9ubHkgdmlldyBvZiBhbiBORlQuIFNhZmUgdG8gcmVjZWl2ZSBhY3Jvc3MKLy8gcmVhbG0gYm91bmRhcmllcyDigJQgaGFzIG5vIHJsbS10eXBlZCBtZXRob2RzLCBzbyBhIG1hbGljaW91cyBpbXBsIGNhbgovLyBvbmx5IGxpZSBhYm91dCByZWFkIHJlc3VsdHMgKGRhdGEtaW50ZWdyaXR5IGlzc3VlKSwgbm90IGNhcHR1cmUgY3VyLgovLwovLyBXcml0ZXMgYXJlIGNvbmNyZXRlIG1ldGhvZHMgb24gKmJhc2ljTkZUIG9ubHkg4oCUIHRoZXJlIGlzIG5vIElHUkM3MjEKLy8gd3JpdGVyIGludGVyZmFjZS4gVGhlIG93bmluZyByZWFsbSBzaG91bGQKLy8gaG9sZCB0aGUgY29uY3JldGUgKmJhc2ljTkZUIGluIGFuIHVuZXhwb3J0ZWQgcGFja2FnZSB2YXIgYW5kIGV4cG9zZQovLyBwdWJsaWMgcmxtLXZhbGlkYXRpbmcgd3JhcHBlcnMgbGlrZToKLy8KLy8JZnVuYyBUcmFuc2ZlckZyb20oY3VyIHJlYWxtLCBmcm9tLCB0byBhZGRyZXNzLCB0aWQgVG9rZW5JRCkgZXJyb3IgewovLwkJY2FsbGVyIDo9IGN1ci5QcmV2aW91cygpLkFkZHJlc3MoKQovLwkJcmV0dXJuIG5mdC5UcmFuc2ZlckZyb20oY2FsbGVyLCBmcm9tLCB0bywgdGlkKQovLwl9Ci8vCi8vIFRoaXMgaXMgdGhlIFJlYWRlci9Xcml0ZXIgc3BsaXQg4oCUIHN0cm9uZ2VyIHRoYW4gdGhlIEF1dGhvcml0eS1wYXR0ZXJuCi8vIGJlY2F1c2UgdGhlIHdyaXRlciBpbnRlcmZhY2UgZG9lc24ndCBleGlzdCBhdCBhbGwsIHNvIG5vIHJlYWxtIGF1dGhvcgovLyBjYW4gYWNjaWRlbnRhbGx5IGV4cG9zZSBpdC4gU2VlIGByL2RlbW8vZm9vNzIxYCBmb3IgdGhlIGNhbm9uaWNhbAovLyB3cmFwcGVyIHBhdHRlcm4uCnR5cGUgSUdSQzcyMVJlYWRlciBpbnRlcmZhY2UgewoJTmFtZSgpIHN0cmluZwoJU3ltYm9sKCkgc3RyaW5nCglUb2tlbkNvdW50KCkgaW50NjQKCUJhbGFuY2VPZihvd25lciBhZGRyZXNzKSAoaW50NjQsIGVycm9yKQoJT3duZXJPZih0aWQgVG9rZW5JRCkgKGFkZHJlc3MsIGVycm9yKQoJR2V0QXBwcm92ZWQodGlkIFRva2VuSUQpIChhZGRyZXNzLCBlcnJvcikKCUlzQXBwcm92ZWRGb3JBbGwob3duZXIsIG9wZXJhdG9yIGFkZHJlc3MpIGJvb2wKfQoKdHlwZSAoCglUb2tlbklEICBzdHJpbmcKCVRva2VuVVJJIHN0cmluZwopCgpmdW5jICh0IFRva2VuSUQpIFN0cmluZygpIHN0cmluZyAgeyByZXR1cm4gc3RyaW5nKHQpIH0KZnVuYyAodCBUb2tlblVSSSkgU3RyaW5nKCkgc3RyaW5nIHsgcmV0dXJuIHN0cmluZyh0KSB9Cgpjb25zdCAoCglNaW50RXZlbnQgICAgICAgICAgID0gIk1pbnQiCglCdXJuRXZlbnQgICAgICAgICAgID0gIkJ1cm4iCglUcmFuc2ZlckV2ZW50ICAgICAgID0gIlRyYW5zZmVyIgoJQXBwcm92YWxFdmVudCAgICAgICA9ICJBcHByb3ZhbCIKCUFwcHJvdmFsRm9yQWxsRXZlbnQgPSAiQXBwcm92YWxGb3JBbGwiCikKCi8vIE5GVEdldHRlciByZXR1cm5zIGEgcmVhZGVyLW9ubHkgdmlldyBvZiBhbiBORlQuIEFnZ3JlZ2F0b3JzIChzdWNoIGFzCi8vIHRva2VuaHViKSByZWdpc3RlciBhbmQgZGlzcGF0Y2ggTkZUR2V0dGVyczsgdGhlIHJlYWRlci1vbmx5IHJldHVybgovLyB0eXBlIG1lYW5zIGV2ZW4gYSBtYWxpY2lvdXMgYWdncmVnYXRvciBjYW4ndCBiZSB1c2VkIHRvIGxlYWsgY3VyLgp0eXBlIE5GVEdldHRlciBmdW5jKCkgSUdSQzcyMVJlYWRlcgoa6AEKCHV0aWwuZ25vEtsBcGFja2FnZSBncmM3MjEKCnZhciB6ZXJvQWRkcmVzcyA9IGFkZHJlc3MoIiIpCgpmdW5jIGlzVmFsaWRBZGRyZXNzKGFkZHIgYWRkcmVzcykgZXJyb3IgewoJaWYgIWFkZHIuSXNWYWxpZCgpIHsKCQlyZXR1cm4gRXJySW52YWxpZEFkZHJlc3MKCX0KCXJldHVybiBuaWwKfQoKZnVuYyBlbWl0KGV2ZW50IGFueSkgewoJLy8gVE9ETzogc2V0dXAgYSBwdWJzdWIgc3lzdGVtIGhlcmU/Cn0KIiIKEy9nbm8uTWVtUGFja2FnZVR5cGUSCwoJTVBVc2VyQWxsEhEItOyULBIKNDYzMDl1Z25vdBqoAQo6ChMvdG0uUHViS2V5U2VjcDI1NmsxEiMKIQItRS2vq8g7O+I4ZvJRzWH7jH0BzvxYjnsf41ryBRUbwxJAk2bVBBSAELUOSAz5w814C18JNMwYGxpcf1tX1sAdA+JOO6DbNiGwhA04fSiAsPppFIBhnDhm2GCMASKAOmC65xooZzFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFsdXV4ZQ==

Raw transaction data

Raw JSON data