{ "name": "LootBoxCommitReveal", "structs": {}, "methods": [ { "name": "createApplication", "args": [ { "type": "address", "name": "treasury" }, { "type": "uint64", "name": "price" }, { "type": "uint64", "name": "beaconApp" }, { "type": "uint64", "name": "beaconCadence" } ], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "configure", "args": [ { "type": "address", "name": "treasury" }, { "type": "uint64", "name": "price" }, { "type": "uint64", "name": "beaconApp" }, { "type": "uint64", "name": "beaconCadence" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "commit", "args": [ { "type": "pay", "name": "payment" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [ { "name": "Committed", "args": [ { "type": "address", "name": "account" }, { "type": "uint64", "name": "target" } ] } ], "recommendations": {} }, { "name": "reveal", "args": [], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [ { "name": "Revealed", "args": [ { "type": "address", "name": "account" }, { "type": "uint64", "name": "target" }, { "type": "uint64", "name": "value" } ] } ], "recommendations": {} }, { "name": "reclaim", "args": [ { "type": "address", "name": "account" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "withdraw", "args": [ { "type": "uint64", "name": "amount" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} } ], "arcs": [ 22, 28 ], "networks": {}, "state": { "schema": { "global": { "ints": 3, "bytes": 1 }, "local": { "ints": 0, "bytes": 0 } }, "keys": { "global": { "treasuryAddress": { "keyType": "AVMString", "valueType": "address", "key": "dHJlYXN1cnk=" }, "cratePrice": { "keyType": "AVMString", "valueType": "AVMUint64", "key": "cHJpY2U=" }, "beaconApp": { "keyType": "AVMString", "valueType": "AVMUint64", "key": "YmVhY29u" }, "beaconCadence": { "keyType": "AVMString", "valueType": "AVMUint64", "key": "Y2FkZW5jZQ==" } }, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": { "commitTarget": { "keyType": "address", "valueType": "uint64", "prefix": "Yw==" } } } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 246 ], "errorMessage": "Active commit exists \u2014 reveal or reclaim first" }, { "pc": [ 459 ], "errorMessage": "Beacon app id is required" }, { "pc": [ 462 ], "errorMessage": "Beacon cadence must be positive" }, { "pc": [ 298 ], "errorMessage": "Beacon round not reached yet" }, { "pc": [ 361 ], "errorMessage": "Bytes has valid prefix" }, { "pc": [ 308 ], "errorMessage": "Commit expired \u2014 call reclaim() and recommit" }, { "pc": [ 415 ], "errorMessage": "Commit has not expired yet" }, { "pc": [ 456 ], "errorMessage": "Crate price must be positive" }, { "pc": [ 288 ], "errorMessage": "No active commit to reveal" }, { "pc": [ 402 ], "errorMessage": "No commit to reclaim" }, { "pc": [ 49 ], "errorMessage": "OnCompletion must be NoOp" }, { "pc": [ 192 ], "errorMessage": "Only the creator can configure" }, { "pc": [ 434 ], "errorMessage": "Only the creator can withdraw" }, { "pc": [ 229 ], "errorMessage": "Payment is below the crate price" }, { "pc": [ 219 ], "errorMessage": "Payment must go to the treasury" }, { "pc": [ 236 ], "errorMessage": "Payment sender must match the caller" }, { "pc": [ 217, 227, 252, 317 ], "errorMessage": "check GlobalState exists" }, { "pc": [ 119, 159, 394 ], "errorMessage": "invalid number of bytes for arc4.static_array" }, { "pc": [ 127, 136, 145, 167, 176, 185, 427 ], "errorMessage": "invalid number of bytes for arc4.uint64" }, { "pc": [ 207 ], "errorMessage": "transaction type is pay" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMSA4IDAgMzIKICAgIGJ5dGVjYmxvY2sgImMiICJ0cmVhc3VyeSIgInByaWNlIiAiY2FkZW5jZSIgImJlYWNvbiIgMHgxNTFmN2M3NQogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NTEKICAgIC8vIGV4cG9ydCBjbGFzcyBMb290Qm94Q29tbWl0UmV2ZWFsIGV4dGVuZHMgQ29udHJhY3QgewogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgYXNzZXJ0IC8vIE9uQ29tcGxldGlvbiBtdXN0IGJlIE5vT3AKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBieiBtYWluX2NyZWF0ZV9Ob09wQDkKICAgIHB1c2hieXRlc3MgMHg2NzY1MmJjMCAweDI3YTM1OGRiIDB4NzUwZWM5YjUgMHg3YWU5ZTk0MyAweDIxZjFkZGZmIC8vIG1ldGhvZCAiY29uZmlndXJlKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIsIG1ldGhvZCAiY29tbWl0KHBheSl2b2lkIiwgbWV0aG9kICJyZXZlYWwoKXVpbnQ2NCIsIG1ldGhvZCAicmVjbGFpbShhZGRyZXNzKXZvaWQiLCBtZXRob2QgIndpdGhkcmF3KHVpbnQ2NCl2b2lkIgogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAogICAgbWF0Y2ggY29uZmlndXJlIGNvbW1pdCByZXZlYWwgcmVjbGFpbSB3aXRoZHJhdwogICAgZXJyCgptYWluX2NyZWF0ZV9Ob09wQDk6CiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo1MQogICAgLy8gZXhwb3J0IGNsYXNzIExvb3RCb3hDb21taXRSZXZlYWwgZXh0ZW5kcyBDb250cmFjdCB7CiAgICBwdXNoYnl0ZXMgMHhiODFlMDVkYSAvLyBtZXRob2QgImNyZWF0ZUFwcGxpY2F0aW9uKGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQpdm9pZCIKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDAKICAgIG1hdGNoIGNyZWF0ZUFwcGxpY2F0aW9uCiAgICBlcnIKCgovLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo6TG9vdEJveENvbW1pdFJldmVhbC5jcmVhdGVBcHBsaWNhdGlvbltyb3V0aW5nXSgpIC0+IHZvaWQ6CmNyZWF0ZUFwcGxpY2F0aW9uOgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NTkKICAgIC8vIEBhYmltZXRob2QoeyBvbkNyZWF0ZTogJ3JlcXVpcmUnIH0pCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDMyCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnN0YXRpY19hcnJheTxhcmM0LnVpbnQ4LCAzMj4KICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDMKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDQKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjYxCiAgICAvLyB0aGlzLnNldENvbmZpZyh0cmVhc3VyeSwgcHJpY2UsIGJlYWNvbkFwcCwgYmVhY29uQ2FkZW5jZSkKICAgIGNhbGxzdWIgc2V0Q29uZmlnCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo1OQogICAgLy8gQGFiaW1ldGhvZCh7IG9uQ3JlYXRlOiAncmVxdWlyZScgfSkKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo6TG9vdEJveENvbW1pdFJldmVhbC5jb25maWd1cmVbcm91dGluZ10oKSAtPiB2b2lkOgpjb25maWd1cmU6CiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo2NAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIGxlbgogICAgaW50Y18zIC8vIDMyCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnN0YXRpY19hcnJheTxhcmM0LnVpbnQ4LCAzMj4KICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDIKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDMKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDQKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzEgLy8gOAogICAgPT0KICAgIGFzc2VydCAvLyBpbnZhbGlkIG51bWJlciBvZiBieXRlcyBmb3IgYXJjNC51aW50NjQKICAgIGJ0b2kKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjY2CiAgICAvLyBhc3NlcnQoVHhuLnNlbmRlciA9PT0gR2xvYmFsLmNyZWF0b3JBZGRyZXNzLCAnT25seSB0aGUgY3JlYXRvciBjYW4gY29uZmlndXJlJykKICAgIHR4biBTZW5kZXIKICAgIGdsb2JhbCBDcmVhdG9yQWRkcmVzcwogICAgPT0KICAgIGFzc2VydCAvLyBPbmx5IHRoZSBjcmVhdG9yIGNhbiBjb25maWd1cmUKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjY3CiAgICAvLyB0aGlzLnNldENvbmZpZyh0cmVhc3VyeSwgcHJpY2UsIGJlYWNvbkFwcCwgYmVhY29uQ2FkZW5jZSkKICAgIGNhbGxzdWIgc2V0Q29uZmlnCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo2NAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6Okxvb3RCb3hDb21taXRSZXZlYWwuY29tbWl0W3JvdXRpbmddKCkgLT4gdm9pZDoKY29tbWl0OgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NzAKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuIEdyb3VwSW5kZXgKICAgIGludGNfMCAvLyAxCiAgICAtCiAgICBkdXAKICAgIGd0eG5zIFR5cGVFbnVtCiAgICBpbnRjXzAgLy8gcGF5CiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgcGF5CiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo3MgogICAgLy8gY29uc3QgYWNjb3VudCA9IFR4bi5zZW5kZXIKICAgIHR4biBTZW5kZXIKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjc2CiAgICAvLyBhc3NlcnQocGF5bWVudC5yZWNlaXZlciA9PT0gdGhpcy50cmVhc3VyeUFkZHJlc3MudmFsdWUsICdQYXltZW50IG11c3QgZ28gdG8gdGhlIHRyZWFzdXJ5JykKICAgIGRpZyAxCiAgICBndHhucyBSZWNlaXZlcgogICAgaW50Y18yIC8vIDAKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjU0CiAgICAvLyB0cmVhc3VyeUFkZHJlc3MgPSBHbG9iYWxTdGF0ZTxBY2NvdW50Pih7IGtleTogJ3RyZWFzdXJ5JyB9KQogICAgYnl0ZWNfMSAvLyAidHJlYXN1cnkiCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo3NgogICAgLy8gYXNzZXJ0KHBheW1lbnQucmVjZWl2ZXIgPT09IHRoaXMudHJlYXN1cnlBZGRyZXNzLnZhbHVlLCAnUGF5bWVudCBtdXN0IGdvIHRvIHRoZSB0cmVhc3VyeScpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgPT0KICAgIGFzc2VydCAvLyBQYXltZW50IG11c3QgZ28gdG8gdGhlIHRyZWFzdXJ5CiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo3NwogICAgLy8gYXNzZXJ0KHBheW1lbnQuYW1vdW50ID49IHRoaXMuY3JhdGVQcmljZS52YWx1ZSwgJ1BheW1lbnQgaXMgYmVsb3cgdGhlIGNyYXRlIHByaWNlJykKICAgIGRpZyAxCiAgICBndHhucyBBbW91bnQKICAgIGludGNfMiAvLyAwCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo1NQogICAgLy8gY3JhdGVQcmljZSA9IEdsb2JhbFN0YXRlPHVpbnQ2ND4oeyBrZXk6ICdwcmljZScgfSkKICAgIGJ5dGVjXzIgLy8gInByaWNlIgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NzcKICAgIC8vIGFzc2VydChwYXltZW50LmFtb3VudCA+PSB0aGlzLmNyYXRlUHJpY2UudmFsdWUsICdQYXltZW50IGlzIGJlbG93IHRoZSBjcmF0ZSBwcmljZScpCiAgICBhcHBfZ2xvYmFsX2dldF9leAogICAgYXNzZXJ0IC8vIGNoZWNrIEdsb2JhbFN0YXRlIGV4aXN0cwogICAgPj0KICAgIGFzc2VydCAvLyBQYXltZW50IGlzIGJlbG93IHRoZSBjcmF0ZSBwcmljZQogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NzgKICAgIC8vIGFzc2VydChwYXltZW50LnNlbmRlciA9PT0gYWNjb3VudCwgJ1BheW1lbnQgc2VuZGVyIG11c3QgbWF0Y2ggdGhlIGNhbGxlcicpCiAgICBzd2FwCiAgICBndHhucyBTZW5kZXIKICAgIGRpZyAxCiAgICA9PQogICAgYXNzZXJ0IC8vIFBheW1lbnQgc2VuZGVyIG11c3QgbWF0Y2ggdGhlIGNhbGxlcgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NTMKICAgIC8vIGNvbW1pdFRhcmdldCA9IEJveE1hcDxBY2NvdW50LCB1aW50NjQ+KHsga2V5UHJlZml4OiAnYycgfSkKICAgIGJ5dGVjXzAgLy8gImMiCiAgICBkaWcgMQogICAgY29uY2F0CiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo4MgogICAgLy8gYXNzZXJ0KCF0aGlzLmNvbW1pdFRhcmdldChhY2NvdW50KS5leGlzdHMsICdBY3RpdmUgY29tbWl0IGV4aXN0cyDigJQgcmV2ZWFsIG9yIHJlY2xhaW0gZmlyc3QnKQogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgICEKICAgIGFzc2VydCAvLyBBY3RpdmUgY29tbWl0IGV4aXN0cyDigJQgcmV2ZWFsIG9yIHJlY2xhaW0gZmlyc3QKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjg1CiAgICAvLyBjb25zdCB0YXJnZXQ6IHVpbnQ2NCA9IHRoaXMudGFyZ2V0Um91bmQoR2xvYmFsLnJvdW5kKQogICAgZ2xvYmFsIFJvdW5kCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxNDIKICAgIC8vIGNvbnN0IGNhZGVuY2U6IHVpbnQ2NCA9IHRoaXMuYmVhY29uQ2FkZW5jZS52YWx1ZQogICAgaW50Y18yIC8vIDAKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjU3CiAgICAvLyBiZWFjb25DYWRlbmNlID0gR2xvYmFsU3RhdGU8dWludDY0Pih7IGtleTogJ2NhZGVuY2UnIH0pCiAgICBieXRlY18zIC8vICJjYWRlbmNlIgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTQyCiAgICAvLyBjb25zdCBjYWRlbmNlOiB1aW50NjQgPSB0aGlzLmJlYWNvbkNhZGVuY2UudmFsdWUKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgR2xvYmFsU3RhdGUgZXhpc3RzCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxNDMKICAgIC8vIHJldHVybiAoY29tbWl0dGVkUm91bmQgLyBjYWRlbmNlICsgTUlOX0RFTEFZX1NMT1RTKSAqIGNhZGVuY2UKICAgIHN3YXAKICAgIGRpZyAxCiAgICAvCiAgICBwdXNoaW50IDIgLy8gMgogICAgKwogICAgKgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6ODYKICAgIC8vIHRoaXMuY29tbWl0VGFyZ2V0KGFjY291bnQpLnZhbHVlID0gdGFyZ2V0CiAgICBpdG9iCiAgICBzd2FwCiAgICBkaWcgMQogICAgYm94X3B1dAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6ODcKICAgIC8vIGVtaXQobmV3IENvbW1pdHRlZCh7IGFjY291bnQ6IG5ldyBhcmM0LkFkZHJlc3MoYWNjb3VudCksIHRhcmdldDogbmV3IGFyYzQuVWludDY0KHRhcmdldCkgfSkpCiAgICBjb25jYXQKICAgIHB1c2hieXRlcyAweDMzNDI2NjczIC8vIG1ldGhvZCAiQ29tbWl0dGVkKGFkZHJlc3MsdWludDY0KSIKICAgIHN3YXAKICAgIGNvbmNhdAogICAgbG9nCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo3MAogICAgLy8gQGFiaW1ldGhvZCgpCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6Okxvb3RCb3hDb21taXRSZXZlYWwucmV2ZWFsW3JvdXRpbmddKCkgLT4gdm9pZDoKcmV2ZWFsOgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6OTIKICAgIC8vIGNvbnN0IGFjY291bnQgPSBUeG4uc2VuZGVyCiAgICB0eG4gU2VuZGVyCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo1MwogICAgLy8gY29tbWl0VGFyZ2V0ID0gQm94TWFwPEFjY291bnQsIHVpbnQ2ND4oeyBrZXlQcmVmaXg6ICdjJyB9KQogICAgYnl0ZWNfMCAvLyAiYyIKICAgIGRpZyAxCiAgICBjb25jYXQKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjkzCiAgICAvLyBhc3NlcnQodGhpcy5jb21taXRUYXJnZXQoYWNjb3VudCkuZXhpc3RzLCAnTm8gYWN0aXZlIGNvbW1pdCB0byByZXZlYWwnKQogICAgZHVwCiAgICBib3hfbGVuCiAgICBidXJ5IDEKICAgIGFzc2VydCAvLyBObyBhY3RpdmUgY29tbWl0IHRvIHJldmVhbAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6OTQKICAgIC8vIGNvbnN0IHRhcmdldDogdWludDY0ID0gdGhpcy5jb21taXRUYXJnZXQoYWNjb3VudCkudmFsdWUKICAgIGR1cAogICAgYm94X2dldAogICAgcG9wCiAgICBidG9pCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czo5NgogICAgLy8gYXNzZXJ0KEdsb2JhbC5yb3VuZCA+IHRhcmdldCwgJ0JlYWNvbiByb3VuZCBub3QgcmVhY2hlZCB5ZXQnKQogICAgZ2xvYmFsIFJvdW5kCiAgICBkaWcgMQogICAgPgogICAgYXNzZXJ0IC8vIEJlYWNvbiByb3VuZCBub3QgcmVhY2hlZCB5ZXQKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjk3CiAgICAvLyBhc3NlcnQoR2xvYmFsLnJvdW5kIDwgdGFyZ2V0ICsgUkVWRUFMX1dJTkRPV19ST1VORFMsICdDb21taXQgZXhwaXJlZCDigJQgY2FsbCByZWNsYWltKCkgYW5kIHJlY29tbWl0JykKICAgIGdsb2JhbCBSb3VuZAogICAgZGlnIDEKICAgIHB1c2hpbnQgNDAwIC8vIDQwMAogICAgKwogICAgPAogICAgYXNzZXJ0IC8vIENvbW1pdCBleHBpcmVkIOKAlCBjYWxsIHJlY2xhaW0oKSBhbmQgcmVjb21taXQKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjEwMQogICAgLy8gdGhpcy5jb21taXRUYXJnZXQoYWNjb3VudCkuZGVsZXRlKCkKICAgIHN3YXAKICAgIGJveF9kZWwKICAgIHBvcAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTUxLTE2MQogICAgLy8gaXR4bgogICAgLy8gICAuYXBwbGljYXRpb25DYWxsKHsKICAgIC8vICAgICBhcHBJZDogdGhpcy5iZWFjb25BcHAudmFsdWUsCiAgICAvLyAgICAgYXBwQXJnczogWwogICAgLy8gICAgICAgYXJjNC5tZXRob2RTZWxlY3RvcignbXVzdF9nZXQodWludDY0LGJ5dGVbXSlieXRlW10nKSwKICAgIC8vICAgICAgIG5ldyBhcmM0LlVpbnQ2NChyb3VuZCksCiAgICAvLyAgICAgICBuZXcgYXJjNC5EeW5hbWljQnl0ZXMoYWNjb3VudC5ieXRlcyksCiAgICAvLyAgICAgXSwKICAgIC8vICAgICBmZWU6IDAsCiAgICAvLyAgIH0pCiAgICAvLyAgIC5zdWJtaXQoKS5sYXN0TG9nLAogICAgaXR4bl9iZWdpbgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTUzCiAgICAvLyBhcHBJZDogdGhpcy5iZWFjb25BcHAudmFsdWUsCiAgICBpbnRjXzIgLy8gMAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NTYKICAgIC8vIGJlYWNvbkFwcCA9IEdsb2JhbFN0YXRlPHVpbnQ2ND4oeyBrZXk6ICdiZWFjb24nIH0pCiAgICBieXRlYyA0IC8vICJiZWFjb24iCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxNTMKICAgIC8vIGFwcElkOiB0aGlzLmJlYWNvbkFwcC52YWx1ZSwKICAgIGFwcF9nbG9iYWxfZ2V0X2V4CiAgICBhc3NlcnQgLy8gY2hlY2sgR2xvYmFsU3RhdGUgZXhpc3RzCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxNTYKICAgIC8vIG5ldyBhcmM0LlVpbnQ2NChyb3VuZCksCiAgICBzd2FwCiAgICBpdG9iCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxNTcKICAgIC8vIG5ldyBhcmM0LkR5bmFtaWNCeXRlcyhhY2NvdW50LmJ5dGVzKSwKICAgIHB1c2hieXRlcyAweDAwMjAKICAgIGRpZyAzCiAgICBjb25jYXQKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjE1NQogICAgLy8gYXJjNC5tZXRob2RTZWxlY3RvcignbXVzdF9nZXQodWludDY0LGJ5dGVbXSlieXRlW10nKSwKICAgIHB1c2hieXRlcyAweDQ3YzIwYzIzIC8vIG1ldGhvZCAibXVzdF9nZXQodWludDY0LGJ5dGVbXSlieXRlW10iCiAgICBpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwogICAgZGlnIDEKICAgIGl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCiAgICBpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwogICAgc3dhcAogICAgaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxNTEtMTYwCiAgICAvLyBpdHhuCiAgICAvLyAgIC5hcHBsaWNhdGlvbkNhbGwoewogICAgLy8gICAgIGFwcElkOiB0aGlzLmJlYWNvbkFwcC52YWx1ZSwKICAgIC8vICAgICBhcHBBcmdzOiBbCiAgICAvLyAgICAgICBhcmM0Lm1ldGhvZFNlbGVjdG9yKCdtdXN0X2dldCh1aW50NjQsYnl0ZVtdKWJ5dGVbXScpLAogICAgLy8gICAgICAgbmV3IGFyYzQuVWludDY0KHJvdW5kKSwKICAgIC8vICAgICAgIG5ldyBhcmM0LkR5bmFtaWNCeXRlcyhhY2NvdW50LmJ5dGVzKSwKICAgIC8vICAgICBdLAogICAgLy8gICAgIGZlZTogMCwKICAgIC8vICAgfSkKICAgIHB1c2hpbnQgNiAvLyA2CiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxNTkKICAgIC8vIGZlZTogMCwKICAgIGludGNfMiAvLyAwCiAgICBpdHhuX2ZpZWxkIEZlZQogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTUxLTE2MQogICAgLy8gaXR4bgogICAgLy8gICAuYXBwbGljYXRpb25DYWxsKHsKICAgIC8vICAgICBhcHBJZDogdGhpcy5iZWFjb25BcHAudmFsdWUsCiAgICAvLyAgICAgYXBwQXJnczogWwogICAgLy8gICAgICAgYXJjNC5tZXRob2RTZWxlY3RvcignbXVzdF9nZXQodWludDY0LGJ5dGVbXSlieXRlW10nKSwKICAgIC8vICAgICAgIG5ldyBhcmM0LlVpbnQ2NChyb3VuZCksCiAgICAvLyAgICAgICBuZXcgYXJjNC5EeW5hbWljQnl0ZXMoYWNjb3VudC5ieXRlcyksCiAgICAvLyAgICAgXSwKICAgIC8vICAgICBmZWU6IDAsCiAgICAvLyAgIH0pCiAgICAvLyAgIC5zdWJtaXQoKS5sYXN0TG9nLAogICAgaXR4bl9zdWJtaXQKICAgIGl0eG4gTGFzdExvZwogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTUwLTE2MwogICAgLy8gY29uc3QgdnJmID0gYXJjNC5kZWNvZGVBcmM0PGJ5dGVzPigKICAgIC8vICAgaXR4bgogICAgLy8gICAgIC5hcHBsaWNhdGlvbkNhbGwoewogICAgLy8gICAgICAgYXBwSWQ6IHRoaXMuYmVhY29uQXBwLnZhbHVlLAogICAgLy8gICAgICAgYXBwQXJnczogWwogICAgLy8gICAgICAgICBhcmM0Lm1ldGhvZFNlbGVjdG9yKCdtdXN0X2dldCh1aW50NjQsYnl0ZVtdKWJ5dGVbXScpLAogICAgLy8gICAgICAgICBuZXcgYXJjNC5VaW50NjQocm91bmQpLAogICAgLy8gICAgICAgICBuZXcgYXJjNC5EeW5hbWljQnl0ZXMoYWNjb3VudC5ieXRlcyksCiAgICAvLyAgICAgICBdLAogICAgLy8gICAgICAgZmVlOiAwLAogICAgLy8gICAgIH0pCiAgICAvLyAgICAgLnN1Ym1pdCgpLmxhc3RMb2csCiAgICAvLyAgICdsb2cnLAogICAgLy8gKQogICAgZHVwCiAgICBleHRyYWN0IDAgNAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTYyCiAgICAvLyAnbG9nJywKICAgIGJ5dGVjIDUgLy8gMHgxNTFmN2M3NQogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTUwLTE2MwogICAgLy8gY29uc3QgdnJmID0gYXJjNC5kZWNvZGVBcmM0PGJ5dGVzPigKICAgIC8vICAgaXR4bgogICAgLy8gICAgIC5hcHBsaWNhdGlvbkNhbGwoewogICAgLy8gICAgICAgYXBwSWQ6IHRoaXMuYmVhY29uQXBwLnZhbHVlLAogICAgLy8gICAgICAgYXBwQXJnczogWwogICAgLy8gICAgICAgICBhcmM0Lm1ldGhvZFNlbGVjdG9yKCdtdXN0X2dldCh1aW50NjQsYnl0ZVtdKWJ5dGVbXScpLAogICAgLy8gICAgICAgICBuZXcgYXJjNC5VaW50NjQocm91bmQpLAogICAgLy8gICAgICAgICBuZXcgYXJjNC5EeW5hbWljQnl0ZXMoYWNjb3VudC5ieXRlcyksCiAgICAvLyAgICAgICBdLAogICAgLy8gICAgICAgZmVlOiAwLAogICAgLy8gICAgIH0pCiAgICAvLyAgICAgLnN1Ym1pdCgpLmxhc3RMb2csCiAgICAvLyAgICdsb2cnLAogICAgLy8gKQogICAgPT0KICAgIGFzc2VydCAvLyBCeXRlcyBoYXMgdmFsaWQgcHJlZml4CiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxMDQKICAgIC8vIGVtaXQobmV3IFJldmVhbGVkKHsgYWNjb3VudDogbmV3IGFyYzQuQWRkcmVzcyhhY2NvdW50KSwgdGFyZ2V0OiBuZXcgYXJjNC5VaW50NjQodGFyZ2V0KSwgdmFsdWU6IG5ldyBhcmM0LlVpbnQ2NChyYW5kb21WYWx1ZSkgfSkpCiAgICBleHRyYWN0IDYgOAogICAgY292ZXIgMgogICAgY29uY2F0CiAgICBkaWcgMQogICAgY29uY2F0CiAgICBwdXNoYnl0ZXMgMHhiZDUxOWU4OSAvLyBtZXRob2QgIlJldmVhbGVkKGFkZHJlc3MsdWludDY0LHVpbnQ2NCkiCiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6OTAKICAgIC8vIEBhYmltZXRob2QoKQogICAgYnl0ZWMgNSAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjpMb290Qm94Q29tbWl0UmV2ZWFsLnJlY2xhaW1bcm91dGluZ10oKSAtPiB2b2lkOgpyZWNsYWltOgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTExCiAgICAvLyBAYWJpbWV0aG9kKCkKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDEKICAgIGR1cAogICAgbGVuCiAgICBpbnRjXzMgLy8gMzIKICAgID09CiAgICBhc3NlcnQgLy8gaW52YWxpZCBudW1iZXIgb2YgYnl0ZXMgZm9yIGFyYzQuc3RhdGljX2FycmF5PGFyYzQudWludDgsIDMyPgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NTMKICAgIC8vIGNvbW1pdFRhcmdldCA9IEJveE1hcDxBY2NvdW50LCB1aW50NjQ+KHsga2V5UHJlZml4OiAnYycgfSkKICAgIGJ5dGVjXzAgLy8gImMiCiAgICBzd2FwCiAgICBjb25jYXQKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjExMwogICAgLy8gYXNzZXJ0KHRoaXMuY29tbWl0VGFyZ2V0KGFjY291bnQpLmV4aXN0cywgJ05vIGNvbW1pdCB0byByZWNsYWltJykKICAgIGR1cAogICAgYm94X2xlbgogICAgYnVyeSAxCiAgICBhc3NlcnQgLy8gTm8gY29tbWl0IHRvIHJlY2xhaW0KICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjExNAogICAgLy8gY29uc3QgdGFyZ2V0ID0gdGhpcy5jb21taXRUYXJnZXQoYWNjb3VudCkudmFsdWUKICAgIGR1cAogICAgYm94X2dldAogICAgcG9wCiAgICBidG9pCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxMTUKICAgIC8vIGFzc2VydChHbG9iYWwucm91bmQgPj0gdGFyZ2V0ICsgUkVWRUFMX1dJTkRPV19ST1VORFMsICdDb21taXQgaGFzIG5vdCBleHBpcmVkIHlldCcpCiAgICBnbG9iYWwgUm91bmQKICAgIHN3YXAKICAgIHB1c2hpbnQgNDAwIC8vIDQwMAogICAgKwogICAgPj0KICAgIGFzc2VydCAvLyBDb21taXQgaGFzIG5vdCBleHBpcmVkIHlldAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTE2CiAgICAvLyB0aGlzLmNvbW1pdFRhcmdldChhY2NvdW50KS5kZWxldGUoKQogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxMTEKICAgIC8vIEBhYmltZXRob2QoKQogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjpMb290Qm94Q29tbWl0UmV2ZWFsLndpdGhkcmF3W3JvdXRpbmddKCkgLT4gdm9pZDoKd2l0aGRyYXc6CiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxMjEKICAgIC8vIEBhYmltZXRob2QoKQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTIzCiAgICAvLyBhc3NlcnQoVHhuLnNlbmRlciA9PT0gR2xvYmFsLmNyZWF0b3JBZGRyZXNzLCAnT25seSB0aGUgY3JlYXRvciBjYW4gd2l0aGRyYXcnKQogICAgdHhuIFNlbmRlcgogICAgZ2xvYmFsIENyZWF0b3JBZGRyZXNzCiAgICA9PQogICAgYXNzZXJ0IC8vIE9ubHkgdGhlIGNyZWF0b3IgY2FuIHdpdGhkcmF3CiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxMjQKICAgIC8vIGl0eG4ucGF5bWVudCh7IHJlY2VpdmVyOiBHbG9iYWwuY3JlYXRvckFkZHJlc3MsIGFtb3VudDogYW1vdW50LCBmZWU6IDAgfSkuc3VibWl0KCkKICAgIGl0eG5fYmVnaW4KICAgIGdsb2JhbCBDcmVhdG9yQWRkcmVzcwogICAgaXR4bl9maWVsZCBSZWNlaXZlcgogICAgaXR4bl9maWVsZCBBbW91bnQKICAgIGludGNfMCAvLyAxCiAgICBpdHhuX2ZpZWxkIFR5cGVFbnVtCiAgICBpbnRjXzIgLy8gMAogICAgaXR4bl9maWVsZCBGZWUKICAgIGl0eG5fc3VibWl0CiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxMjEKICAgIC8vIEBhYmltZXRob2QoKQogICAgaW50Y18wIC8vIDEKICAgIHJldHVybgoKCi8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjpMb290Qm94Q29tbWl0UmV2ZWFsLnNldENvbmZpZyh0cmVhc3VyeTogYnl0ZXMsIHByaWNlOiB1aW50NjQsIGJlYWNvbkFwcDogdWludDY0LCBiZWFjb25DYWRlbmNlOiB1aW50NjQpIC0+IHZvaWQ6CnNldENvbmZpZzoKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjEyOQogICAgLy8gcHJpdmF0ZSBzZXRDb25maWcodHJlYXN1cnk6IEFjY291bnQsIHByaWNlOiB1aW50NjQsIGJlYWNvbkFwcDogdWludDY0LCBiZWFjb25DYWRlbmNlOiB1aW50NjQpOiB2b2lkIHsKICAgIHByb3RvIDQgMAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTMwCiAgICAvLyBhc3NlcnQocHJpY2UgPiBVaW50NjQoMCksICdDcmF0ZSBwcmljZSBtdXN0IGJlIHBvc2l0aXZlJykKICAgIGZyYW1lX2RpZyAtMwogICAgYXNzZXJ0IC8vIENyYXRlIHByaWNlIG11c3QgYmUgcG9zaXRpdmUKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjEzMQogICAgLy8gYXNzZXJ0KGJlYWNvbkFwcCA+IFVpbnQ2NCgwKSwgJ0JlYWNvbiBhcHAgaWQgaXMgcmVxdWlyZWQnKQogICAgZnJhbWVfZGlnIC0yCiAgICBhc3NlcnQgLy8gQmVhY29uIGFwcCBpZCBpcyByZXF1aXJlZAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTMyCiAgICAvLyBhc3NlcnQoYmVhY29uQ2FkZW5jZSA+IFVpbnQ2NCgwKSwgJ0JlYWNvbiBjYWRlbmNlIG11c3QgYmUgcG9zaXRpdmUnKQogICAgZnJhbWVfZGlnIC0xCiAgICBhc3NlcnQgLy8gQmVhY29uIGNhZGVuY2UgbXVzdCBiZSBwb3NpdGl2ZQogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NTQKICAgIC8vIHRyZWFzdXJ5QWRkcmVzcyA9IEdsb2JhbFN0YXRlPEFjY291bnQ+KHsga2V5OiAndHJlYXN1cnknIH0pCiAgICBieXRlY18xIC8vICJ0cmVhc3VyeSIKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjEzMwogICAgLy8gdGhpcy50cmVhc3VyeUFkZHJlc3MudmFsdWUgPSB0cmVhc3VyeQogICAgZnJhbWVfZGlnIC00CiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NTUKICAgIC8vIGNyYXRlUHJpY2UgPSBHbG9iYWxTdGF0ZTx1aW50NjQ+KHsga2V5OiAncHJpY2UnIH0pCiAgICBieXRlY18yIC8vICJwcmljZSIKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjEzNAogICAgLy8gdGhpcy5jcmF0ZVByaWNlLnZhbHVlID0gcHJpY2UKICAgIGZyYW1lX2RpZyAtMwogICAgYXBwX2dsb2JhbF9wdXQKICAgIC8vIGxvb3Rib3gtY29tbWl0LXJldmVhbC9jb250cmFjdC5hbGdvLnRzOjU2CiAgICAvLyBiZWFjb25BcHAgPSBHbG9iYWxTdGF0ZTx1aW50NjQ+KHsga2V5OiAnYmVhY29uJyB9KQogICAgYnl0ZWMgNCAvLyAiYmVhY29uIgogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6MTM1CiAgICAvLyB0aGlzLmJlYWNvbkFwcC52YWx1ZSA9IGJlYWNvbkFwcAogICAgZnJhbWVfZGlnIC0yCiAgICBhcHBfZ2xvYmFsX3B1dAogICAgLy8gbG9vdGJveC1jb21taXQtcmV2ZWFsL2NvbnRyYWN0LmFsZ28udHM6NTcKICAgIC8vIGJlYWNvbkNhZGVuY2UgPSBHbG9iYWxTdGF0ZTx1aW50NjQ+KHsga2V5OiAnY2FkZW5jZScgfSkKICAgIGJ5dGVjXzMgLy8gImNhZGVuY2UiCiAgICAvLyBsb290Ym94LWNvbW1pdC1yZXZlYWwvY29udHJhY3QuYWxnby50czoxMzYKICAgIC8vIHRoaXMuYmVhY29uQ2FkZW5jZS52YWx1ZSA9IGJlYWNvbkNhZGVuY2UKICAgIGZyYW1lX2RpZyAtMQogICAgYXBwX2dsb2JhbF9wdXQKICAgIHJldHN1Ygo=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBwdXNoaW50IDEgLy8gMQogICAgcmV0dXJuCg==" }, "byteCode": { "approval": "CyAEAQgAICYGAWMIdHJlYXN1cnkFcHJpY2UHY2FkZW5jZQZiZWFjb24EFR98dTEZFEQxGEEAK4IFBGdlK8AEJ6NY2wR1Dsm1BHrp6UMEIfHd/zYaAI4FADcAZQC1ASIBQwCABLgeBdo2GgCOAQABADYaAUkVJRJENhoCSRUjEkQXNhoDSRUjEkQXNhoESRUjEkQXiAEtIkM2GgFJFSUSRDYaAkkVIxJEFzYaA0kVIxJEFzYaBEkVIxJEFzEAMgkSRIgA/yJDMRYiCUk4ECISRDEASwE4ByQpZUQSREsBOAgkKmVED0RMOABLARJEKEsBUEm9RQEURDIGJCtlRExLAQqBAggLFkxLAb9QgAQzQmZzTFCwIkMxAChLAVBJvUUBREm+SBcyBksBDUQyBksBgZADCAxETLxIsSQnBGVETBaAAgAgSwNQgARHwgwjshpLAbIashpMshiBBrIQJLIBs7Q+SVcABCcFEkRXBghOAlBLAVCABL1RnolMULAnBUxQsCJDNhoBSRUlEkQoTFBJvUUBREm+SBcyBkyBkAMID0S8SCJDNhoBSRUjEkQXMQAyCRJEsTIJsgeyCCKyECSyAbMiQ4oEAIv9RIv+RIv/RCmL/Gcqi/1nJwSL/mcri/9niQ==", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 3, "patch": 2 } }, "events": [ { "name": "Committed", "args": [ { "type": "address", "name": "account" }, { "type": "uint64", "name": "target" } ] }, { "name": "Revealed", "args": [ { "type": "address", "name": "account" }, { "type": "uint64", "name": "target" }, { "type": "uint64", "name": "value" } ] } ], "templateVariables": {} }