{ "name": "GtxnsAlgo", "structs": { "Object3488A93F": [ { "name": "sender", "type": "byte[32]" }, { "name": "fee", "type": "uint64" }, { "name": "firstValid", "type": "uint64" }, { "name": "firstValidTime", "type": "uint64" }, { "name": "lastValid", "type": "uint64" }, { "name": "note", "type": "byte[]" }, { "name": "lease", "type": "byte[32]" }, { "name": "typeBytes", "type": "byte[]" }, { "name": "groupIndex", "type": "uint64" }, { "name": "txnId", "type": "byte[32]" }, { "name": "rekeyTo", "type": "byte[32]" }, { "name": "receiver", "type": "byte[32]" }, { "name": "amount", "type": "uint64" }, { "name": "closeRemainderTo", "type": "byte[32]" } ] }, "methods": [ { "name": "test", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "test2", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "test3", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "test4", "args": [ { "type": "appl", "name": "other" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "reflectAllPay", "args": [ { "type": "pay", "name": "pay" } ], "returns": { "type": "(byte[32],uint64,uint64,uint64,uint64,byte[],byte[32],byte[],uint64,byte[32],byte[32],byte[32],uint64,byte[32])", "struct": "Object3488A93F" }, "actions": { "create": [], "call": [ "NoOp" ] }, "readonly": false, "events": [], "recommendations": {} }, { "name": "test5", "args": [ { "type": "txn", "name": "txn" } ], "returns": { "type": "uint64" }, "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": {} }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [ "NoOp" ], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "pc": [ 453 ], "errorMessage": "OCA must be NoOp" }, { "pc": [ 474 ], "errorMessage": "Other txn must be NoOp" }, { "pc": [ 287 ], "errorMessage": "Step cannot be zero" }, { "pc": [ 213 ], "errorMessage": "transaction type is appl" }, { "pc": [ 231, 268 ], "errorMessage": "transaction type is pay" } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYXJjNC9pbmRleC5kLnRzOjpDb250cmFjdC5hcHByb3ZhbFByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBpbnRjYmxvY2sgMSAwIDYgNAogICAgYnl0ZWNibG9jayAweCAweGRmOTIwZjM3IDB4MTUxZjdjNzUgIkhlbGxvIHRlc3Q0IgogICAgYiBtYWluX2Jsb2NrQDAKCm1haW5fYmxvY2tAMDoKICAgIGIgbWFpbl9ibG9ja0AxCgptYWluX2Jsb2NrQDE6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoxNgogICAgLy8gZXhwb3J0IGNsYXNzIEd0eG5zQWxnbyBleHRlbmRzIENvbnRyYWN0IHsKICAgIHR4biBOdW1BcHBBcmdzCiAgICBpbnRjXzEgLy8gMAogICAgIT0KICAgIGJ6IG1haW5fX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlQDEzCiAgICBiIG1haW5fYWJpX3JvdXRpbmdAMgoKbWFpbl9hYmlfcm91dGluZ0AyOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MTYKICAgIC8vIGV4cG9ydCBjbGFzcyBHdHhuc0FsZ28gZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBpbnRjXzEgLy8gTm9PcAogICAgPT0KICAgIGFzc2VydAogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGludGNfMSAvLyAwCiAgICAhPQogICAgYnogbWFpbl9jcmVhdGVfTm9PcEAxMQogICAgYiBtYWluX2NhbGxfTm9PcEAzCgptYWluX2NhbGxfTm9PcEAzOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MTYKICAgIC8vIGV4cG9ydCBjbGFzcyBHdHhuc0FsZ28gZXh0ZW5kcyBDb250cmFjdCB7CiAgICB0eG5hIEFwcGxpY2F0aW9uQXJncyAwCiAgICBwdXNoYnl0ZXMgMHhhNzgwMDBkZSAvLyBtZXRob2QgInRlc3QoKXZvaWQiCiAgICBwdXNoYnl0ZXMgMHhmMTkwODUyNCAvLyBtZXRob2QgInRlc3QyKCl2b2lkIgogICAgYnl0ZWNfMSAvLyBtZXRob2QgInRlc3QzKCl2b2lkIgogICAgcHVzaGJ5dGVzIDB4ZWRiNGY5NzMgLy8gbWV0aG9kICJ0ZXN0NChhcHBsKXZvaWQiCiAgICBwdXNoYnl0ZXMgMHgxM2RlNmE1NCAvLyBtZXRob2QgInJlZmxlY3RBbGxQYXkocGF5KShieXRlWzMyXSx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsYnl0ZVtdLGJ5dGVbMzJdLGJ5dGVbXSx1aW50NjQsYnl0ZVszMl0sYnl0ZVszMl0sYnl0ZVszMl0sdWludDY0LGJ5dGVbMzJdKSIKICAgIHB1c2hieXRlcyAweDc0NTlmYjFmIC8vIG1ldGhvZCAidGVzdDUodHhuKXVpbnQ2NCIKICAgIHVuY292ZXIgNgogICAgbWF0Y2ggbWFpbl90ZXN0X3JvdXRlQDQgbWFpbl90ZXN0Ml9yb3V0ZUA1IG1haW5fdGVzdDNfcm91dGVANiBtYWluX3Rlc3Q0X3JvdXRlQDcgbWFpbl9yZWZsZWN0QWxsUGF5X3JvdXRlQDggbWFpbl90ZXN0NV9yb3V0ZUA5CiAgICBiIG1haW5fc3dpdGNoX2Nhc2VfbmV4dEAxMAoKbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDEwOgogICAgYiBtYWluX2FmdGVyX2lmX2Vsc2VAMTIKCm1haW5fYWZ0ZXJfaWZfZWxzZUAxMjoKICAgIGIgbWFpbl9hZnRlcl9pZl9lbHNlQDE0CgptYWluX2FmdGVyX2lmX2Vsc2VAMTQ6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoxNgogICAgLy8gZXhwb3J0IGNsYXNzIEd0eG5zQWxnbyBleHRlbmRzIENvbnRyYWN0IHsKICAgIGVycgoKbWFpbl90ZXN0NV9yb3V0ZUA5OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6ODAKICAgIC8vIHRlc3Q1KHR4bjogZ3R4bi5UcmFuc2FjdGlvbik6IHVpbnQ2NCB7CiAgICBjYWxsc3ViIHRlc3Q1CiAgICBiIG1haW5fc3dpdGNoX2Nhc2VfbmV4dEAxMAoKbWFpbl9yZWZsZWN0QWxsUGF5X3JvdXRlQDg6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo2MQogICAgLy8gcmVmbGVjdEFsbFBheShwYXk6IGd0eG4uUGF5bWVudFR4bikgewogICAgY2FsbHN1YiByZWZsZWN0QWxsUGF5CiAgICBiIG1haW5fc3dpdGNoX2Nhc2VfbmV4dEAxMAoKbWFpbl90ZXN0NF9yb3V0ZUA3OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6NTMKICAgIC8vIHRlc3Q0KG90aGVyOiBndHhuLkFwcGxpY2F0aW9uQ2FsbFR4bikgewogICAgY2FsbHN1YiB0ZXN0NAogICAgYiBtYWluX3N3aXRjaF9jYXNlX25leHRAMTAKCm1haW5fdGVzdDNfcm91dGVANjoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjQ3CiAgICAvLyB0ZXN0MygpIHsKICAgIGNhbGxzdWIgdGVzdDMKICAgIGIgbWFpbl9zd2l0Y2hfY2FzZV9uZXh0QDEwCgptYWluX3Rlc3QyX3JvdXRlQDU6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoyMQogICAgLy8gdGVzdDIoKSB7CiAgICBjYWxsc3ViIHRlc3QyCiAgICBiIG1haW5fc3dpdGNoX2Nhc2VfbmV4dEAxMAoKbWFpbl90ZXN0X3JvdXRlQDQ6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoxNwogICAgLy8gdGVzdCgpIHsKICAgIGNhbGxzdWIgdGVzdAogICAgYiBtYWluX3N3aXRjaF9jYXNlX25leHRAMTAKCm1haW5fY3JlYXRlX05vT3BAMTE6CiAgICBiIG1haW5fYWZ0ZXJfaWZfZWxzZUAxMgoKbWFpbl9fX2FsZ290c19fLmRlZmF1bHRDcmVhdGVAMTM6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoxNgogICAgLy8gZXhwb3J0IGNsYXNzIEd0eG5zQWxnbyBleHRlbmRzIENvbnRyYWN0IHsKICAgIHR4biBPbkNvbXBsZXRpb24KICAgIGludGNfMSAvLyBOb09wCiAgICA9PQogICAgdHhuIEFwcGxpY2F0aW9uSUQKICAgIGludGNfMSAvLyAwCiAgICA9PQogICAgJiYKICAgIGFzc2VydAogICAgY2FsbHN1YiBfX2FsZ290c19fLmRlZmF1bHRDcmVhdGUKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Rbcm91dGluZ10oKSAtPiB2b2lkOgp0ZXN0OgogICAgYiB0ZXN0X2Jsb2NrQDAKCnRlc3RfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjE3CiAgICAvLyB0ZXN0KCkgewogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyW3JvdXRpbmddKCkgLT4gdm9pZDoKdGVzdDI6CiAgICBiIHRlc3QyX2Jsb2NrQDAKCnRlc3QyX2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoyMQogICAgLy8gdGVzdDIoKSB7CiAgICBjYWxsc3ViIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDIKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QzW3JvdXRpbmddKCkgLT4gdm9pZDoKdGVzdDM6CiAgICBiIHRlc3QzX2Jsb2NrQDAKCnRlc3QzX2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo0NwogICAgLy8gdGVzdDMoKSB7CiAgICBjYWxsc3ViIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDMKICAgIGludGNfMCAvLyAxCiAgICByZXR1cm4KCgovLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q0W3JvdXRpbmddKCkgLT4gdm9pZDoKdGVzdDQ6CiAgICBiIHRlc3Q0X2Jsb2NrQDAKCnRlc3Q0X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo1MwogICAgLy8gdGVzdDQob3RoZXI6IGd0eG4uQXBwbGljYXRpb25DYWxsVHhuKSB7CiAgICB0eG4gR3JvdXBJbmRleAogICAgaW50Y18wIC8vIDEKICAgIC0KICAgIGR1cAogICAgZ3R4bnMgVHlwZUVudW0KICAgIGludGNfMiAvLyBhcHBsCiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgYXBwbAogICAgY2FsbHN1YiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q0CiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby5yZWZsZWN0QWxsUGF5W3JvdXRpbmddKCkgLT4gdm9pZDoKcmVmbGVjdEFsbFBheToKICAgIGIgcmVmbGVjdEFsbFBheV9ibG9ja0AwCgpyZWZsZWN0QWxsUGF5X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo2MQogICAgLy8gcmVmbGVjdEFsbFBheShwYXk6IGd0eG4uUGF5bWVudFR4bikgewogICAgdHhuIEdyb3VwSW5kZXgKICAgIGludGNfMCAvLyAxCiAgICAtCiAgICBkdXAKICAgIGd0eG5zIFR5cGVFbnVtCiAgICBpbnRjXzAgLy8gcGF5CiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgcGF5CiAgICBjYWxsc3ViIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28ucmVmbGVjdEFsbFBheQogICAgYnl0ZWNfMiAvLyAweDE1MWY3Yzc1CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0NVtyb3V0aW5nXSgpIC0+IHZvaWQ6CnRlc3Q1OgogICAgYiB0ZXN0NV9ibG9ja0AwCgp0ZXN0NV9ibG9ja0AwOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6ODAKICAgIC8vIHRlc3Q1KHR4bjogZ3R4bi5UcmFuc2FjdGlvbik6IHVpbnQ2NCB7CiAgICB0eG4gR3JvdXBJbmRleAogICAgaW50Y18wIC8vIDEKICAgIC0KICAgIGNhbGxzdWIgdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0NQogICAgaXRvYgogICAgYnl0ZWNfMiAvLyAweDE1MWY3Yzc1CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgbG9nCiAgICBpbnRjXzAgLy8gMQogICAgcmV0dXJuCgoKLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0KCkgLT4gdm9pZDoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0OgogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3RfYmxvY2tAMAoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoxOAogICAgLy8gYXNzZXJ0KGd0eG4uUGF5bWVudFR4bigwKS5hbW91bnQgPiAwKQogICAgaW50Y18xIC8vIDAKICAgIGd0eG5zIFR5cGVFbnVtCiAgICBpbnRjXzAgLy8gcGF5CiAgICA9PQogICAgYXNzZXJ0IC8vIHRyYW5zYWN0aW9uIHR5cGUgaXMgcGF5CiAgICBpbnRjXzEgLy8gMAogICAgZ3R4bnMgQW1vdW50CiAgICBpbnRjXzEgLy8gMAogICAgPgogICAgYXNzZXJ0CiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyKCkgLT4gdm9pZDoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0MjoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjIxCiAgICAvLyB0ZXN0MigpIHsKICAgIHByb3RvIDAgMAogICAgYnl0ZWNfMCAvLyAiIgogICAgYnl0ZWNfMCAvLyAiIgogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2Jsb2NrQDAKCnRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjIyCiAgICAvLyBmb3IgKGNvbnN0IGkgb2YgdXJhbmdlKEdsb2JhbC5ncm91cFNpemUpKSB7CiAgICBnbG9iYWwgR3JvdXBTaXplCiAgICBpbnRjXzAgLy8gMQogICAgYXNzZXJ0IC8vIFN0ZXAgY2Fubm90IGJlIHplcm8KICAgIGludGNfMSAvLyAwCiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfZm9yX2hlYWRlckAxCgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2Zvcl9oZWFkZXJAMToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjIyCiAgICAvLyBmb3IgKGNvbnN0IGkgb2YgdXJhbmdlKEdsb2JhbC5ncm91cFNpemUpKSB7CiAgICBmcmFtZV9kaWcgMwogICAgZnJhbWVfZGlnIDIKICAgIDwKICAgIGJ6IHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfYWZ0ZXJfZm9yQDIxCiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfZm9yX2JvZHlAMgoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9mb3JfYm9keUAyOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MjIKICAgIC8vIGZvciAoY29uc3QgaSBvZiB1cmFuZ2UoR2xvYmFsLmdyb3VwU2l6ZSkpIHsKICAgIGZyYW1lX2RpZyAzCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoyMwogICAgLy8gY29uc3QgdHhuID0gZ3R4bi5UcmFuc2FjdGlvbihpKQogICAgZHVwCiAgICBmcmFtZV9idXJ5IDEKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjI0CiAgICAvLyBzd2l0Y2ggKHR4bi50eXBlKSB7CiAgICBndHhucyBUeXBlRW51bQogICAgZHVwCiAgICBmcmFtZV9idXJ5IDAKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjI1CiAgICAvLyBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BcHBsaWNhdGlvbkNhbGw6CiAgICBpbnRjXzIgLy8gNgogICAgPT0KICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjI1LTI3CiAgICAvLyBjYXNlIFRyYW5zYWN0aW9uVHlwZS5BcHBsaWNhdGlvbkNhbGw6CiAgICAvLyAgIGxvZyh0eG4uYXBwSWQuaWQpCiAgICAvLyAgIGJyZWFrCiAgICBieiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2FmdGVyX2lmX2Vsc2VANQogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2lmX2JvZHlAMwoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9pZl9ib2R5QDM6CiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfYmxvY2tANAoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9ibG9ja0A0OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MjYKICAgIC8vIGxvZyh0eG4uYXBwSWQuaWQpCiAgICBmcmFtZV9kaWcgMQogICAgZ3R4bnMgQXBwbGljYXRpb25JRAogICAgaXRvYgogICAgbG9nCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoyNwogICAgLy8gYnJlYWsKICAgIGIgdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9ibG9ja0AxOQoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9ibG9ja0AxOToKICAgIGIgdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9mb3JfZm9vdGVyQDIwCgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2Zvcl9mb290ZXJAMjA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoyMgogICAgLy8gZm9yIChjb25zdCBpIG9mIHVyYW5nZShHbG9iYWwuZ3JvdXBTaXplKSkgewogICAgZnJhbWVfZGlnIDMKICAgIGludGNfMCAvLyAxCiAgICArCiAgICBmcmFtZV9idXJ5IDMKICAgIGIgdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9mb3JfaGVhZGVyQDEKCnRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfYWZ0ZXJfaWZfZWxzZUA1OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MjgKICAgIC8vIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFzc2V0VHJhbnNmZXI6CiAgICBmcmFtZV9kaWcgMAogICAgaW50Y18zIC8vIDQKICAgID09CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czoyOC0zMAogICAgLy8gY2FzZSBUcmFuc2FjdGlvblR5cGUuQXNzZXRUcmFuc2ZlcjoKICAgIC8vICAgbG9nKHR4bi54ZmVyQXNzZXQuaWQpCiAgICAvLyAgIGJyZWFrCiAgICBieiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2FmdGVyX2lmX2Vsc2VAOAogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2lmX2JvZHlANgoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9pZl9ib2R5QDY6CiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfYmxvY2tANwoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9ibG9ja0A3OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MjkKICAgIC8vIGxvZyh0eG4ueGZlckFzc2V0LmlkKQogICAgZnJhbWVfZGlnIDEKICAgIGd0eG5zIFhmZXJBc3NldAogICAgaXRvYgogICAgbG9nCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czozMAogICAgLy8gYnJlYWsKICAgIGIgdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9ibG9ja0AxOQoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9hZnRlcl9pZl9lbHNlQDg6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czozMQogICAgLy8gY2FzZSBUcmFuc2FjdGlvblR5cGUuQXNzZXRDb25maWc6CiAgICBmcmFtZV9kaWcgMAogICAgcHVzaGludCAzCiAgICA9PQogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MzEtMzMKICAgIC8vIGNhc2UgVHJhbnNhY3Rpb25UeXBlLkFzc2V0Q29uZmlnOgogICAgLy8gICBsb2codHhuLmNvbmZpZ0Fzc2V0LmlkKQogICAgLy8gICBicmVhawogICAgYnogdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9hZnRlcl9pZl9lbHNlQDExCiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfaWZfYm9keUA5Cgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2lmX2JvZHlAOToKICAgIGIgdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9ibG9ja0AxMAoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9ibG9ja0AxMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjMyCiAgICAvLyBsb2codHhuLmNvbmZpZ0Fzc2V0LmlkKQogICAgZnJhbWVfZGlnIDEKICAgIGd0eG5zIENvbmZpZ0Fzc2V0CiAgICBpdG9iCiAgICBsb2cKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjMzCiAgICAvLyBicmVhawogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2Jsb2NrQDE5Cgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2FmdGVyX2lmX2Vsc2VAMTE6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czozNAogICAgLy8gY2FzZSBUcmFuc2FjdGlvblR5cGUuUGF5bWVudDoKICAgIGZyYW1lX2RpZyAwCiAgICBpbnRjXzAgLy8gMQogICAgPT0KICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjM0LTM2CiAgICAvLyBjYXNlIFRyYW5zYWN0aW9uVHlwZS5QYXltZW50OgogICAgLy8gICBsb2codHhuLnJlY2VpdmVyKQogICAgLy8gICBicmVhawogICAgYnogdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9hZnRlcl9pZl9lbHNlQDE0CiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfaWZfYm9keUAxMgoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9pZl9ib2R5QDEyOgogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2Jsb2NrQDEzCgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2Jsb2NrQDEzOgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MzUKICAgIC8vIGxvZyh0eG4ucmVjZWl2ZXIpCiAgICBmcmFtZV9kaWcgMQogICAgZ3R4bnMgUmVjZWl2ZXIKICAgIGxvZwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MzYKICAgIC8vIGJyZWFrCiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfYmxvY2tAMTkKCnRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfYWZ0ZXJfaWZfZWxzZUAxNDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjM3CiAgICAvLyBjYXNlIFRyYW5zYWN0aW9uVHlwZS5LZXlSZWdpc3RyYXRpb246CiAgICBmcmFtZV9kaWcgMAogICAgcHVzaGludCAyCiAgICA9PQogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MzctMzkKICAgIC8vIGNhc2UgVHJhbnNhY3Rpb25UeXBlLktleVJlZ2lzdHJhdGlvbjoKICAgIC8vICAgbG9nKHR4bi52b3RlS2V5KQogICAgLy8gICBicmVhawogICAgYnogdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9hZnRlcl9pZl9lbHNlQDE3CiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfaWZfYm9keUAxNQoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9pZl9ib2R5QDE1OgogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2Jsb2NrQDE2Cgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2Jsb2NrQDE2OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MzgKICAgIC8vIGxvZyh0eG4udm90ZUtleSkKICAgIGZyYW1lX2RpZyAxCiAgICBndHhucyBWb3RlUEsKICAgIGxvZwogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6MzkKICAgIC8vIGJyZWFrCiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfYmxvY2tAMTkKCnRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDJfYWZ0ZXJfaWZfZWxzZUAxNzoKICAgIGIgdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9ibG9ja0AxOAoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0Ml9ibG9ja0AxODoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjQxCiAgICAvLyBsb2codHhuLmZyZWV6ZUFzc2V0LmlkKQogICAgZnJhbWVfZGlnIDEKICAgIGd0eG5zIEZyZWV6ZUFzc2V0CiAgICBpdG9iCiAgICBsb2cKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjQyCiAgICAvLyBicmVhawogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2Jsb2NrQDE5Cgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QyX2FmdGVyX2ZvckAyMToKICAgIHJldHN1YgoKCi8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDMoKSAtPiB2b2lkOgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QzOgogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3QzX2Jsb2NrQDAKCnRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDNfYmxvY2tAMDoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjQ4CiAgICAvLyBhc3NlcnQoVHhuLm9uQ29tcGxldGlvbiA9PT0gT25Db21wbGV0ZUFjdGlvbi5Ob09wLCAnT0NBIG11c3QgYmUgTm9PcCcpCiAgICB0eG4gT25Db21wbGV0aW9uCiAgICBpbnRjXzEgLy8gMAogICAgPT0KICAgIGFzc2VydCAvLyBPQ0EgbXVzdCBiZSBOb09wCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo0OQogICAgLy8gYXNzZXJ0KFR4bi50eXBlRW51bSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFwcGxpY2F0aW9uQ2FsbCkKICAgIHR4biBUeXBlRW51bQogICAgaW50Y18yIC8vIDYKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjUwCiAgICAvLyBsb2coJ0hlbGxvIHRlc3Q0JykKICAgIGJ5dGVjXzMgLy8gIkhlbGxvIHRlc3Q0IgogICAgbG9nCiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q0KG90aGVyOiB1aW50NjQpIC0+IHZvaWQ6CnRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDQ6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo1MwogICAgLy8gdGVzdDQob3RoZXI6IGd0eG4uQXBwbGljYXRpb25DYWxsVHhuKSB7CiAgICBwcm90byAxIDAKICAgIGIgdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0NF9ibG9ja0AwCgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q0X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo1NAogICAgLy8gYXNzZXJ0KG90aGVyLm9uQ29tcGxldGlvbiA9PT0gT25Db21wbGV0ZUFjdGlvbi5Ob09wLCAnT3RoZXIgdHhuIG11c3QgYmUgTm9PcCcpCiAgICBmcmFtZV9kaWcgLTEKICAgIGd0eG5zIE9uQ29tcGxldGlvbgogICAgaW50Y18xIC8vIDAKICAgID09CiAgICBhc3NlcnQgLy8gT3RoZXIgdHhuIG11c3QgYmUgTm9PcAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6NTUKICAgIC8vIGFzc2VydChvdGhlci50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuQXBwbGljYXRpb25DYWxsKQogICAgZnJhbWVfZGlnIC0xCiAgICBndHhucyBUeXBlRW51bQogICAgaW50Y18yIC8vIDYKICAgID09CiAgICBhc3NlcnQKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjU2CiAgICAvLyBhc3NlcnQob3RoZXIubGFzdExvZyA9PT0gQnl0ZXMoJ0hlbGxvIHRlc3Q0JykpCiAgICBmcmFtZV9kaWcgLTEKICAgIGd0eG5zIExhc3RMb2cKICAgIGJ5dGVjXzMgLy8gIkhlbGxvIHRlc3Q0IgogICAgPT0KICAgIGFzc2VydAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6NTcKICAgIC8vIGFzc2VydChvdGhlci5hcHBBcmdzKDApID09PSBtZXRob2RTZWxlY3RvcihHdHhuc0FsZ28ucHJvdG90eXBlLnRlc3QzKSkKICAgIGZyYW1lX2RpZyAtMQogICAgaW50Y18xIC8vIDAKICAgIGd0eG5zYXMgQXBwbGljYXRpb25BcmdzCiAgICBieXRlY18xIC8vIG1ldGhvZCAidGVzdDMoKXZvaWQiCiAgICA9PQogICAgYXNzZXJ0CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo1OAogICAgLy8gYXNzZXJ0KG90aGVyLmFwcElkID09PSBHbG9iYWwuY3VycmVudEFwcGxpY2F0aW9uSWQpCiAgICBmcmFtZV9kaWcgLTEKICAgIGd0eG5zIEFwcGxpY2F0aW9uSUQKICAgIGdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25JRAogICAgPT0KICAgIGFzc2VydAogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby5yZWZsZWN0QWxsUGF5KHBheTogdWludDY0KSAtPiBieXRlczoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby5yZWZsZWN0QWxsUGF5OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6NjEKICAgIC8vIHJlZmxlY3RBbGxQYXkocGF5OiBndHhuLlBheW1lbnRUeG4pIHsKICAgIHByb3RvIDEgMQogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnJlZmxlY3RBbGxQYXlfYmxvY2tAMAoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby5yZWZsZWN0QWxsUGF5X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo2MwogICAgLy8gc2VuZGVyOiBwYXkuc2VuZGVyLmJ5dGVzLAogICAgZnJhbWVfZGlnIC0xCiAgICBndHhucyBTZW5kZXIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjY0CiAgICAvLyBmZWU6IHBheS5mZWUsCiAgICBmcmFtZV9kaWcgLTEKICAgIGd0eG5zIEZlZQogICAgY292ZXIgMQogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6NjUKICAgIC8vIGZpcnN0VmFsaWQ6IHBheS5maXJzdFZhbGlkLAogICAgZnJhbWVfZGlnIC0xCiAgICBndHhucyBGaXJzdFZhbGlkCiAgICBjb3ZlciAyCiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo2NgogICAgLy8gZmlyc3RWYWxpZFRpbWU6IHBheS5maXJzdFZhbGlkVGltZSwKICAgIGZyYW1lX2RpZyAtMQogICAgZ3R4bnMgRmlyc3RWYWxpZFRpbWUKICAgIGNvdmVyIDMKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjY3CiAgICAvLyBsYXN0VmFsaWQ6IHBheS5sYXN0VmFsaWQsCiAgICBmcmFtZV9kaWcgLTEKICAgIGd0eG5zIExhc3RWYWxpZAogICAgY292ZXIgNAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6NjgKICAgIC8vIG5vdGU6IHBheS5ub3RlLAogICAgZnJhbWVfZGlnIC0xCiAgICBndHhucyBOb3RlCiAgICBjb3ZlciA1CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo2OQogICAgLy8gbGVhc2U6IHBheS5sZWFzZSwKICAgIGZyYW1lX2RpZyAtMQogICAgZ3R4bnMgTGVhc2UKICAgIGNvdmVyIDYKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjcwCiAgICAvLyB0eXBlQnl0ZXM6IHBheS50eXBlQnl0ZXMsCiAgICBmcmFtZV9kaWcgLTEKICAgIGd0eG5zIFR5cGUKICAgIGNvdmVyIDcKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjcxCiAgICAvLyBncm91cEluZGV4OiBwYXkuZ3JvdXBJbmRleCwKICAgIGZyYW1lX2RpZyAtMQogICAgZ3R4bnMgR3JvdXBJbmRleAogICAgY292ZXIgOAogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6NzIKICAgIC8vIHR4bklkOiBwYXkudHhuSWQsCiAgICBmcmFtZV9kaWcgLTEKICAgIGd0eG5zIFR4SUQKICAgIGNvdmVyIDkKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjczCiAgICAvLyByZWtleVRvOiBwYXkucmVrZXlUby5ieXRlcywKICAgIGZyYW1lX2RpZyAtMQogICAgZ3R4bnMgUmVrZXlUbwogICAgY292ZXIgMTAKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjc0CiAgICAvLyByZWNlaXZlcjogcGF5LnJlY2VpdmVyLmJ5dGVzLAogICAgZnJhbWVfZGlnIC0xCiAgICBndHhucyBSZWNlaXZlcgogICAgY292ZXIgMTEKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjc1CiAgICAvLyBhbW91bnQ6IHBheS5hbW91bnQsCiAgICBmcmFtZV9kaWcgLTEKICAgIGd0eG5zIEFtb3VudAogICAgY292ZXIgMTIKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjc2CiAgICAvLyBjbG9zZVJlbWFpbmRlclRvOiBwYXkuY2xvc2VSZW1haW5kZXJUby5ieXRlcywKICAgIGZyYW1lX2RpZyAtMQogICAgZ3R4bnMgQ2xvc2VSZW1haW5kZXJUbwogICAgY292ZXIgMTMKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjYyLTc3CiAgICAvLyByZXR1cm4gewogICAgLy8gICBzZW5kZXI6IHBheS5zZW5kZXIuYnl0ZXMsCiAgICAvLyAgIGZlZTogcGF5LmZlZSwKICAgIC8vICAgZmlyc3RWYWxpZDogcGF5LmZpcnN0VmFsaWQsCiAgICAvLyAgIGZpcnN0VmFsaWRUaW1lOiBwYXkuZmlyc3RWYWxpZFRpbWUsCiAgICAvLyAgIGxhc3RWYWxpZDogcGF5Lmxhc3RWYWxpZCwKICAgIC8vICAgbm90ZTogcGF5Lm5vdGUsCiAgICAvLyAgIGxlYXNlOiBwYXkubGVhc2UsCiAgICAvLyAgIHR5cGVCeXRlczogcGF5LnR5cGVCeXRlcywKICAgIC8vICAgZ3JvdXBJbmRleDogcGF5Lmdyb3VwSW5kZXgsCiAgICAvLyAgIHR4bklkOiBwYXkudHhuSWQsCiAgICAvLyAgIHJla2V5VG86IHBheS5yZWtleVRvLmJ5dGVzLAogICAgLy8gICByZWNlaXZlcjogcGF5LnJlY2VpdmVyLmJ5dGVzLAogICAgLy8gICBhbW91bnQ6IHBheS5hbW91bnQsCiAgICAvLyAgIGNsb3NlUmVtYWluZGVyVG86IHBheS5jbG9zZVJlbWFpbmRlclRvLmJ5dGVzLAogICAgLy8gfQogICAgYnl0ZWNfMCAvLyAweAogICAgdW5jb3ZlciAxCiAgICBjb25jYXQKICAgIHVuY292ZXIgMQogICAgaXRvYgogICAgY29uY2F0CiAgICB1bmNvdmVyIDEKICAgIGl0b2IKICAgIGNvbmNhdAogICAgdW5jb3ZlciAxCiAgICBpdG9iCiAgICBjb25jYXQKICAgIHVuY292ZXIgMQogICAgaXRvYgogICAgY29uY2F0CiAgICBkaWcgMQogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAyCiAgICBjb25jYXQKICAgIHB1c2hpbnQgMjQ0CiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciAyCiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgZGlnIDEKICAgIGxlbgogICAgcHVzaGludCAyNDQKICAgICsKICAgIGNvdmVyIDEKICAgIHVuY292ZXIgMwogICAgY29uY2F0CiAgICBjb3ZlciAxCiAgICBkaWcgMwogICAgbGVuCiAgICBpdG9iCiAgICBleHRyYWN0IDYgMgogICAgdW5jb3ZlciA0CiAgICBjb25jYXQKICAgIGNvdmVyIDIKICAgIGl0b2IKICAgIGV4dHJhY3QgNiAyCiAgICBjb25jYXQKICAgIHVuY292ZXIgMwogICAgaXRvYgogICAgY29uY2F0CiAgICB1bmNvdmVyIDMKICAgIGNvbmNhdAogICAgdW5jb3ZlciAzCiAgICBjb25jYXQKICAgIHVuY292ZXIgMwogICAgY29uY2F0CiAgICB1bmNvdmVyIDMKICAgIGl0b2IKICAgIGNvbmNhdAogICAgdW5jb3ZlciAzCiAgICBjb25jYXQKICAgIHVuY292ZXIgMgogICAgY29uY2F0CiAgICB1bmNvdmVyIDEKICAgIGNvbmNhdAogICAgcmV0c3ViCgoKLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0NSh0eG46IHVpbnQ2NCkgLT4gdWludDY0Ogp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q1OgogICAgLy8gdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6ODAKICAgIC8vIHRlc3Q1KHR4bjogZ3R4bi5UcmFuc2FjdGlvbik6IHVpbnQ2NCB7CiAgICBwcm90byAxIDEKICAgIGIgdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0NV9ibG9ja0AwCgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q1X2Jsb2NrQDA6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo4MQogICAgLy8gaWYgKHR4bi50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuUGF5bWVudCkgewogICAgZnJhbWVfZGlnIC0xCiAgICBndHhucyBUeXBlRW51bQogICAgaW50Y18wIC8vIDEKICAgID09CiAgICBieiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q1X2Vsc2VfYm9keUAyCiAgICBiIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDVfaWZfYm9keUAxCgp0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q1X2lmX2JvZHlAMToKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjgyCiAgICAvLyByZXR1cm4gMQogICAgaW50Y18wIC8vIDEKICAgIHJldHN1YgoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0NV9lbHNlX2JvZHlAMjoKICAgIC8vIHRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjgzCiAgICAvLyB9IGVsc2UgaWYgKHR4bi50eXBlID09PSBUcmFuc2FjdGlvblR5cGUuQXNzZXRUcmFuc2ZlcikgewogICAgZnJhbWVfZGlnIC0xCiAgICBndHhucyBUeXBlRW51bQogICAgaW50Y18zIC8vIDQKICAgID09CiAgICBieiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q1X2FmdGVyX2lmX2Vsc2VANAogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q1X2lmX2JvZHlAMwoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0NV9pZl9ib2R5QDM6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo4NQogICAgLy8gcmV0dXJuIDAKICAgIGludGNfMSAvLyAwCiAgICByZXRzdWIKCnRlc3RzL2FwcHJvdmFscy9ndHhucy5hbGdvLnRzOjpHdHhuc0FsZ28udGVzdDVfYWZ0ZXJfaWZfZWxzZUA0OgogICAgYiB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLnRlc3Q1X2FmdGVyX2lmX2Vsc2VANQoKdGVzdHMvYXBwcm92YWxzL2d0eG5zLmFsZ28udHM6Okd0eG5zQWxnby50ZXN0NV9hZnRlcl9pZl9lbHNlQDU6CiAgICAvLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo4NwogICAgLy8gcmV0dXJuIDAKICAgIGludGNfMSAvLyAwCiAgICByZXRzdWIKCgovLyB0ZXN0cy9hcHByb3ZhbHMvZ3R4bnMuYWxnby50czo6R3R4bnNBbGdvLl9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZSgpIC0+IHZvaWQ6Cl9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZToKICAgIGIgX19hbGdvdHNfXy5kZWZhdWx0Q3JlYXRlX2Jsb2NrQDAKCl9fYWxnb3RzX18uZGVmYXVsdENyZWF0ZV9ibG9ja0AwOgogICAgcmV0c3ViCg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDExCiNwcmFnbWEgdHlwZXRyYWNrIGZhbHNlCgovLyBAYWxnb3JhbmRmb3VuZGF0aW9uL2FsZ29yYW5kLXR5cGVzY3JpcHQvYmFzZS1jb250cmFjdC5kLnRzOjpCYXNlQ29udHJhY3QuY2xlYXJTdGF0ZVByb2dyYW0oKSAtPiB1aW50NjQ6Cm1haW46CiAgICBiIG1haW5fYmxvY2tAMAoKbWFpbl9ibG9ja0AwOgogICAgcHVzaGludCAxCiAgICByZXR1cm4K" }, "byteCode": { "approval": "CyAEAQAGBCYEAATfkg83BBUffHULSGVsbG8gdGVzdDRCAABCAAAxGyMTQQB1QgAAMRkjEkQxGCMTQQBjQgAANhoAgASngADegATxkIUkKYAE7bT5c4AEE95qVIAEdFn7H08GjgYAKAAiABwAFgAQAApCAABCAABCAAAAiAB0Qv/ziABXQv/tiAA/Qv/niAAxQv/hiAAjQv/biAAVQv/VQv/VMRkjEjEYIxIQRIgCLiJDQgAAiABNIkNCAACIAFUiQ0IAAIgA9yJDQgAAMRYiCUk4ECQSRIgA9SJDQgAAMRYiCUk4ECISRIgBDypPAVCwIkNCAAAxFiIJiAG6FipPAVCwIkNCAAAjOBAiEkQjOAgjDUSJigAAKChCAAAyBCJEI0IAAIsDiwIMQQCRQgAAiwNJjAE4EEmMACQSQQAbQgAAQgAAiwE4GBawQgAAQgAAiwMiCIwDQv/LiwAlEkEAD0IAAEIAAIsBOBEWsEL/3osAgQMSQQAPQgAAQgAAiwE4IRawQv/HiwAiEkEADkIAAEIAAIsBOAewQv+yiwCBAhJBAA5CAABCAACLATgKsEL/nEIAAIsBOC0WsEL/kIlCAAAxGSMSRDEQJBJEK7CJigEAQgAAi/84GSMSRIv/OBAkEkSL/zg+KxJEi/8jwhopEkSL/zgYMggSRImKAQFCAACL/zgAi/84AU4Bi/84Ak4Ci/84A04Di/84BE4Ei/84BU4Fi/84Bk4Gi/84D04Hi/84Fk4Ii/84F04Ji/84IE4Ki/84B04Li/84CE4Mi/84CU4NKE8BUE8BFlBPARZQTwEWUE8BFlBLARUWVwYCTwJQgfQBFlcGAk8CTwFQSwEVgfQBCE4BTwNQTgFLAxUWVwYCTwRQTgIWVwYCUE8DFlBPA1BPA1BPA1BPAxZQTwNQTwJQTwFQiYoBAUIAAIv/OBAiEkEABUIAACKJi/84ECUSQQAFQgAAI4lCAAAjiUIAAIk=", "clear": "C0IAAIEBQw==" }, "compilerInfo": { "compiler": "puya", "compilerVersion": { "major": 5, "minor": 10, "patch": 0 } }, "events": [], "templateVariables": {} }