{ "name": "DynamicOffsetLast", "structs": { "Child": [ { "name": "foo", "type": "uint64" }, { "name": "arr", "type": "uint64[]" }, { "name": "bar", "type": "uint64" } ], "DynamicOffsets": [ { "name": "pad1", "type": "byte[4096][]" }, { "name": "pad2", "type": "byte[4096][]" }, { "name": "nested", "type": "Parent" } ], "Parent": [ { "name": "baz", "type": "uint64" }, { "name": "nested", "type": "Child" }, { "name": "buz", "type": "uint64" } ] }, "methods": [ { "name": "bootstrap", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "concat", "args": [ { "type": "uint64[]", "name": "array" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "append", "args": [ { "type": "uint64", "name": "value" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "pop", "args": [], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "verify", "args": [ { "type": "uint64[]", "name": "expected" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "get", "args": [ { "type": "uint64", "name": "idx" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "set", "args": [ { "type": "uint64", "name": "idx" }, { "type": "uint64", "name": "value" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} } ], "arcs": [ 22, 28 ], "networks": {}, "state": { "schema": { "global": { "ints": 0, "bytes": 0 }, "local": { "ints": 0, "bytes": 0 } }, "keys": { "global": {}, "local": {}, "box": { "box": { "keyType": "AVMString", "valueType": "DynamicOffsets", "key": "Ym94" } } }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 358 ], "errorMessage": "cannot pop from empty array" }, { "pc": [ 627 ], "errorMessage": "expected box length >4096" }, { "pc": [ 363, 377, 459, 469, 510, 522, 537, 549, 561, 574 ], "errorMessage": "index out of bounds" }, { "pc": [ 278, 417 ], "errorMessage": "invalid array length header" }, { "pc": [ 288, 426 ], "errorMessage": "invalid number of bytes for arc4.dynamic_array" }, { "pc": [ 320, 440, 483, 492 ], "errorMessage": "invalid number of bytes for arc4.uint64" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuYXBwcm92YWxfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIGludGNibG9jayAyIDggMSA0IDQwOTYKICAgIGJ5dGVjYmxvY2sgImJveCIgMHgxNTFmN2M3NQogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weToyOAogICAgLy8gY2xhc3MgRHluYW1pY09mZnNldExhc3QoQVJDNENvbnRyYWN0KToKICAgIHR4biBOdW1BcHBBcmdzCiAgICBieiBtYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDE2CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICAhCiAgICBhc3NlcnQKICAgIHR4biBBcHBsaWNhdGlvbklECiAgICBhc3NlcnQKICAgIHB1c2hieXRlc3MgMHhiZWM3NmQ4NyAweDU5NDljZTVkIDB4MzQyOGZmZWEgMHhiODI1YTE0MiAweDMxN2EzZTAzIDB4YjQzNjljMzYgMHhjZWQxYmRjNiAvLyBtZXRob2QgImJvb3RzdHJhcCgpdm9pZCIsIG1ldGhvZCAiY29uY2F0KHVpbnQ2NFtdKXZvaWQiLCBtZXRob2QgImFwcGVuZCh1aW50NjQpdm9pZCIsIG1ldGhvZCAicG9wKCl1aW50NjQiLCBtZXRob2QgInZlcmlmeSh1aW50NjRbXSl2b2lkIiwgbWV0aG9kICJnZXQodWludDY0KXVpbnQ2NCIsIG1ldGhvZCAic2V0KHVpbnQ2NCx1aW50NjQpdm9pZCIKICAgIHR4bmEgQXBwbGljYXRpb25BcmdzIDAKICAgIG1hdGNoIGJvb3RzdHJhcCBjb25jYXQgYXBwZW5kIHBvcCB2ZXJpZnkgZ2V0IHNldAogICAgZXJyCgptYWluX19fYWxnb3B5X2RlZmF1bHRfY3JlYXRlQDE2OgogICAgdHhuIE9uQ29tcGxldGlvbgogICAgIQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgICEKICAgICYmCiAgICByZXR1cm4KCgovLyBfcHV5YV9saWIuYm94X2FyYzQuYm94X2R5bmFtaWNfYXJyYXlfY29uY2F0X2ZpeGVkKGJveF9rZXk6IGJ5dGVzLCBhcnJheV9vZmZzZXQ6IHVpbnQ2NCwgbmV3X2l0ZW1zX2J5dGVzOiBieXRlcywgbmV3X2l0ZW1zX2NvdW50OiB1aW50NjQsIGZpeGVkX2VsZW1lbnRfc2l6ZTogdWludDY0KSAtPiB2b2lkOgpib3hfZHluYW1pY19hcnJheV9jb25jYXRfZml4ZWQ6CiAgICBwcm90byA1IDAKICAgIGZyYW1lX2RpZyAtNQogICAgZnJhbWVfZGlnIC00CiAgICBpbnRjXzAgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGZyYW1lX2RpZyAtNQogICAgYm94X2xlbgogICAgcG9wCiAgICBmcmFtZV9kaWcgLTIKICAgIGZyYW1lX2RpZyAtMQogICAgKgogICAgKwogICAgZnJhbWVfZGlnIC01CiAgICBzd2FwCiAgICBib3hfcmVzaXplCiAgICBkdXAKICAgIGZyYW1lX2RpZyAtMgogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtNQogICAgZnJhbWVfZGlnIC00CiAgICB1bmNvdmVyIDIKICAgIGJveF9yZXBsYWNlCiAgICBmcmFtZV9kaWcgLTQKICAgIGludGNfMCAvLyAyCiAgICArCiAgICBzd2FwCiAgICBmcmFtZV9kaWcgLTEKICAgICoKICAgICsKICAgIGZyYW1lX2RpZyAtNQogICAgc3dhcAogICAgcHVzaGludCAwCiAgICBmcmFtZV9kaWcgLTMKICAgIGJveF9zcGxpY2UKICAgIHJldHN1YgoKCi8vIF9wdXlhX2xpYi5ib3hfYXJjNC5ib3hfdXBkYXRlX29mZnNldF9pbmMoYm94X2tleTogYnl0ZXMsIG9mZnNldDogdWludDY0LCB2YWx1ZTogdWludDY0KSAtPiB2b2lkOgpib3hfdXBkYXRlX29mZnNldF9pbmM6CiAgICBwcm90byAzIDAKICAgIGZyYW1lX2RpZyAtMwogICAgZnJhbWVfZGlnIC0yCiAgICBpbnRjXzAgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGZyYW1lX2RpZyAtMQogICAgKwogICAgaXRvYgogICAgZXh0cmFjdCA2IDIKICAgIGZyYW1lX2RpZyAtMwogICAgZnJhbWVfZGlnIC0yCiAgICB1bmNvdmVyIDIKICAgIGJveF9yZXBsYWNlCiAgICByZXRzdWIKCgovLyB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X2xhc3QuRHluYW1pY09mZnNldExhc3QuYm9vdHN0cmFwW3JvdXRpbmddKCkgLT4gdm9pZDoKYm9vdHN0cmFwOgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTozNAogICAgLy8gc2VsZi5ib3gudmFsdWUgPSBEeW5hbWljT2Zmc2V0cygKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6MzQtNDYKICAgIC8vIHNlbGYuYm94LnZhbHVlID0gRHluYW1pY09mZnNldHMoCiAgICAvLyAgICAgbmVzdGVkPVBhcmVudCgKICAgIC8vICAgICAgICAgYmF6PVVJbnQ2NCgxKSwKICAgIC8vICAgICAgICAgbmVzdGVkPUNoaWxkKAogICAgLy8gICAgICAgICAgICAgZm9vPVVJbnQ2NCgyKSwKICAgIC8vICAgICAgICAgICAgIGFycj1BcnJheVU2NCgpLAogICAgLy8gICAgICAgICAgICAgYmFyPVVJbnQ2NCgzKSwKICAgIC8vICAgICAgICAgKSwKICAgIC8vICAgICAgICAgYnV6PVVJbnQ2NCg0KSwKICAgIC8vICAgICApLAogICAgLy8gICAgIHBhZDE9TGFyZ2VCeXRlcygpLAogICAgLy8gICAgIHBhZDI9TGFyZ2VCeXRlcygpLAogICAgLy8gKQogICAgYm94X2RlbAogICAgcG9wCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9sYXN0LnB5OjM0CiAgICAvLyBzZWxmLmJveC52YWx1ZSA9IER5bmFtaWNPZmZzZXRzKAogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTozNC00NgogICAgLy8gc2VsZi5ib3gudmFsdWUgPSBEeW5hbWljT2Zmc2V0cygKICAgIC8vICAgICBuZXN0ZWQ9UGFyZW50KAogICAgLy8gICAgICAgICBiYXo9VUludDY0KDEpLAogICAgLy8gICAgICAgICBuZXN0ZWQ9Q2hpbGQoCiAgICAvLyAgICAgICAgICAgICBmb289VUludDY0KDIpLAogICAgLy8gICAgICAgICAgICAgYXJyPUFycmF5VTY0KCksCiAgICAvLyAgICAgICAgICAgICBiYXI9VUludDY0KDMpLAogICAgLy8gICAgICAgICApLAogICAgLy8gICAgICAgICBidXo9VUludDY0KDQpLAogICAgLy8gICAgICksCiAgICAvLyAgICAgcGFkMT1MYXJnZUJ5dGVzKCksCiAgICAvLyAgICAgcGFkMj1MYXJnZUJ5dGVzKCksCiAgICAvLyApCiAgICBwdXNoYnl0ZXMgMHgwMDA2MDAwODAwMGEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEwMDEyMDAwMDAwMDAwMDAwMDAwNDAwMDAwMDAwMDAwMDAwMDIwMDEyMDAwMDAwMDAwMDAwMDAwMzAwMDAKICAgIGJveF9wdXQKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6NDcKICAgIC8vIHNlbGYuYm94LnZhbHVlLnBhZDEuYXBwZW5kKEJ5dGVzNDA5NigpKQogICAgaW50YyA0IC8vIDQwOTYKICAgIGJ6ZXJvCiAgICBieXRlY18wIC8vICJib3giCiAgICBpbnRjXzAgLy8gMgogICAgaW50YyA0IC8vIDQwOTYKICAgIGNhbGxzdWIgYm94X3VwZGF0ZV9vZmZzZXRfaW5jCiAgICBieXRlY18wIC8vICJib3giCiAgICBpbnRjXzMgLy8gNAogICAgaW50YyA0IC8vIDQwOTYKICAgIGNhbGxzdWIgYm94X3VwZGF0ZV9vZmZzZXRfaW5jCiAgICBieXRlY18wIC8vICJib3giCiAgICBwdXNoaW50IDYKICAgIHVuY292ZXIgMgogICAgaW50Y18yIC8vIDEKICAgIGludGMgNCAvLyA0MDk2CiAgICBjYWxsc3ViIGJveF9keW5hbWljX2FycmF5X2NvbmNhdF9maXhlZAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTozOQogICAgLy8gYXJyPUFycmF5VTY0KCksCiAgICBwdXNoYnl0ZXMgMHgwMDAwCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9sYXN0LnB5OjQ4CiAgICAvLyBzZWxmLnZlcmlmeShBcnJheVU2NCgpKQogICAgY2FsbHN1YiB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X2xhc3QuRHluYW1pY09mZnNldExhc3QudmVyaWZ5CiAgICBwb3AKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6MzIKICAgIC8vIEBwdWJsaWMKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X2xhc3QuRHluYW1pY09mZnNldExhc3QuY29uY2F0W3JvdXRpbmddKCkgLT4gdm9pZDoKY29uY2F0OgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo1MAogICAgLy8gQHB1YmxpYwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBwdXNoaW50IDAKICAgIGV4dHJhY3RfdWludDE2IC8vIG9uIGVycm9yOiBpbnZhbGlkIGFycmF5IGxlbmd0aCBoZWFkZXIKICAgIGR1cAogICAgaW50Y18xIC8vIDgKICAgICoKICAgIGludGNfMCAvLyAyCiAgICArCiAgICBkaWcgMgogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8dWludDY0PgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo1MgogICAgLy8gc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnIuZXh0ZW5kKGFycmF5KQogICAgc3dhcAogICAgZXh0cmFjdCAyIDAKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMyAvLyA0CiAgICBpbnRjXzAgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIHB1c2hpbnQgMzYKICAgICsKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIHN3YXAKICAgIHVuY292ZXIgMgogICAgdW5jb3ZlciAzCiAgICBpbnRjXzEgLy8gOAogICAgY2FsbHN1YiBib3hfZHluYW1pY19hcnJheV9jb25jYXRfZml4ZWQKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6NTAKICAgIC8vIEBwdWJsaWMKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X2xhc3QuRHluYW1pY09mZnNldExhc3QuYXBwZW5kW3JvdXRpbmddKCkgLT4gdm9pZDoKYXBwZW5kOgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo1NAogICAgLy8gQHB1YmxpYwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo1NgogICAgLy8gc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnIuYXBwZW5kKHZhbHVlKQogICAgaXRvYgogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgaW50Y18zIC8vIDQKICAgIGludGNfMCAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgcHVzaGludCAzNgogICAgKwogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgc3dhcAogICAgdW5jb3ZlciAyCiAgICBpbnRjXzIgLy8gMQogICAgaW50Y18xIC8vIDgKICAgIGNhbGxzdWIgYm94X2R5bmFtaWNfYXJyYXlfY29uY2F0X2ZpeGVkCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9sYXN0LnB5OjU0CiAgICAvLyBAcHVibGljCiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdF9jYXNlcy5sYXJnZV9ib3hfb3BlcmF0aW9ucy5keW5hbWljX29mZnNldF9sYXN0LkR5bmFtaWNPZmZzZXRMYXN0LnBvcFtyb3V0aW5nXSgpIC0+IHZvaWQ6CnBvcDoKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6NjAKICAgIC8vIHJldHVybiBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmFyci5wb3AoKQogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgaW50Y18zIC8vIDQKICAgIGludGNfMCAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgcHVzaGludCAzNgogICAgKwogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgZGlnIDEKICAgIGludGNfMCAvLyAyCiAgICBib3hfZXh0cmFjdAogICAgYnRvaQogICAgZHVwCiAgICBpbnRjXzIgLy8gMQogICAgLSAvLyBvbiBlcnJvcjogY2Fubm90IHBvcCBmcm9tIGVtcHR5IGFycmF5CiAgICBkdXAKICAgIHVuY292ZXIgMgogICAgPAogICAgYXNzZXJ0IC8vIGluZGV4IG91dCBvZiBib3VuZHMKICAgIGRpZyAxCiAgICBpbnRjXzAgLy8gMgogICAgKwogICAgZGlnIDEKICAgIGludGNfMSAvLyA4CiAgICAqCiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBkaWcgMQogICAgaW50Y18xIC8vIDgKICAgIGJveF9leHRyYWN0IC8vIG9uIGVycm9yOiBpbmRleCBvdXQgb2YgYm91bmRzCiAgICB1bmNvdmVyIDIKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9sYXN0LnB5OjYwCiAgICAvLyByZXR1cm4gc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnIucG9wKCkKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIHVuY292ZXIgNAogICAgdW5jb3ZlciAyCiAgICBib3hfcmVwbGFjZQogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo2MAogICAgLy8gcmV0dXJuIHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYXJyLnBvcCgpCiAgICBieXRlY18wIC8vICJib3giCiAgICB1bmNvdmVyIDIKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6NjAKICAgIC8vIHJldHVybiBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmFyci5wb3AoKQogICAgaW50Y18xIC8vIDgKICAgIHB1c2hieXRlcyAweAogICAgYm94X3NwbGljZQogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo2MAogICAgLy8gcmV0dXJuIHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYXJyLnBvcCgpCiAgICBieXRlY18wIC8vICJib3giCiAgICBib3hfbGVuCiAgICBwb3AKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6NjAKICAgIC8vIHJldHVybiBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmFyci5wb3AoKQogICAgaW50Y18xIC8vIDgKICAgIC0KICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6NjAKICAgIC8vIHJldHVybiBzZWxmLmJveC52YWx1ZS5uZXN0ZWQubmVzdGVkLmFyci5wb3AoKQogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgc3dhcAogICAgYm94X3Jlc2l6ZQogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo1OAogICAgLy8gQHB1YmxpYwogICAgYnl0ZWNfMSAvLyAweDE1MWY3Yzc1CiAgICBzd2FwCiAgICBjb25jYXQKICAgIGxvZwogICAgaW50Y18yIC8vIDEKICAgIHJldHVybgoKCi8vIHRlc3RfY2FzZXMubGFyZ2VfYm94X29wZXJhdGlvbnMuZHluYW1pY19vZmZzZXRfbGFzdC5EeW5hbWljT2Zmc2V0TGFzdC52ZXJpZnlbcm91dGluZ10oKSAtPiB2b2lkOgp2ZXJpZnk6CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9sYXN0LnB5OjYyCiAgICAvLyBAcHVibGljCiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAxCiAgICBkdXAKICAgIHB1c2hpbnQgMAogICAgZXh0cmFjdF91aW50MTYgLy8gb24gZXJyb3I6IGludmFsaWQgYXJyYXkgbGVuZ3RoIGhlYWRlcgogICAgaW50Y18xIC8vIDgKICAgICoKICAgIGludGNfMCAvLyAyCiAgICArCiAgICBkaWcgMQogICAgbGVuCiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LmR5bmFtaWNfYXJyYXk8dWludDY0PgogICAgY2FsbHN1YiB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X2xhc3QuRHluYW1pY09mZnNldExhc3QudmVyaWZ5CiAgICBwb3AKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X2xhc3QuRHluYW1pY09mZnNldExhc3QuZ2V0W3JvdXRpbmddKCkgLT4gdm9pZDoKZ2V0OgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo3MwogICAgLy8gQHB1YmxpYwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo3NQogICAgLy8gcmV0dXJuIHNlbGYuYm94LnZhbHVlLm5lc3RlZC5uZXN0ZWQuYXJyW2lkeF0KICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMyAvLyA0CiAgICBpbnRjXzAgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIHB1c2hpbnQgMzYKICAgICsKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGRpZyAxCiAgICBpbnRjXzAgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGRpZyAyCiAgICA+CiAgICBhc3NlcnQgLy8gaW5kZXggb3V0IG9mIGJvdW5kcwogICAgaW50Y18wIC8vIDIKICAgICsKICAgIHN3YXAKICAgIGludGNfMSAvLyA4CiAgICAqCiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBzd2FwCiAgICBpbnRjXzEgLy8gOAogICAgYm94X2V4dHJhY3QgLy8gb24gZXJyb3I6IGluZGV4IG91dCBvZiBib3VuZHMKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6NzMKICAgIC8vIEBwdWJsaWMKICAgIGJ5dGVjXzEgLy8gMHgxNTFmN2M3NQogICAgc3dhcAogICAgY29uY2F0CiAgICBsb2cKICAgIGludGNfMiAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X2xhc3QuRHluYW1pY09mZnNldExhc3Quc2V0W3JvdXRpbmddKCkgLT4gdm9pZDoKc2V0OgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo3NwogICAgLy8gQHB1YmxpYwogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgYnRvaQogICAgdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgogICAgZHVwCiAgICBsZW4KICAgIGludGNfMSAvLyA4CiAgICA9PQogICAgYXNzZXJ0IC8vIGludmFsaWQgbnVtYmVyIG9mIGJ5dGVzIGZvciBhcmM0LnVpbnQ2NAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo3OQogICAgLy8gc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnJbaWR4XSA9IHZhbHVlCiAgICBieXRlY18wIC8vICJib3giCiAgICBpbnRjXzMgLy8gNAogICAgaW50Y18wIC8vIDIKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBwdXNoaW50IDM2CiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBkaWcgMQogICAgaW50Y18wIC8vIDIKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBkaWcgMwogICAgPgogICAgYXNzZXJ0IC8vIGluZGV4IG91dCBvZiBib3VuZHMKICAgIGludGNfMCAvLyAyCiAgICArCiAgICB1bmNvdmVyIDIKICAgIGludGNfMSAvLyA4CiAgICAqCiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBzd2FwCiAgICB1bmNvdmVyIDIKICAgIGJveF9yZXBsYWNlIC8vIG9uIGVycm9yOiBpbmRleCBvdXQgb2YgYm91bmRzCiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9sYXN0LnB5Ojc3CiAgICAvLyBAcHVibGljCiAgICBpbnRjXzIgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdF9jYXNlcy5sYXJnZV9ib3hfb3BlcmF0aW9ucy5keW5hbWljX29mZnNldF9sYXN0LkR5bmFtaWNPZmZzZXRMYXN0LnZlcmlmeShleHBlY3RlZDogYnl0ZXMpIC0+IGJ5dGVzOgp0ZXN0X2Nhc2VzLmxhcmdlX2JveF9vcGVyYXRpb25zLmR5bmFtaWNfb2Zmc2V0X2xhc3QuRHluYW1pY09mZnNldExhc3QudmVyaWZ5OgogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo2Mi02MwogICAgLy8gQHB1YmxpYwogICAgLy8gZGVmIHZlcmlmeShzZWxmLCBleHBlY3RlZDogQXJyYXlVNjQpIC0+IE5vbmU6CiAgICBwcm90byAxIDEKICAgIC8vIGxhcmdlX2JveF9vcGVyYXRpb25zL2R5bmFtaWNfb2Zmc2V0X2xhc3QucHk6NjQKICAgIC8vIGFzc2VydCBzZWxmLmJveC52YWx1ZS5uZXN0ZWQuYmF6ID09IDEKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMyAvLyA0CiAgICBpbnRjXzAgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGRpZyAxCiAgICBpbnRjXzEgLy8gOAogICAgYm94X2V4dHJhY3QgLy8gb24gZXJyb3I6IGluZGV4IG91dCBvZiBib3VuZHMKICAgIGJ0b2kKICAgIGludGNfMiAvLyAxCiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9sYXN0LnB5OjY1CiAgICAvLyBhc3NlcnQgc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5mb28gPT0gMgogICAgZHVwCiAgICBwdXNoaW50IDE4CiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBzd2FwCiAgICBpbnRjXzEgLy8gOAogICAgYm94X2V4dHJhY3QgLy8gb24gZXJyb3I6IGluZGV4IG91dCBvZiBib3VuZHMKICAgIGJ0b2kKICAgIGludGNfMCAvLyAyCiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9sYXN0LnB5OjY2CiAgICAvLyBhc3NlcnQgc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5iYXIgPT0gMwogICAgZHVwCiAgICBwdXNoaW50IDI4CiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBzd2FwCiAgICBpbnRjXzEgLy8gOAogICAgYm94X2V4dHJhY3QgLy8gb24gZXJyb3I6IGluZGV4IG91dCBvZiBib3VuZHMKICAgIGJ0b2kKICAgIHB1c2hpbnQgMwogICAgPT0KICAgIGFzc2VydAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo2NwogICAgLy8gYXNzZXJ0IHNlbGYuYm94LnZhbHVlLm5lc3RlZC5idXogPT0gNAogICAgZHVwCiAgICBwdXNoaW50IDEwCiAgICArCiAgICBieXRlY18wIC8vICJib3giCiAgICBzd2FwCiAgICBpbnRjXzEgLy8gOAogICAgYm94X2V4dHJhY3QgLy8gb24gZXJyb3I6IGluZGV4IG91dCBvZiBib3VuZHMKICAgIGJ0b2kKICAgIGludGNfMyAvLyA0CiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyBsYXJnZV9ib3hfb3BlcmF0aW9ucy9keW5hbWljX29mZnNldF9sYXN0LnB5OjY4CiAgICAvLyBhc3NlcnQgc2VsZi5ib3gudmFsdWUubmVzdGVkLm5lc3RlZC5hcnIgPT0gZXhwZWN0ZWQKICAgIHB1c2hpbnQgMzYKICAgICsKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGRpZyAxCiAgICBpbnRjXzAgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgIGludGNfMSAvLyA4CiAgICAqCiAgICBpbnRjXzAgLy8gMgogICAgKwogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgY292ZXIgMgogICAgYm94X2V4dHJhY3QKICAgIGZyYW1lX2RpZyAtMQogICAgPT0KICAgIGFzc2VydAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo2OQogICAgLy8gYXNzZXJ0IHNlbGYuYm94LnZhbHVlLnBhZDEubGVuZ3RoID09IDEKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIHB1c2hpbnQgNgogICAgaW50Y18wIC8vIDIKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBpbnRjXzIgLy8gMQogICAgPT0KICAgIGFzc2VydAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo3MAogICAgLy8gYXNzZXJ0IHNlbGYuYm94LnZhbHVlLnBhZDIubGVuZ3RoID09IDAKICAgIGJ5dGVjXzAgLy8gImJveCIKICAgIGludGNfMCAvLyAyCiAgICBkdXAKICAgIGJveF9leHRyYWN0CiAgICBidG9pCiAgICBieXRlY18wIC8vICJib3giCiAgICBzd2FwCiAgICBpbnRjXzAgLy8gMgogICAgYm94X2V4dHJhY3QKICAgIGJ0b2kKICAgICEKICAgIGFzc2VydAogICAgLy8gbGFyZ2VfYm94X29wZXJhdGlvbnMvZHluYW1pY19vZmZzZXRfbGFzdC5weTo3MQogICAgLy8gYXNzZXJ0IHNlbGYuYm94Lmxlbmd0aCA+IDQwOTYsICJleHBlY3RlZCBib3ggbGVuZ3RoID40MDk2IgogICAgYnl0ZWNfMCAvLyAiYm94IgogICAgYm94X2xlbgogICAgcG9wCiAgICBpbnRjIDQgLy8gNDA5NgogICAgPgogICAgYXNzZXJ0IC8vIGV4cGVjdGVkIGJveCBsZW5ndGggPjQwOTYKICAgIGZyYW1lX2RpZyAtMQogICAgcmV0c3ViCg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBhbGdvcHkuYXJjNC5BUkM0Q29udHJhY3QuY2xlYXJfc3RhdGVfcHJvZ3JhbSgpIC0+IHVpbnQ2NDoKbWFpbjoKICAgIHB1c2hpbnQgMQogICAgcmV0dXJuCg==" }, "byteCode": { "approval": "CyAFAggBBIAgJgIDYm94BBUffHUxG0EAQDEZFEQxGESCBwS+x22HBFlJzl0ENCj/6gS4JaFCBDF6PgMEtDacNgTO0b3GNhoAjgcAWwC4AOEA/gFDAVkBhAAxGRQxGBQQQ4oFAIv7i/wiuheL+71Ii/6L/wsIi/tM00mL/ggWVwYCi/uL/E8Cu4v8IghMi/8LCIv7TIEAi/3SiYoDAIv9i/4iuheL/wgWVwYCi/2L/k8Cu4kovEgogDAABgAIAAoAAAAAAAAAAAAAAAEAEgAAAAAAAAAEAAAAAAAAAAIAEgAAAAAAAAADAAC/IQSvKCIhBIj/piglIQSI/58ogQZPAiQhBIj/W4ACAACIAQBIJEM2GgFJgQBZSSMLIghLAhUSRExXAgAoJSK6F4EkCChMTwJPAyOI/yokQzYaAUkVIxJEFxYoJSK6F4EkCChMTwIkI4j/DSRDKCUiuheBJAgoSwEiuhdJJAlJTwIMREsBIghLASMLCChLASO6TwIWVwYCKE8ETwK7KE8CI4AA0ii9SCMJKEzTKUxQsCRDNhoBSYEAWSMLIghLARUSRIgAX0gkQzYaAUkVIxJEFyglIroXgSQIKEsBIroXSwINRCIITCMLCChMI7opTFCwJEM2GgFJFSMSRBc2GgJJFSMSRCglIroXgSQIKEsBIroXSwMNRCIITwIjCwgoTE8CuyRDigEBKCUiuhcoSwEjuhckEkRJgRIIKEwjuhciEkRJgRwIKEwjuheBAxJESYEKCChMI7oXJRJEgSQIKEsBIroXIwsiCChOArqL/xJEKIEGIroXJBJEKCJJuhcoTCK6FxREKL1IIQQNRIv/iQ==", "clear": "C4EBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 99, "minor": 99, "patch": 99 } }, "events": [], "templateVariables": {} }